diff options
author | Richard Purdie <richard@openedhand.com> | 2005-11-16 16:17:28 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2005-11-16 16:17:28 +0000 |
commit | f0d9a3840ce349e606f5a6bfcf552c1adcaf2a46 (patch) | |
tree | ffe527195ab7e2074bab7f9adff844b723899ce3 /openembedded/packages/gdb | |
parent | d4f985f2bc606c6767f6c2e96c36c434f4d9fd0b (diff) | |
download | poky-f0d9a3840ce349e606f5a6bfcf552c1adcaf2a46.tar.gz |
gdb: remove arm mapping symbols
git-svn-id: https://svn.o-hand.com/repos/poky@181 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'openembedded/packages/gdb')
-rw-r--r-- | openembedded/packages/gdb/files/kill_arm_map_symbols.patch | 24 | ||||
-rw-r--r-- | openembedded/packages/gdb/gdb_6.3.bb | 1 |
2 files changed, 25 insertions, 0 deletions
diff --git a/openembedded/packages/gdb/files/kill_arm_map_symbols.patch b/openembedded/packages/gdb/files/kill_arm_map_symbols.patch new file mode 100644 index 0000000000..177142192d --- /dev/null +++ b/openembedded/packages/gdb/files/kill_arm_map_symbols.patch | |||
@@ -0,0 +1,24 @@ | |||
1 | Index: gdb-6.3/gdb/arm-tdep.c | ||
2 | =================================================================== | ||
3 | --- gdb-6.3.orig/gdb/arm-tdep.c 2004-08-03 02:02:20.000000000 +0000 | ||
4 | +++ gdb-6.3/gdb/arm-tdep.c 2005-11-09 15:13:29.000000000 +0000 | ||
5 | @@ -2491,6 +2491,19 @@ | ||
6 | static void | ||
7 | arm_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym) | ||
8 | { | ||
9 | + | ||
10 | + /* FIXME: We want gdb to ignore the ARM ELF mapping symbols when | ||
11 | + displaying disassembly so we use this horrible hack here to | ||
12 | + artifically set their address to the highest possible value. | ||
13 | + This is wrong of course, and it prevents the symbols from being | ||
14 | + used for their intended purpose - to distinguish between ARM | ||
15 | + and THUMB code. So we ought to find a better way to do this. */ | ||
16 | + if (bfd_asymbol_name (sym) | ||
17 | + && bfd_asymbol_name (sym)[0] == '$' | ||
18 | + && bfd_asymbol_name (sym)[1] != 0 | ||
19 | + && bfd_asymbol_name (sym)[2] == 0) | ||
20 | + SYMBOL_VALUE_ADDRESS(msym) = (CORE_ADDR) 0x7ffffffc; | ||
21 | + | ||
22 | /* Thumb symbols are of type STT_LOPROC, (synonymous with | ||
23 | STT_ARM_TFUNC). */ | ||
24 | if (ELF_ST_TYPE (((elf_symbol_type *)sym)->internal_elf_sym.st_info) | ||
diff --git a/openembedded/packages/gdb/gdb_6.3.bb b/openembedded/packages/gdb/gdb_6.3.bb index 98825500f6..3e755cee67 100644 --- a/openembedded/packages/gdb/gdb_6.3.bb +++ b/openembedded/packages/gdb/gdb_6.3.bb | |||
@@ -15,6 +15,7 @@ inherit autotools gettext | |||
15 | 15 | ||
16 | SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \ | 16 | SRC_URI = "${GNU_MIRROR}/gdb/gdb-${PV}.tar.gz \ |
17 | file://uclibc.patch;patch=1 \ | 17 | file://uclibc.patch;patch=1 \ |
18 | file://kill_arm_map_symbols.patch;patch=1 \ | ||
18 | file://gdbserver-cflags-last.diff;patch=1;pnum=0" | 19 | file://gdbserver-cflags-last.diff;patch=1;pnum=0" |
19 | 20 | ||
20 | LDFLAGS_append = " -s" | 21 | LDFLAGS_append = " -s" |