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;
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
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
// 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_;
};