2008-07-22 Simon Baldwin <simonb@google.com>

* symtab.cc (Symbol_table::sized_write_symbol): Set symbol size
        to zero when writing undefined symbols.
This commit is contained in:
Chris Demetriou 2008-07-22 21:02:44 +00:00
parent 308cb401d6
commit 3f7c5e1d99
2 changed files with 7 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2008-07-22 Simon Baldwin <simonb@google.com>
* symtab.cc (Symbol_table::sized_write_symbol): Set symbol size
to zero when writing undefined symbols.
2008-07-22 Ian Lance Taylor <iant@google.com>
* output.cc (Output_section::add_input_section): Don't try to

View File

@ -2334,7 +2334,8 @@ Symbol_table::sized_write_symbol(
elfcpp::Sym_write<size, big_endian> osym(p);
osym.put_st_name(pool->get_offset(sym->name()));
osym.put_st_value(value);
osym.put_st_size(sym->symsize());
// Use a symbol size of zero for undefined symbols.
osym.put_st_size(shndx == elfcpp::SHN_UNDEF ? 0 : sym->symsize());
// A version script may have overridden the default binding.
if (sym->is_forced_local())
osym.put_st_info(elfcpp::elf_st_info(elfcpp::STB_LOCAL, sym->type()));