mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-03 15:42:52 +00:00
PR 6992
* symtab.cc (Symbol_table::sized_write_section_symbol): In a relocatable link set the value of the section symbol to zero. * object.cc (Sized_relobj::do_finalize_local_symbols): In a relocatable link don't include the section address in the local symbol value.
This commit is contained in:
parent
fd9d194f04
commit
b4ecf66bbe
@ -1,3 +1,12 @@
|
||||
2009-02-28 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR 6992
|
||||
* symtab.cc (Symbol_table::sized_write_section_symbol): In a
|
||||
relocatable link set the value of the section symbol to zero.
|
||||
* object.cc (Sized_relobj::do_finalize_local_symbols): In a
|
||||
relocatable link don't include the section address in the local
|
||||
symbol value.
|
||||
|
||||
2009-02-27 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
PR 6811
|
||||
|
@ -1509,6 +1509,7 @@ Sized_relobj<size, big_endian>::do_finalize_local_symbols(unsigned int index,
|
||||
const unsigned int loccount = this->local_symbol_count_;
|
||||
this->local_symbol_offset_ = off;
|
||||
|
||||
const bool relocatable = parameters->options().relocatable();
|
||||
const Output_sections& out_sections(this->output_sections());
|
||||
const std::vector<Address>& out_offsets(this->section_offsets_);
|
||||
unsigned int shnum = this->shnum();
|
||||
@ -1589,7 +1590,7 @@ Sized_relobj<size, big_endian>::do_finalize_local_symbols(unsigned int index,
|
||||
+ out_offsets[shndx]
|
||||
+ lv.input_value());
|
||||
else
|
||||
lv.set_output_value(os->address()
|
||||
lv.set_output_value((relocatable ? 0 : os->address())
|
||||
+ out_offsets[shndx]
|
||||
+ lv.input_value());
|
||||
}
|
||||
|
@ -2693,7 +2693,10 @@ Symbol_table::sized_write_section_symbol(const Output_section* os,
|
||||
|
||||
elfcpp::Sym_write<size, big_endian> osym(pov);
|
||||
osym.put_st_name(0);
|
||||
osym.put_st_value(os->address());
|
||||
if (parameters->options().relocatable())
|
||||
osym.put_st_value(0);
|
||||
else
|
||||
osym.put_st_value(os->address());
|
||||
osym.put_st_size(0);
|
||||
osym.put_st_info(elfcpp::elf_st_info(elfcpp::STB_LOCAL,
|
||||
elfcpp::STT_SECTION));
|
||||
|
Loading…
x
Reference in New Issue
Block a user