Don't emit symbols seen only in dynamic object, don't read duplicate

dynamic object.
This commit is contained in:
Ian Lance Taylor 2006-12-06 06:28:56 +00:00
parent 8f2e9323f0
commit 008db82ec1
8 changed files with 96 additions and 37 deletions

View file

@ -600,7 +600,7 @@ class Input_objects
{
public:
Input_objects()
: relobj_list_(), target_(NULL)
: relobj_list_(), dynobj_list_(), target_(NULL), sonames_()
{ }
// The type of the list of input relocateable objects.
@ -611,8 +611,9 @@ class Input_objects
typedef std::vector<Dynobj*> Dynobj_list;
typedef Dynobj_list::const_iterator Dynobj_iterator;
// Add an object to the list.
void
// Add an object to the list. Return true if all is well, or false
// if this object should be ignored.
bool
add_object(Object*);
// Get the target we should use for the output file.
@ -649,9 +650,14 @@ class Input_objects
Input_objects(const Input_objects&);
Input_objects& operator=(const Input_objects&);
// The list of ordinary objects included in the link.
Relobj_list relobj_list_;
// The list of dynamic objects included in the link.
Dynobj_list dynobj_list_;
// The target.
Target* target_;
// SONAMEs that we have seen.
Unordered_set<std::string> sonames_;
};
// Some of the information we pass to the relocation routines. We