summaryrefslogtreecommitdiff
path: root/gcc/ada/vxaddr2line.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-04 13:20:09 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-04 13:20:09 +0000
commit719b8d3eb09c657ee5a0ad57666035954c8d164d (patch)
tree39361a5755bcb3bd0cba43f0fae7414de9b2893a /gcc/ada/vxaddr2line.adb
parentfd68eaab3678112594a8ad686aba36d941f28a2c (diff)
downloadgcc-719b8d3eb09c657ee5a0ad57666035954c8d164d.tar.gz
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* exp_ch7.adb (Build_Raise_Statement): Remove the specialized processing for .NET/JVM. These targets can now benefit from Raise_From_Controlled_Operation and they share the same processing with standard targets. (Establish_Transient_Scope): Remove the restriction for .NET/JVM. These targets need transient scopes in order to properly finalize short lived controlled objects. (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for NET/JVM. These targets can now benefit from Raise_From_Controlled_Operation and they share the same processing with standard targets. 2011-08-04 Geert Bosch <bosch@adacore.com> * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack 2011-08-04 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to Expand_Record_Aggregate, to determine whether aggregate must be expanded into assignments. This is the case if the ancestor part is private, regarless of the setting of the flag Has_Private_Ancestor. 2011-08-04 Ed Falis <falis@adacore.com> * vxaddr2line.adb: Add support for e500v2 and for Linux hosts 2011-08-04 Bob Duff <duff@adacore.com> * sinfo.ads: Fix comment. 2011-08-04 Steve Baird <baird@adacore.com> * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then choose a package name in much the same way as is done for JGNAT when VM_Target /= No_VM, except that a slightly more distinctive prefix string is used. 2011-08-04 Emmanuel Briot <briot@adacore.com> * makeutl.adb (Complete_Mains): no longer accept unit names on the gnatmake command line. This behavior was never documented (and was supported only because of an early bug in the code). This case might lead to ambiguous cases (between unit names and truncated base names without suffixes). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177379 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/vxaddr2line.adb')
-rw-r--r--gcc/ada/vxaddr2line.adb56
1 files changed, 43 insertions, 13 deletions
diff --git a/gcc/ada/vxaddr2line.adb b/gcc/ada/vxaddr2line.adb
index f1bb48a7428..028de5e5fbf 100644
--- a/gcc/ada/vxaddr2line.adb
+++ b/gcc/ada/vxaddr2line.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 2002-2009, AdaCore --
+-- Copyright (C) 2002-2011, AdaCore --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -83,12 +83,17 @@ procedure VxAddr2Line is
-- All supported architectures
type Architecture is
- (SOLARIS_I586,
- WINDOWS_POWERPC,
+ (DEC_ALPHA,
+ LINUX_E500V2,
+ LINUX_I586,
+ LINUX_POWERPC,
+ WINDOWS_E500V2,
WINDOWS_I586,
WINDOWS_M68K,
- SOLARIS_POWERPC,
- DEC_ALPHA);
+ WINDOWS_POWERPC,
+ SOLARIS_E500V2,
+ SOLARIS_I586,
+ SOLARIS_POWERPC);
type Arch_Record is record
Addr2line_Binary : String_Access;
@@ -114,17 +119,32 @@ procedure VxAddr2Line is
-- Configuration for each of the architectures
Arch_List : array (Architecture'Range) of Arch_Record :=
- (WINDOWS_POWERPC =>
+ (DEC_ALPHA =>
+ (Addr2line_Binary => null,
+ Nm_Binary => null,
+ Addr_Digits_To_Skip => 8,
+ Bt_Offset_From_Call => 0),
+ LINUX_E500V2 =>
(Addr2line_Binary => null,
Nm_Binary => null,
Addr_Digits_To_Skip => 0,
Bt_Offset_From_Call => -4),
- WINDOWS_M68K =>
+ LINUX_I586 =>
+ (Addr2line_Binary => null,
+ Nm_Binary => null,
+ Addr_Digits_To_Skip => 0,
+ Bt_Offset_From_Call => -2),
+ LINUX_POWERPC =>
(Addr2line_Binary => null,
Nm_Binary => null,
Addr_Digits_To_Skip => 0,
Bt_Offset_From_Call => -4),
- WINDOWS_I586 =>
+ SOLARIS_E500V2 =>
+ (Addr2line_Binary => null,
+ Nm_Binary => null,
+ Addr_Digits_To_Skip => 0,
+ Bt_Offset_From_Call => -4),
+ SOLARIS_I586 =>
(Addr2line_Binary => null,
Nm_Binary => null,
Addr_Digits_To_Skip => 0,
@@ -133,17 +153,27 @@ procedure VxAddr2Line is
(Addr2line_Binary => null,
Nm_Binary => null,
Addr_Digits_To_Skip => 0,
- Bt_Offset_From_Call => 0),
- SOLARIS_I586 =>
+ Bt_Offset_From_Call => -4),
+ WINDOWS_E500V2 =>
+ (Addr2line_Binary => null,
+ Nm_Binary => null,
+ Addr_Digits_To_Skip => 0,
+ Bt_Offset_From_Call => -4),
+ WINDOWS_I586 =>
(Addr2line_Binary => null,
Nm_Binary => null,
Addr_Digits_To_Skip => 0,
Bt_Offset_From_Call => -2),
- DEC_ALPHA =>
+ WINDOWS_M68K =>
(Addr2line_Binary => null,
Nm_Binary => null,
- Addr_Digits_To_Skip => 8,
- Bt_Offset_From_Call => 0)
+ Addr_Digits_To_Skip => 0,
+ Bt_Offset_From_Call => -4),
+ WINDOWS_POWERPC =>
+ (Addr2line_Binary => null,
+ Nm_Binary => null,
+ Addr_Digits_To_Skip => 0,
+ Bt_Offset_From_Call => -4)
);
-- Current architecture