Skip to content

Commit 2fb7225

Browse files
committed
2010-01-08 Doug Kwan <[email protected]>
* arm.cc (Stub_table::Stub_table): Initalize cortex_a8_stubs_, prev_data_size_ and prev_addralign_. Remove initializer for deleted data member has_been_changed_. (Stub_table::empty): Look at both reloc_stubs_ and cortex_a8_stubs_ to determine if the table is empty. (Stub_table::has_been_changed, Stub_table_set_has_been_changed): Remove. (Stub_table::add_reloc_stub): Define method in class definition instead of just declaring it there. (Stub_table::add_cortex_a8_stub): New method definition. (Stub_table::update_data_size_and_addralign): Ditto. (Stub_table::finalize_stubs): Ditto. (Stub_table::apply_cortex_a8_workaround_to_address_range): Ditto. (Stub_table::do_addralign_): Return address alignment in the (Stub_table::do_reset_address_and_file_offset): Define method in class definition instead of declaring it there. Set current data size to be the data size of the previous pass. (Stub_table::set_final_data_size): Use current data size as the final data size. (Stub_table::relocate_stub): Change parameter type of stub from Reloc_stub pointer to Stub pointer. (Stub_table::addralign_, Stub_table::has_been_changed_): Remove. (Stub_table::Cortex_a8_stub_list): New typedef. (Stub_table::cortex_a8_stubs_, Stub_table::prev_data_size_, Stub_table::prev_addralign_): New data member. (Arm_relobj::Arm_relobj): Initialize data member section_has_cortex_a8_workaround_. (Arm_relobj::section_has_cortex_a8_workaround, Arm_relobj::mark_section_for_cortex_a8_workaround): New method definitions. (Arm_relobj::section_has_cortex_a8_workaround_): New data member declarations. (Target_arm::relocate_stub): Change parameter type of stub from Reloc_stub pointer to Stub pointer. (Insn_template::size, Insn_template::alignment): Handle THUMB16_SPECIAL_TYPE. (Stub_table::remove_all_cortex_a8_stubs, Stub_table::finalize_stubs, Stub_table::update_data_size_and_addralign, Stub_table::apply_cortex_a8_workaround_to_address_range): New method definitions. (Stub_table::relocate_stubs): Handle Cortex-A8 stubs. (Stub_table::do_write): Ditto. (Target_arm::do_relax): Adjust code for changes in Stub_table.
1 parent 37aeb5d commit 2fb7225

File tree

2 files changed

+326
-84
lines changed

2 files changed

+326
-84
lines changed

gold/ChangeLog

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,49 @@
1+
2010-01-08 Doug Kwan <[email protected]>
2+
3+
* arm.cc (Stub_table::Stub_table): Initalize cortex_a8_stubs_,
4+
prev_data_size_ and prev_addralign_. Remove initializer for
5+
deleted data member has_been_changed_.
6+
(Stub_table::empty): Look at both reloc_stubs_ and cortex_a8_stubs_
7+
to determine if the table is empty.
8+
(Stub_table::has_been_changed, Stub_table_set_has_been_changed):
9+
Remove.
10+
(Stub_table::add_reloc_stub): Define method in class definition
11+
instead of just declaring it there.
12+
(Stub_table::add_cortex_a8_stub): New method definition.
13+
(Stub_table::update_data_size_and_addralign): Ditto.
14+
(Stub_table::finalize_stubs): Ditto.
15+
(Stub_table::apply_cortex_a8_workaround_to_address_range): Ditto.
16+
(Stub_table::do_addralign_): Return address alignment in the
17+
(Stub_table::do_reset_address_and_file_offset): Define method in
18+
class definition instead of declaring it there. Set current data
19+
size to be the data size of the previous pass.
20+
(Stub_table::set_final_data_size): Use current data size as the
21+
final data size.
22+
(Stub_table::relocate_stub): Change parameter type of stub from
23+
Reloc_stub pointer to Stub pointer.
24+
(Stub_table::addralign_, Stub_table::has_been_changed_): Remove.
25+
(Stub_table::Cortex_a8_stub_list): New typedef.
26+
(Stub_table::cortex_a8_stubs_, Stub_table::prev_data_size_,
27+
Stub_table::prev_addralign_): New data member.
28+
(Arm_relobj::Arm_relobj): Initialize data member
29+
section_has_cortex_a8_workaround_.
30+
(Arm_relobj::section_has_cortex_a8_workaround,
31+
Arm_relobj::mark_section_for_cortex_a8_workaround): New method
32+
definitions.
33+
(Arm_relobj::section_has_cortex_a8_workaround_): New data member
34+
declarations.
35+
(Target_arm::relocate_stub): Change parameter type of stub from
36+
Reloc_stub pointer to Stub pointer.
37+
(Insn_template::size, Insn_template::alignment): Handle
38+
THUMB16_SPECIAL_TYPE.
39+
(Stub_table::remove_all_cortex_a8_stubs, Stub_table::finalize_stubs,
40+
Stub_table::update_data_size_and_addralign,
41+
Stub_table::apply_cortex_a8_workaround_to_address_range): New method
42+
definitions.
43+
(Stub_table::relocate_stubs): Handle Cortex-A8 stubs.
44+
(Stub_table::do_write): Ditto.
45+
(Target_arm::do_relax): Adjust code for changes in Stub_table.
46+
147
2010-01-08 Ian Lance Taylor <[email protected]>
248

349
PR 11108

0 commit comments

Comments
 (0)