https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117538

--- Comment #5 from simon at pushface dot org ---
In gcc/ada/Makefile.rtl, TRASYM_DWARF_*_PAIRS (* = UNIX or MINGW), which
includes
  s-trasym.adb<libgnat/s-trasym__dwarf.adb \
may be used to create LIBGNAT_TARGET_PAIRS.

For targets where this translation isn't made, the proposed change to
s-trasym.adb 
would be applicable, and would be effective if they're capable of PIE (that
does 
assume that '__gnat_get_executable_load_address' is available, even if it
always 
returns 0 in e.g. VxWorks systems).

These lists aren't guaranteed to be 100% correct:

Used in
sparc-solaris
x86-solaris
x86-linux
x86-kfreebsd
x86_64-freebsd
ibm-aix
cygming
loongarch-linux
powerpc-linux
arm-linux-gnueabi
aarch64-linux
ia64-linux
ia64-hpux
x86_64-linux
x32-linux

Not used in
powerpc-vxworks
x86-vxworks7
arm-vxworks7
ARM & AARCH64 linux-android?
arm-qnx
x86-gnuhurd
x86_64-kfreebsd
aarch64-freebsd
x86_64-dragonfly
s390-linux
hppa-hpux11
lynx178
rtems
djgpp
mips-linux
sparc-linux
hppa-linux
m68k-linux
sh4-linux
alpha-linux
riscv-linux
darwin               <<<<<

so I think that all of the "Not used in" targets would benefit from this 
change - at any rate the linux ones.

It would be interesting to see whether s-trasym__dwarf.adb could be made 
to work for Darwin. I think Ada.Exceptions.Exception_Information uses its 
own version of s-trasym, and of course the output from that is what most 
users are going to see.

Reply via email to