summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2005-05-18 14:02:44 +0000
committerJulian Brown <julian@codesourcery.com>2005-05-18 14:02:44 +0000
commita76cd338d1c6012785a31c412fcbc536afef972a (patch)
treefa2387a49f0c5755aa21a6d5bd02a91af0e1cb62
parent5fc542bd5b2a9b8986777e9dd2551884dc44e403 (diff)
downloadgdb-a76cd338d1c6012785a31c412fcbc536afef972a.tar.gz
* elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle
the situation where a symbol's section is not known but a section relative R_ARM_RELATIVE reloc has to be generated for the Symbian OS.
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-arm.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9efe3cf1a9e..20ce736b52a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,10 @@
+2005-05-18 Nick Clifton <nickc@redhat.com>
+
+ * elf32-arm.c (elf32_arm_final_link_relocate): Gracefully handle
+ the situation where a symbol's section is not known but a section
+ relative R_ARM_RELATIVE reloc has to be generated for the Symbian
+ OS.
+
2005-03-30 Julian Brown <julian@codesourcery.com>
* bfd-in.h (bfd_is_arm_mapping_symbol_name): Add prototype.
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index ddc735d5aff..14f752d2d37 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -3007,7 +3007,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