Revert bfd part of "Silence gcc-8 warnings"
[deliverable/binutils-gdb.git] / gold / layout.h
index 1afb9a8ea02a276d8a360bbb23dd982493b4bf0a..806f6e53b01ac28650e6bdddb5b5d371e21873d8 100644 (file)
@@ -1,6 +1,6 @@
 // layout.h -- lay out output file sections for gold  -*- C++ -*-
 
-// Copyright (C) 2006-2016 Free Software Foundation, Inc.
+// Copyright (C) 2006-2018 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -422,9 +422,21 @@ enum Output_section_order
   // The PLT.
   ORDER_PLT,
 
+  // The hot text sections, prefixed by .text.hot.
+  ORDER_TEXT_HOT,
+
   // The regular text sections.
   ORDER_TEXT,
 
+  // The startup text sections, prefixed by .text.startup.
+  ORDER_TEXT_STARTUP,
+
+  // The startup text sections, prefixed by .text.startup.
+  ORDER_TEXT_EXIT,
+
+  // The unlikely text sections, prefixed by .text.unlikely.
+  ORDER_TEXT_UNLIKELY,
+
   // The .fini section.
   ORDER_FINI,
 
@@ -525,7 +537,8 @@ class Layout
   Output_section*
   layout(Sized_relobj_file<size, big_endian> *object, unsigned int shndx,
         const char* name, const elfcpp::Shdr<size, big_endian>& shdr,
-        unsigned int reloc_shndx, unsigned int reloc_type, off_t* offset);
+        unsigned int sh_type, unsigned int reloc_shndx,
+        unsigned int reloc_type, off_t* offset);
 
   std::map<Section_id, unsigned int>*
   get_section_order_map()
@@ -653,6 +666,13 @@ class Layout
                       size_t cie_length, const unsigned char* fde_data,
                       size_t fde_length);
 
+  // Remove .eh_frame information for a PLT.  FDEs using the CIE must
+  // be removed in reverse order to the order they were added.
+  void
+  remove_eh_frame_for_plt(Output_data* plt, const unsigned char* cie_data,
+                         size_t cie_length, const unsigned char* fde_data,
+                         size_t fde_length);
+
   // Scan a .debug_info or .debug_types section, and add summary
   // information to the .gdb_index section.
   template<int size, bool big_endian>
@@ -1008,6 +1028,14 @@ class Layout
   };
   static const Section_name_mapping section_name_mapping[];
   static const int section_name_mapping_count;
+  static const Section_name_mapping text_section_name_mapping[];
+  static const int text_section_name_mapping_count;
+
+  // Find section name NAME in map and return the mapped name if found
+  // with the length set in PLEN.
+  static const char* match_section_name(const Section_name_mapping* map,
+                                       const int count, const char* name,
+                                       size_t* plen);
 
   // During a relocatable link, a list of group sections and
   // signatures.
This page took 0.036637 seconds and 4 git commands to generate.