From 9ec34127815c8cad24e14378dc1b83159713647c Mon Sep 17 00:00:00 2001 From: Julian Brown Date: Wed, 18 May 2005 14:02:44 +0000 Subject: [PATCH] * 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. --- bfd/ChangeLog | 7 +++++++ bfd/elf32-arm.c | 5 ++++- ld/ChangeLog | 5 +++++ 3 files changed, 16 insertions(+), 1 deletion(-) 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 + + * 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 * 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 diff --git a/ld/ChangeLog b/ld/ChangeLog index f9c2e632ea1..8bc480bdd5d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2005-05-18 Julian Brown + + * ldlang.c (print_assignment): Do not rely upon a valid result + having a section associated with it. + 2005-05-18 Julian Brown Backport from mainline: -- 2.47.2