Implement --just-symbols, including -R FILE. Fix symbol values when

doing a relocatable link.
This commit is contained in:
Ian Lance Taylor
2008-02-07 01:51:25 +00:00
parent 2e444beaa0
commit 88dd47ac00
16 changed files with 344 additions and 24 deletions

View File

@@ -190,6 +190,11 @@ class Object
release()
{ this->input_file_->file().release(); }
// Return whether we should just read symbols from this file.
bool
just_symbols() const
{ return this->input_file()->just_symbols(); }
// Return the sized target structure associated with this object.
// This is like the target method but it returns a pointer of
// appropriate checked type.
@@ -222,6 +227,11 @@ class Object
section_flags(unsigned int shndx)
{ return this->do_section_flags(shndx); }
// Return the section address given a section index.
uint64_t
section_address(unsigned int shndx)
{ return this->do_section_address(shndx); }
// Return the section type given a section index.
unsigned int
section_type(unsigned int shndx)
@@ -366,6 +376,10 @@ class Object
virtual uint64_t
do_section_flags(unsigned int shndx) = 0;
// Get section address--implemented by child class.
virtual uint64_t
do_section_address(unsigned int shndx) = 0;
// Get section type--implemented by child class.
virtual unsigned int
do_section_type(unsigned int shndx) = 0;
@@ -1211,6 +1225,11 @@ class Sized_relobj : public Relobj
do_section_flags(unsigned int shndx)
{ return this->elf_file_.section_flags(shndx); }
// Return section address.
uint64_t
do_section_address(unsigned int shndx)
{ return this->elf_file_.section_addr(shndx); }
// Return section type.
unsigned int
do_section_type(unsigned int shndx)