diff --git a/gold/reloc.cc b/gold/reloc.cc index e72c134e1d..7a95deea59 100644 --- a/gold/reloc.cc +++ b/gold/reloc.cc @@ -672,12 +672,10 @@ Copy_relocs::emit( template bool Track_relocs::initialize( - Sized_relobj* object, + Object* object, unsigned int reloc_shndx, unsigned int reloc_type) { - this->object_ = object; - // If RELOC_SHNDX is -1U, it means there is more than one reloc // section for the .eh_frame section. We can't handle that case. if (reloc_shndx == -1U) diff --git a/gold/reloc.h b/gold/reloc.h index 91b08199b9..51b6143b8d 100644 --- a/gold/reloc.h +++ b/gold/reloc.h @@ -32,6 +32,7 @@ namespace gold { class General_options; +class Object; class Relobj; class Read_relocs_data; class Symbol; @@ -609,7 +610,7 @@ class Track_relocs { public: Track_relocs() - : object_(NULL), prelocs_(NULL), len_(0), pos_(0), reloc_size_(0) + : prelocs_(NULL), len_(0), pos_(0), reloc_size_(0) { } // Initialize the Track_relocs object. OBJECT is the object holding @@ -618,7 +619,7 @@ class Track_relocs // (elfcpp::SHT_REL or elfcpp::SHT_RELA). This returns false if // something went wrong. bool - initialize(Sized_relobj* object, unsigned int reloc_shndx, + initialize(Object* object, unsigned int reloc_shndx, unsigned int reloc_type); // Return the offset in the data section to which the next reloc @@ -637,9 +638,7 @@ class Track_relocs advance(off_t offset); private: - // The object file. - Sized_relobj* object_; - // The contents of the reloc section. + // The contents of the input object's reloc section. const unsigned char* prelocs_; // The length of the reloc section. off_t len_;