X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2Farchive.h;h=2943c4eabbfb9652e4098c7c9aeb19b419c8891c;hb=5430098f1807e084fe4ff5057040d68435f3d8a2;hp=78c2cc897950c7c6b3b9ac84b595c17d02c96081;hpb=e7782cf63b834cc4c4d159dcb6e3a9908b12432f;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/archive.h b/gold/archive.h index 78c2cc8979..2943c4eabb 100644 --- a/gold/archive.h +++ b/gold/archive.h @@ -1,6 +1,6 @@ // archive.h -- archive support for gold -*- C++ -*- -// Copyright 2006, 2007, 2008, 2010, 2011 Free Software Foundation, Inc. +// Copyright (C) 2006-2017 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // 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; @@ -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 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 members_; };