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.
This commit is contained in:
parent
3b83e13a45
commit
10dbd1f36f
@ -7,6 +7,11 @@
|
||||
|
||||
2005-05-17 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* 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.
|
||||
|
||||
* elf32-v850.c (v850_elf_relocate_section): Move code to test for
|
||||
the presence of a symbol table to just before the symbol table is
|
||||
actually used.
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,8 @@
|
||||
2005-05-17 Julian Brown <julian@codesourcery.com>
|
||||
|
||||
* ldlang.c (print_assignment): Do not rely upon a valid result
|
||||
having a section associated with it.
|
||||
|
||||
2005-05-17 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* ldlang.c (Scan_for_self_assignment): Check an assignment tree to
|
||||
|
10
ld/ldlang.c
10
ld/ldlang.c
@ -3219,7 +3219,10 @@ print_assignment (lang_assignment_statement_type *assignment,
|
||||
|
||||
if (computation_is_valid)
|
||||
{
|
||||
value = result.value + result.section->bfd_section->vma;
|
||||
value = result.value;
|
||||
|
||||
if (result.section)
|
||||
value += result.section->bfd_section->vma;
|
||||
|
||||
minfo ("0x%V", value);
|
||||
if (is_dot)
|
||||
@ -3233,7 +3236,10 @@ print_assignment (lang_assignment_statement_type *assignment,
|
||||
FALSE, FALSE, TRUE);
|
||||
if (h)
|
||||
{
|
||||
value = h->u.def.value + result.section->bfd_section->vma;
|
||||
value = h->u.def.value;
|
||||
|
||||
if (result.section)
|
||||
value += result.section->bfd_section->vma;
|
||||
|
||||
minfo ("[0x%V]", value);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user