diff options
author | Doug Kwan <dougkwan@google.com> | 2009-12-17 00:00:26 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2009-12-17 00:00:26 +0000 |
commit | d6344fb5ba8bfe0219f91c52e296707dbcdb07e3 (patch) | |
tree | 2a6c65ec60d4c8c400166139e1dc436368182b1f /gold/arm.cc | |
parent | 21f8908e380ed50e16a153aae25ba9cffd6f28af (diff) | |
download | gdb-d6344fb5ba8bfe0219f91c52e296707dbcdb07e3.zip gdb-d6344fb5ba8bfe0219f91c52e296707dbcdb07e3.tar.gz gdb-d6344fb5ba8bfe0219f91c52e296707dbcdb07e3.tar.bz2 |
2009-12-16 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_relobj::scan_sections_for_stubs): Exclude ICF-eliminated
sections.
* object.cc (Sized_relobj::do_finalize_local_symbols): Handle
relaxed input sections.
* output.cc (Output_section::find_relaxed_input_section): Change
return type to Output_relaxed_input_section pointer. Adjust code
for new type of relaxed_input_section_map_.
* output.h (Output_section::find_relaxed_input_section): Change
return type to Output_relaxed_input_section pointer.
(Output_section::Output_relaxed_input_section_by_input_section_map):
New type.
(Output_section::relaxed_input_section_map_): Change type to
Output_section::Output_relaxed_input_section_by_input_section_map.
* symtab.cc (Symbol_table::compute_final_value): Handle relaxed
input section.
Diffstat (limited to 'gold/arm.cc')
-rw-r--r-- | gold/arm.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gold/arm.cc b/gold/arm.cc index 03cc697..b02afbe 100644 --- a/gold/arm.cc +++ b/gold/arm.cc @@ -3645,10 +3645,12 @@ Arm_relobj<big_endian>::scan_sections_for_stubs( } Output_section* os = out_sections[index]; - if (os == NULL) + if (os == NULL + || symtab->is_section_folded(this, index)) { // This relocation section is against a section which we - // discarded. + // discarded or if the section is folded into another + // section due to ICF. continue; } Arm_address output_offset = this->get_output_section_offset(index); |