aboutsummaryrefslogtreecommitdiff
path: root/gold/plugin.cc
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <rafael.espindola@gmail.com>2014-09-17 17:53:49 -0400
committerRafael Ávila de Espíndola <rafael.espindola@gmail.com>2014-09-17 17:53:49 -0400
commit6168c2a1c6636d0897e055d77d807dbd14b34485 (patch)
tree1be5c58d176e7fa9ea46034aa10373f1495a1b3c /gold/plugin.cc
parent3a53193762d8c42fd50daa15034c7326af6ce037 (diff)
downloadgdb-6168c2a1c6636d0897e055d77d807dbd14b34485.zip
gdb-6168c2a1c6636d0897e055d77d807dbd14b34485.tar.gz
gdb-6168c2a1c6636d0897e055d77d807dbd14b34485.tar.bz2
Fix handling of common symbols with plugins.
gold/ChangeLog: 2014-09-17 Rafael Ávila de Espíndola <rafael.espindola@gmail.com> * plugin.cc (Sized_pluginobj::do_add_symbols): Ignore isym->size. * resolve.cc (Symbol_table::resolve): Don't override common symbols during the replacement phase.
Diffstat (limited to 'gold/plugin.cc')
-rw-r--r--gold/plugin.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/gold/plugin.cc b/gold/plugin.cc
index 6519732..0339d42 100644
--- a/gold/plugin.cc
+++ b/gold/plugin.cc
@@ -1053,8 +1053,6 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
elfcpp::Sym<size, big_endian> sym(symbuf);
elfcpp::Sym_write<size, big_endian> osym(symbuf);
- typedef typename elfcpp::Elf_types<size>::Elf_WXword Elf_size_type;
-
this->symbols_.resize(this->nsyms_);
for (int i = 0; i < this->nsyms_; ++i)
@@ -1125,7 +1123,7 @@ Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab,
osym.put_st_name(0);
osym.put_st_value(0);
- osym.put_st_size(static_cast<Elf_size_type>(isym->size));
+ osym.put_st_size(0);
osym.put_st_info(bind, elfcpp::STT_NOTYPE);
osym.put_st_other(vis, 0);
osym.put_st_shndx(shndx);