aboutsummaryrefslogtreecommitdiff
path: root/gold/script-sections.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/script-sections.h')
-rw-r--r--gold/script-sections.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/gold/script-sections.h b/gold/script-sections.h
index c0d1d08..725d1a2 100644
--- a/gold/script-sections.h
+++ b/gold/script-sections.h
@@ -52,6 +52,20 @@ class Script_sections
typedef std::list<Sections_element*> Sections_elements;
public:
+
+ // Logical script section types. We map section types returned by the
+ // parser into these since some section types have the same semantics.
+ enum Section_type
+ {
+ // No section type specified.
+ ST_NONE,
+ // Section is NOLOAD. We allocate space in the output but section
+ // is not loaded in runtime.
+ ST_NOLOAD,
+ // No space is allocated to section.
+ ST_NOALLOC
+ };
+
Script_sections();
// Start a SECTIONS clause.
@@ -147,9 +161,13 @@ class Script_sections
// 3) If the input section is not mapped by the SECTIONS clause,
// this returns SECTION_NAME, and sets *OUTPUT_SECTION_SLOT to
// NULL.
+ // PSCRIPT_SECTION_TYPE points to a location for returning the section
+ // type specified in script. This can be SCRIPT_SECTION_TYPE_NONE if
+ // no type is specified.
const char*
output_section_name(const char* file_name, const char* section_name,
- Output_section*** output_section_slot);
+ Output_section*** output_section_slot,
+ Section_type* pscript_section_type);
// Place a marker for an orphan output section into the SECTIONS
// clause.