diff options
author | Doug Rupp <rupp@adacore.com> | 2020-11-30 11:09:58 -0800 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-12-16 08:01:04 -0500 |
commit | aa44eaca60245cda7913543e3a7848800b79b955 (patch) | |
tree | 4a7bb737642a1ebfd58b7586b1cc62465a43954c | |
parent | 29cd42e01912a748bac0b483462e4373c0207870 (diff) | |
download | gcc-aa44eaca60245cda7913543e3a7848800b79b955.zip gcc-aa44eaca60245cda7913543e3a7848800b79b955.tar.gz gcc-aa44eaca60245cda7913543e3a7848800b79b955.tar.bz2 |
[Ada] armhf-linux: symbolic tracebacks
gcc/ada/
* libgnat/s-objrea.ads (Object_Arch): Add ARM enum
* libgnat/s-objrea.adb (Initialize): Add EM_ARM case.
(Read_Address): Add ARM case to 32bit read.
* Makefile.rtl: Add trasym units to the runtime for armhf-linux.
-rw-r--r-- | gcc/ada/Makefile.rtl | 2 | ||||
-rw-r--r-- | gcc/ada/libgnat/s-objrea.adb | 4 | ||||
-rw-r--r-- | gcc/ada/libgnat/s-objrea.ads | 5 |
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ada/Makefile.rtl b/gcc/ada/Makefile.rtl index 8c99258..22336e1 100644 --- a/gcc/ada/Makefile.rtl +++ b/gcc/ada/Makefile.rtl @@ -2381,12 +2381,14 @@ ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),) s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ + $(TRASYM_DWARF_UNIX_PAIRS) \ $(ATOMICS_TARGET_PAIRS) \ $(ATOMICS_BUILTINS_TARGET_PAIRS) \ system.ads<libgnat/system-linux-arm.ads TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb + EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) EXTRA_GNATRTL_TASKING_OBJS=s-linux.o EH_MECHANISM=-arm THREADSLIB = -lpthread diff --git a/gcc/ada/libgnat/s-objrea.adb b/gcc/ada/libgnat/s-objrea.adb index d64e285..0cfa522 100644 --- a/gcc/ada/libgnat/s-objrea.adb +++ b/gcc/ada/libgnat/s-objrea.adb @@ -645,6 +645,9 @@ package body System.Object_Reader is when EM_X86_64 => Res.Arch := x86_64; + when EM_ARM => + Res.Arch := ARM; + when others => raise Format_Error with "unrecognized architecture"; end case; @@ -2030,6 +2033,7 @@ package body System.Object_Reader is | MIPS | PPC | SPARC + | ARM => Address_32 := Read (S); return uint64 (Address_32); diff --git a/gcc/ada/libgnat/s-objrea.ads b/gcc/ada/libgnat/s-objrea.ads index bd4fbd5..b3cfe13 100644 --- a/gcc/ada/libgnat/s-objrea.ads +++ b/gcc/ada/libgnat/s-objrea.ads @@ -117,9 +117,12 @@ package System.Object_Reader is PPC, -- 32-bit PowerPC - PPC64); + PPC64, -- 64-bit PowerPC + ARM); + -- 32-bit ARM + ------------------ -- Target types -- ------------------ |