diff options
author | Sriraman Tallam <tmsriram@google.com> | 2010-06-01 23:37:58 +0000 |
---|---|---|
committer | Sriraman Tallam <tmsriram@google.com> | 2010-06-01 23:37:58 +0000 |
commit | 6e9ba2ca9c85e1d04123b87af1d57d57a5e6e82a (patch) | |
tree | 8b4563c393ebbff8629de584992234b3c6ff6e67 /gold/main.cc | |
parent | ae4d0c03d93ab5c671f7cb68c736ae2f28f3ec0b (diff) | |
download | gdb-6e9ba2ca9c85e1d04123b87af1d57d57a5e6e82a.zip gdb-6e9ba2ca9c85e1d04123b87af1d57d57a5e6e82a.tar.gz gdb-6e9ba2ca9c85e1d04123b87af1d57d57a5e6e82a.tar.bz2 |
* gold.h (is_wildcard_string): New function.
* layout.cc (Layout::layout): Pass this pointer to add_input_section.
(Layout::layout_eh_frame): Ditto.
(Layout::find_section_order_index): New method.
(Layout::read_layout_from_file): New method.
* layout.h (Layout::find_section_order_index): New method.
(Layout::read_layout_from_file): New method.
(Layout::input_section_position_): New private member.
(Layout::input_section_glob_): New private member.
* main.cc (main): Call read_layout_from_file here.
* options.h (--section-ordering-file): New option.
* output.cc (Output_section::input_section_order_specified_): New
member.
(Output_section::Output_section): Initialize new member.
(Output_section::add_input_section): Add new parameter.
Keep input sections when --section-ordering-file is used.
(Output_section::set_final_data_size): Sort input sections when
section ordering file is specified.
(Output_section::Input_section_sort_entry): Add new parameter.
Check sorting type.
(Output_section::Input_section_sort_entry::compare_section_ordering):
New method.
(Output_section::Input_section_sort_compare::operator()): Change to
consider section_order_index.
(Output_section::Input_section_sort_init_fini_compare::operator()):
Change to consider section_order_index.
(Output_section::Input_section_sort_section_order_index_compare
::operator()): New method.
(Output_section::sort_attached_input_sections): Change to sort
according to section order when specified.
(Output_section::add_input_section<32, true>): Add new parameter.
(Output_section::add_input_section<64, true>): Add new parameter.
(Output_section::add_input_section<32, false>): Add new parameter.
(Output_section::add_input_section<64, false>): Add new parameter.
* output.h (Output_section::add_input_section): Add new parameter.
(Output_section::input_section_order_specified): New
method.
(Output_section::set_input_section_order_specified): New method.
(Input_section::Input_section): Initialize section_order_index_.
(Input_section::section_order_index): New method.
(Input_section::set_section_order_index): New method.
(Input_section::section_order_index_): New member.
(Input_section::Input_section_sort_section_order_index_compare): New
struct.
(Output_section::input_section_order_specified_): New member.
* script-sections.cc (is_wildcard_string): Delete and move modified
method to gold.h.
(Output_section_element_input::Output_section_element_input): Modify
call to is_wildcard_string.
(Output_section_element_input::Input_section_pattern
::Input_section_pattern): Ditto.
(Output_section_element_input::Output_section_element_input): Ditto.
* testsuite/Makefile.am (final_layout): New test case.
* testsuite/Makefile.in: Regenerate.
* testsuite/final_layout.cc: New file.
* testsuite/final_layout.sh: New file.
Diffstat (limited to 'gold/main.cc')
-rw-r--r-- | gold/main.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gold/main.cc b/gold/main.cc index e3df9c0..631f1ac 100644 --- a/gold/main.cc +++ b/gold/main.cc @@ -234,6 +234,9 @@ main(int argc, char** argv) layout.incremental_inputs()->report_inputs(command_line.inputs()); } + if (parameters->options().section_ordering_file()) + layout.read_layout_from_file(); + // Get the search path from the -L options. Dirsearch search_path; search_path.initialize(&workqueue, &command_line.options().library_path()); |