gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gold / archive.h
index 7e3182737d0ff646028f6d57439234a1c54ab1b3..6bb6e6e906596d236425260d336b7cbe6d11b642 100644 (file)
@@ -1,6 +1,6 @@
 // archive.h -- archive support for gold      -*- C++ -*-
 
-// Copyright 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc.
+// Copyright (C) 2006-2020 Free Software Foundation, Inc.
 // Written by Ian Lance Taylor <iant@google.com>.
 
 // This file is part of gold.
@@ -40,7 +40,7 @@ class Input_group;
 class Layout;
 class Symbol_table;
 class Object;
-class Read_symbols_data;
+struct Read_symbols_data;
 class Input_file_lib;
 class Incremental_archive_entry;
 
@@ -51,7 +51,7 @@ struct Archive_member
       : obj_(NULL), sd_(NULL), arg_serial_(0)
   { }
   Archive_member(Object* obj, Read_symbols_data* sd)
-      : obj_(obj), sd_(sd)
+      : obj_(obj), sd_(sd), arg_serial_(0)
   { }
   // The object file.
   Object* obj_;
@@ -175,6 +175,9 @@ class Archive : public Library_base
   // The string expected at the end of an archive member header.
   static const char arfmag[2];
 
+  // Name of 64-bit symbol table member.
+  static const char sym64name[7];
+
   // The name of the object.  This is the name used on the command
   // line; e.g., if "-lgcc" is on the command line, this will be
   // "gcc".
@@ -290,6 +293,7 @@ class Archive : public Library_base
   { return this->input_file_->file().get_view(0, start, size, aligned, cache); }
 
   // Read the archive symbol map.
+  template<int mapsize>
   void
   read_armap(off_t start, section_size_type size);
 
@@ -405,6 +409,8 @@ class Archive : public Library_base
   unsigned int num_members_;
   // True if we exclude this library archive from automatic export.
   bool no_export_;
+  // True if this library has been included as a --whole-archive.
+  bool included_all_members_;
 };
 
 // This class is used to read an archive and pick out the desired
@@ -509,8 +515,6 @@ class Lib_group : public Library_base
   void
   do_for_all_unused_symbols(Symbol_visitor_base*) const;
 
-  // For reading the files.
-  const Input_file_lib* lib_;
   // Table of the objects in the group.
   std::vector<Archive_member> members_;
 };
This page took 0.024957 seconds and 4 git commands to generate.