aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-05-17 14:39:18 +0000
committerNick Clifton <nickc@redhat.com>2005-05-17 14:39:18 +0000
commit10dbd1f36ff09930711bb15c30a5554439a07a40 (patch)
tree4c5b72e9d9362d222236afa71eb76760defe57ff /bfd/elf32-arm.c
parent3b83e13a450c5ecc419369bf0e413a895cb52608 (diff)
downloadgdb-10dbd1f36ff09930711bb15c30a5554439a07a40.zip
gdb-10dbd1f36ff09930711bb15c30a5554439a07a40.tar.gz
gdb-10dbd1f36ff09930711bb15c30a5554439a07a40.tar.bz2
ldlang.c (print_assignment): Do not rely upon a valid result having a section
associated with it. elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle the situation where a symbols's section is not known but a section relative R_ARM_RELATIVE reloc has to be generated for the Symbian OS.
Diffstat (limited to 'bfd/elf32-arm.c')
-rw-r--r--bfd/elf32-arm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 2e5ca4c..73554cf 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2692,7 +2692,10 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
the section symbol as it is convenient. (We
cannot use the symbol given by "h" directly as it
will not appear in the dynamic symbol table.) */
- symbol = elf_section_data (sym_sec->output_section)->dynindx;
+ if (sym_sec)
+ symbol = elf_section_data (sym_sec->output_section)->dynindx;
+ else
+ symbol = elf_section_data (input_section->output_section)->dynindx;
BFD_ASSERT (symbol != 0);
}
else