This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gdb and binutils branch master updated. 1707f183446fae9aca8523c1ebf721bcf2472008


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 <ccoutant@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(-)


hooks/post-receive
-- 
gdb and binutils


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]