diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-11-04 15:56:03 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-11-04 15:56:03 +0000 |
commit | f5c870d25d59bc1e6fcb6a836b6bd1981788982c (patch) | |
tree | 5f0302e3a7df3fabd48233a453fdeca714c8116d /gold/layout.h | |
parent | c7cbc7a8c26acd91b498167e3a2b8625d5eaa109 (diff) | |
download | gdb-f5c870d25d59bc1e6fcb6a836b6bd1981788982c.zip gdb-f5c870d25d59bc1e6fcb6a836b6bd1981788982c.tar.gz gdb-f5c870d25d59bc1e6fcb6a836b6bd1981788982c.tar.bz2 |
* layout.cc (Layout::get_output_section): Add is_interp and
is_dynamic_linker_section parameters. Change all callers.
(Layout::choose_output_section): Likewise.
(Layout::make_output_section): Likewise.
(Layout::add_output_section_data): Add is_dynamic_linker_section
parameter. Change all callers.
* layout.h (class Layout): Update declarations.
* output.h (class Output_section): Add is_interp, set_is_interp,
is_dynamic_linker_section, set_is_dynamic_linker_section methods.
Add is_interp_, is_dynamic_linker_section_ fields. Change
generate_code_fills_at_write_ to a bitfield.
* output.cc (Output_section::Output_sections): Initialize new
fields.
(Output_segment::add_output_section): Add do_sort parameter.
Change all callers.
Diffstat (limited to 'gold/layout.h')
-rw-r--r-- | gold/layout.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gold/layout.h b/gold/layout.h index 675c658..71afa96 100644 --- a/gold/layout.h +++ b/gold/layout.h @@ -360,11 +360,13 @@ class Layout layout_gnu_stack(bool seen_gnu_stack, uint64_t gnu_stack_flags); // Add an Output_section_data to the layout. This is used for - // special sections like the GOT section. + // special sections like the GOT section. IS_DYNAMIC_LINKER_SECTION + // is true for sections which are used by the dynamic linker, such + // as dynamic reloc sections. Output_section* add_output_section_data(const char* name, elfcpp::Elf_Word type, elfcpp::Elf_Xword flags, - Output_section_data*); + Output_section_data*, bool is_dynamic_linker_section); // Create dynamic sections if necessary. void @@ -745,18 +747,21 @@ class Layout // Return the output section for NAME, TYPE and FLAGS. Output_section* get_output_section(const char* name, Stringpool::Key name_key, - elfcpp::Elf_Word type, elfcpp::Elf_Xword flags); + elfcpp::Elf_Word type, elfcpp::Elf_Xword flags, + bool is_interp, bool is_dynamic_linker_section); // Choose the output section for NAME in RELOBJ. Output_section* choose_output_section(const Relobj* relobj, const char* name, elfcpp::Elf_Word type, elfcpp::Elf_Xword flags, - bool is_input_section); + bool is_input_section, bool is_interp, + bool is_dynamic_linker_section); // Create a new Output_section. Output_section* make_output_section(const char* name, elfcpp::Elf_Word type, - elfcpp::Elf_Xword flags); + elfcpp::Elf_Xword flags, bool is_interp, + bool is_dynamic_linker_section); // Attach a section to a segment. void |