From: Ian Lance Taylor Date: Mon, 12 Nov 2007 20:35:21 +0000 (+0000) Subject: From Craig Silverstein: Track_relocs doesn't need to hold onto the X-Git-Tag: sid-snapshot-20071201~171 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b696e6d46c9ef8898f59c88bb7a5febea5ac9de6;p=external%2Fbinutils.git From Craig Silverstein: Track_relocs doesn't need to hold onto the object. --- diff --git a/gold/reloc.cc b/gold/reloc.cc index e72c134..7a95dee 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 91b0819..51b6143 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_;