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.