bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gold/13245] PREVAILING_DEF reported too often.


From: hubicka at ucw dot cz
Subject: [Bug gold/13245] PREVAILING_DEF reported too often.
Date: Tue, 04 Oct 2011 09:17:43 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=13245

--- Comment #10 from hubicka at ucw dot cz 2011-10-04 09:17:43 UTC ---
> http://sourceware.org/bugzilla/show_bug.cgi?id=13245
> 
> --- Comment #9 from Cary Coutant <ccoutant at google dot com> 2011-10-03 
> 21:50:21 UTC ---
> > Here the function test is comdat both in libt.so and t2.so. 
> > In t2.so we would like to make it static because doing so improves dynamic
> > linking time (i.e. the function in question don't need to be resolved at 
> > all).
> > We can't want to do that in libt.so because that one is not LTOed.
> > 
> > This would happen if linker returned PREVAILING_DEF_IRONLY_EXP for _Z4testv
> > instead of PREVAILING_DEF.  I think this is consistent with documentation 
> > of it
> > - i.e. symbol is IRONLY within current DSO but exported. It does not matter
> > much whether we know if libt.so will bind to it or not.
> 
> So do you want the linker to ignore references from shared objects completely,
> or only if the reference is a (pre-empted) definition? I could make the former
> happen with the following patch:

Hi,
I am by far not confident in this area, but I personally don't see much
difference for
compiler to know whether the symbol will be bound by dynamic linker to other
DSO or
may be bound.  So I guess ignoring symbols from shared libraries should work
well,
since they will all end up PREVAILING_DEF_IRONLY_EXP.

Note that while looking at differences in resolution files in between gold and
GNU LD I noticed that gold reports some symbols as UNDEF that are PREEMPTED_DYN
for GNU LD.  It is harmless, because internally GCC handles both prety much
equally, but it seems wrong?

Honza

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]