[gdbserver] Remove unused max_jump_pad_size
[deliverable/binutils-gdb.git] / gold / object.h
index c26acf39eddb56fbe5d214a1c63df51bfce8eb5e..f796fb501470e38039c3f535fbd10786da91a02a 100644 (file)
@@ -320,6 +320,7 @@ class Got_offset_list
 struct Compressed_section_info
 {
   section_size_type size;
+  elfcpp::Elf_Xword flag;
   const unsigned char* contents;
 };
 typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map;
@@ -380,6 +381,12 @@ class Object
   is_dynamic() const
   { return this->is_dynamic_; }
 
+  // Return the word size of the object file.
+  virtual int elfsize() const = 0;
+
+  // Return TRUE if this is a big-endian object file.
+  virtual bool is_big_endian() const = 0;
+
   // Return whether this object is needed--true if it is a dynamic
   // object which defines some symbol referenced by a regular object.
   // We keep the flag here rather than in Dynobj for convenience when
@@ -724,6 +731,11 @@ class Object
   set_as_needed()
   { this->as_needed_ = true; }
 
+  // Clear flag that this object was linked with --as-needed.
+  void
+  clear_as_needed()
+  { this->as_needed_ = false; }
+
   // Return whether this object was linked with --as-needed.
   bool
   as_needed() const
@@ -1215,6 +1227,9 @@ class Relobj : public Object
   relocs_must_follow_section_writes() const
   { return this->relocs_must_follow_section_writes_; }
 
+  Object_merge_map*
+  get_or_create_merge_map();
+
   template<int size>
   void
   initialize_input_to_output_map(unsigned int shndx,
@@ -2826,7 +2841,7 @@ class Input_objects
   // The list of dynamic objects included in the link.
   Dynobj_list dynobj_list_;
   // SONAMEs that we have seen.
-  Unordered_set<std::string> sonames_;
+  Unordered_map<std::string, Object*> sonames_;
   // Manage cross-references if requested.
   Cref* cref_;
 };
@@ -2860,11 +2875,11 @@ struct Relocate_info
 
 // This is used to represent a section in an object and is used as the
 // key type for various section maps.
-typedef std::pair<Object*, unsigned int> Section_id;
+typedef std::pair<Relobj*, unsigned int> Section_id;
 
 // This is similar to Section_id but is used when the section
 // pointers are const.
-typedef std::pair<const Object*, unsigned int> Const_section_id;
+typedef std::pair<const Relobj*, unsigned int> Const_section_id;
 
 // The hash value is based on the address of an object in memory during
 // linking.  It is okay to use this for looking up sections but never use
This page took 0.023913 seconds and 4 git commands to generate.