diff options
author | Ian Lance Taylor <iant@google.com> | 2007-11-12 20:35:21 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@google.com> | 2007-11-12 20:35:21 +0000 |
commit | b696e6d46c9ef8898f59c88bb7a5febea5ac9de6 (patch) | |
tree | 8202e58e4d546fdd2ab4b8ec038938be072c98a2 /gold | |
parent | 24badc6562b8153e0181f5bd937b5a84aa8a451e (diff) | |
download | gdb-b696e6d46c9ef8898f59c88bb7a5febea5ac9de6.zip gdb-b696e6d46c9ef8898f59c88bb7a5febea5ac9de6.tar.gz gdb-b696e6d46c9ef8898f59c88bb7a5febea5ac9de6.tar.bz2 |
From Craig Silverstein: Track_relocs doesn't need to hold onto the
object.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/reloc.cc | 4 | ||||
-rw-r--r-- | gold/reloc.h | 9 |
2 files changed, 5 insertions, 8 deletions
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<size, big_endian>::emit( template<int size, bool big_endian> bool Track_relocs<size, big_endian>::initialize( - Sized_relobj<size, big_endian>* 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<size, big_endian>* 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<size, big_endian>* 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_; |