]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gold/script-sections.h
2010-04-09 Doug Kwan <dougkwan@google.com>
[thirdparty/binutils-gdb.git] / gold / script-sections.h
index c0d1d081c24e21c63574c4a3c9db693a78f6d7a8..725d1a2ecca753409b4b1a2ec38599fa5f3156f4 100644 (file)
@@ -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.