diff options
Diffstat (limited to 'meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch')
-rw-r--r-- | meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch b/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch index c1756f7e24..9fc45b9f2a 100644 --- a/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch +++ b/meta/recipes-devtools/gdb/gdb/kill_arm_map_symbols.patch | |||
@@ -1,26 +1,26 @@ | |||
1 | Upstream-Status: Inappropriate [embedded specific] | 1 | Upstream-Status: Inappropriate [embedded specific] |
2 | 2 | ||
3 | Index: gdb-6.3/gdb/arm-tdep.c | 3 | Index: gdb-7.3/gdb/arm-tdep.c |
4 | =================================================================== | 4 | =================================================================== |
5 | --- gdb-6.3.orig/gdb/arm-tdep.c 2004-08-03 02:02:20.000000000 +0000 | 5 | --- gdb-7.3.orig/gdb/arm-tdep.c 2011-05-17 14:27:01.000000000 -0700 |
6 | +++ gdb-6.3/gdb/arm-tdep.c 2005-11-09 15:13:29.000000000 +0000 | 6 | +++ gdb-7.3/gdb/arm-tdep.c 2011-08-05 22:29:58.784201850 -0700 |
7 | @@ -2491,6 +2491,19 @@ | 7 | @@ -7806,6 +7806,19 @@ |
8 | static void | 8 | static void |
9 | arm_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym) | 9 | arm_elf_make_msymbol_special(asymbol *sym, struct minimal_symbol *msym) |
10 | { | 10 | { |
11 | + | 11 | + |
12 | + /* FIXME: We want gdb to ignore the ARM ELF mapping symbols when | 12 | + /* FIXME: We want gdb to ignore the ARM ELF mapping symbols when |
13 | + displaying disassembly so we use this horrible hack here to | 13 | + displaying disassembly so we use this horrible hack here to |
14 | + artifically set their address to the highest possible value. | 14 | + artifically set their address to the highest possible value. |
15 | + This is wrong of course, and it prevents the symbols from being | 15 | + This is wrong of course, and it prevents the symbols from being |
16 | + used for their intended purpose - to distinguish between ARM | 16 | + used for their intended purpose - to distinguish between ARM |
17 | + and THUMB code. So we ought to find a better way to do this. */ | 17 | + and THUMB code. So we ought to find a better way to do this. */ |
18 | + if (bfd_asymbol_name (sym) | 18 | + if (bfd_asymbol_name (sym) |
19 | + && bfd_asymbol_name (sym)[0] == '$' | 19 | + && bfd_asymbol_name (sym)[0] == '$' |
20 | + && bfd_asymbol_name (sym)[1] != 0 | 20 | + && bfd_asymbol_name (sym)[1] != 0 |
21 | + && bfd_asymbol_name (sym)[2] == 0) | 21 | + && bfd_asymbol_name (sym)[2] == 0) |
22 | + SYMBOL_VALUE_ADDRESS(msym) = (CORE_ADDR) 0x7ffffffc; | 22 | + SYMBOL_VALUE_ADDRESS(msym) = (CORE_ADDR) 0x7ffffffc; |
23 | + | 23 | + |
24 | /* Thumb symbols are of type STT_LOPROC, (synonymous with | 24 | if (ARM_SYM_BRANCH_TYPE (&((elf_symbol_type *)sym)->internal_elf_sym) |
25 | STT_ARM_TFUNC). */ | 25 | == ST_BRANCH_TO_THUMB) |
26 | if (ELF_ST_TYPE (((elf_symbol_type *)sym)->internal_elf_sym.st_info) | 26 | MSYMBOL_SET_SPECIAL (msym); |