From c527fd1f14c27855a37f2e8ac5346ce8d940ced2 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Thu, 16 Oct 2014 03:05:19 +0200 Subject: initial commit for Enea Linux 4.0-140929 Migrated from the internal git server on the daisy-enea-point-release branch Signed-off-by: Tudor Florea --- .../gdb/gdb/kill_arm_map_symbols.patch | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch (limited to 'meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch') diff --git a/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch b/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch new file mode 100644 index 0000000000..9fc45b9f2a --- /dev/null +++ b/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch @@ -0,0 +1,26 @@ +Upstream-Status: Inappropriate [embedded specific] + +Index: gdb-7.3/gdb/arm-tdep.c +=================================================================== +--- gdb-7.3.orig/gdb/arm-tdep.c 2011-05-17 14:27:01.000000000 -0700 ++++ gdb-7.3/gdb/arm-tdep.c 2011-08-05 22:29:58.784201850 -0700 +@@ -7806,6 +7806,19 @@ + static void + arm_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym) + { ++ ++ /* FIXME: We want gdb to ignore the ARM ELF mapping symbols when ++ displaying disassembly so we use this horrible hack here to ++ artifically set their address to the highest possible value. ++ This is wrong of course, and it prevents the symbols from being ++ used for their intended purpose - to distinguish between ARM ++ and THUMB code. So we ought to find a better way to do this. */ ++ if (bfd_asymbol_name (sym) ++ && bfd_asymbol_name (sym)[0] == '$' ++ && bfd_asymbol_name (sym)[1] != 0 ++ && bfd_asymbol_name (sym)[2] == 0) ++ SYMBOL_VALUE_ADDRESS(msym) = (CORE_ADDR) 0x7ffffffc; ++ + if (ARM_SYM_BRANCH_TYPE (&((elf_symbol_type *)sym)->internal_elf_sym) + == ST_BRANCH_TO_THUMB) + MSYMBOL_SET_SPECIAL (msym); -- cgit v1.2.3-54-g00ecf