Fix spelling in comments in C source files (gas)
[deliverable/binutils-gdb.git] / gold / script-sections.h
index 1a0b760793b2d41df0a0313e62844fc01530787f..30fd96d7af2f0a224cbc05050dc4c2af9d8df675 100644 (file)
@@ -1,6 +1,6 @@
 // script-sections.h -- linker script SECTIONS for gold   -*- C++ -*-
 
-// Copyright 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008-2016 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -47,13 +47,11 @@ class Orphan_section_placement;
 
 class Script_sections
 {
- private:
+ public:
   // This is a list, not a vector, because we insert orphan sections
   // in the middle.
   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
@@ -165,10 +163,12 @@ class Script_sections
   // 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.
+  // *KEEP indicates whether the section should survive garbage collection.
   const char*
   output_section_name(const char* file_name, const char* section_name,
                      Output_section*** output_section_slot,
-                     Section_type* pscript_section_type);
+                     Section_type* pscript_section_type,
+                     bool* keep);
 
   // Place a marker for an orphan output section into the SECTIONS
   // clause.
@@ -234,10 +234,20 @@ class Script_sections
   Expression*
   find_memory_region_length(const char*, size_t);
 
-  // Find a memory region.
+  // Find a memory region by name.
   Memory_region*
   find_memory_region(const char*, size_t);
 
+  // Find a memory region that should be used by a given output section.
+  Memory_region*
+  find_memory_region(Output_section_definition*, bool, bool,
+                    Output_section_definition**);
+
+  // Returns true if the provide block of memory is contained
+  // within a memory region.
+  bool
+  block_in_region(Symbol_table*, Layout*, uint64_t, uint64_t) const;
+    
   // Set the memory region of the section.
   void
   set_memory_region(Memory_region*, bool);
@@ -309,6 +319,8 @@ class Script_sections
   bool saw_relro_end_;
   // Whether we have seen SEGMENT_START.
   bool saw_segment_start_expression_;
+  // Whether we have created all necessary segments.
+  bool segments_created_;
 };
 
 // Attributes for memory regions.
This page took 0.023649 seconds and 4 git commands to generate.