aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDoug Rupp <rupp@adacore.com>2020-11-30 11:09:58 -0800
committerPierre-Marie de Rodat <derodat@adacore.com>2020-12-16 08:01:04 -0500
commitaa44eaca60245cda7913543e3a7848800b79b955 (patch)
tree4a7bb737642a1ebfd58b7586b1cc62465a43954c /gcc
parent29cd42e01912a748bac0b483462e4373c0207870 (diff)
downloadgcc-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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/Makefile.rtl2
-rw-r--r--gcc/ada/libgnat/s-objrea.adb4
-rw-r--r--gcc/ada/libgnat/s-objrea.ads5
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 --
------------------