27 lines
1.1 KiB
Diff
27 lines
1.1 KiB
Diff
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);
|