https://sourceware.org/bugzilla/show_bug.cgi?id=17432
--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> --- This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "gdb and binutils". The branch, master has been updated via 1707f183446fae9aca8523c1ebf721bcf2472008 (commit) from d7ac9d81bb1a177264187efc51c9cc0479cdd09c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1707f183446fae9aca8523c1ebf721bcf2472008 commit 1707f183446fae9aca8523c1ebf721bcf2472008 Author: Cary Coutant <ccout...@google.com> Date: Thu Sep 25 21:47:10 2014 -0700 Fix problem where TLS common symbols are not allocated properly during LTO. The plugin API doesn't provide a way for the claimed file handler to identify a TLS symbol, so when adding a common TLS symbol, gold mistakenly places the symbol in the non-TLS commons list, and does not override it when we see the replacement symbol that is marked as TLS. Consequently, we allocate the TLS common symbol as a regular common, and, if it's the only TLS in the program, we'll give an internal error because we haven't allocated a TLS segment. This patch fixes the problem by removing an exclusion where common symbols would not override the placeholder symbols, but checking to see if the size needs adjusting (the original reason for the exclusion). Furthermore, we need to avoid putting placeholder symbols in the common list, and wait until we see a real common symbol with a type we can trust. gold/ PR gold/17432 * resolve.cc (Symbol_table::resolve): Override common placeholder symbols, but adjust sizes. * symtab.cc (Symbol_table::add_from_object): Don't add placeholder symbols to common lists. ----------------------------------------------------------------------- Summary of changes: gold/ChangeLog | 8 ++++++++ gold/resolve.cc | 23 +++++++++++++++++++---- gold/symtab.cc | 12 ++++++++---- 3 files changed, 35 insertions(+), 8 deletions(-) -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils