This is the mail archive of the binutils@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]

[PATCH][GOLD] Do not turn a non-weak reference of a weak symbol in DSO to weak.


Hi,

    This patch fixes a problem in which a non-weak reference to a weak
symbol in a DSO ends up being weak in the output.  The fix was done by
Cary.  I just added a test case.  This is tested on the x86_64.

-Doug

2010-08-11  Cary Coutant  <ccoutant@google.com>
            Doug Kwan  <dougkwan@google.com>

        * resolve.cc (Symbol_table::should_override): When a weak dynamic
        defintion overrides non-weak undef, remember that the original undef
        is not weak.
        * symtab.cc (Symbol_table::sized_write_global): For undef without
        an original weak binding, set binding to global in output.
        * testsuite/Makefile.am: Add new test strong_ref_weak_def.
        * testsuite/Makefile.in: Regenerate.
        * testsuite/strong_ref_weak_def.sh: New file.
        * testsuite/strong_ref_weak_def_1.c: Ditto.
        * testsuite/strong_ref_weak_def_2.c: Ditto.

Attachment: patch-weak.txt
Description: Text document


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