diff options
author | Cary Coutant <ccoutant@gmail.com> | 2016-12-19 16:37:48 -0800 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2016-12-19 17:22:10 -0800 |
commit | 412ffd830b94a860e81e8515140ba5ebc5aa82be (patch) | |
tree | 0bb7f768ff3401fa8e532e1fb70c7277629e3ab8 /gold/script-sections.h | |
parent | ec5882fbd19a80299e7ae738fca016ef27830ad4 (diff) | |
download | gdb-412ffd830b94a860e81e8515140ba5ebc5aa82be.zip gdb-412ffd830b94a860e81e8515140ba5ebc5aa82be.tar.gz gdb-412ffd830b94a860e81e8515140ba5ebc5aa82be.tar.bz2 |
Fix problem where linker does not place .note sections according to script.
gold/
PR gold/14676
PR gold/20983
* layout.h (Layout::choose_output_section): Add match_input_spec
parameter. Adjust all callers.
* layout.cc (Layout::choose_output_section): Likewise. Pass
match_input_spec to Script_sections::output_section_name().
(Layout::create_note): Pass true for match_input_spec.
* script-sections.h (Script_sections::output_section_name): Add
match_input_spec parameter.
* script-sections.cc (Sections_element::output_section_name): Likewise.
(Output_section_definition::output_section_name): Likewise.
(Script_sections::output_section_name): Likewise.
Diffstat (limited to 'gold/script-sections.h')
-rw-r--r-- | gold/script-sections.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gold/script-sections.h b/gold/script-sections.h index 6e108fa..22bc84f 100644 --- a/gold/script-sections.h +++ b/gold/script-sections.h @@ -164,11 +164,14 @@ class Script_sections // type specified in script. This can be SCRIPT_SECTION_TYPE_NONE if // no type is specified. // *KEEP indicates whether the section should survive garbage collection. + // MATCH_INPUT_SPEC indicates whether the section should be matched + // with input section specs or simply against the output section name + // (i.e., for linker-created sections like .dynamic). const char* output_section_name(const char* file_name, const char* section_name, Output_section*** output_section_slot, Section_type* pscript_section_type, - bool* keep); + bool* keep, bool match_input_spec); // Place a marker for an orphan output section into the SECTIONS // clause. |