gdb: remove arm mapping symbols

git-svn-id: https://svn.o-hand.com/repos/poky@181 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie 2005-11-16 16:17:28 +00:00
parent d4f985f2bc
commit f0d9a3840c
2 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,24 @@
Index: gdb-6.3/gdb/arm-tdep.c
===================================================================
--- gdb-6.3.orig/gdb/arm-tdep.c 2004-08-03 02:02:20.000000000 +0000
+++ gdb-6.3/gdb/arm-tdep.c 2005-11-09 15:13:29.000000000 +0000
@@ -2491,6 +2491,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;
+
/* Thumb symbols are of type STT_LOPROC, (synonymous with
STT_ARM_TFUNC). */
if (ELF_ST_TYPE (((elf_symbol_type *)sym)->internal_elf_sym.st_info)

View File

@ -15,6 +15,7 @@ inherit autotools gettext
SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \
file://uclibc.patch;patch=1 \
file://kill_arm_map_symbols.patch;patch=1 \
file://gdbserver-cflags-last.diff;patch=1;pnum=0"
LDFLAGS_append = " -s"