This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [gold][patch] Fix weak undef handling when resolving to defs in a shared library
- From: Ian Lance Taylor <iant at google dot com>
- To: Cary Coutant <ccoutant at google dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Thu, 08 Jul 2010 13:18:18 -0700
- Subject: Re: [gold][patch] Fix weak undef handling when resolving to defs in a shared library
- References: <AANLkTimRIxSFm0ke9hdKxsycaV60zoMYdglHduTHwroV@mail.gmail.com>
Cary Coutant <ccoutant@google.com> writes:
> * resolve.cc (Symbol_table::resolve): Remember whether undef was
> weak when resolving to a dynamic def.
> (Symbol_table::should_override): Add adjust_dyndef flag; set it
> for weak undef/dynamic def cases. Adjust callers.
> * symtab.cc (Symbol::init_fields): Initialize undef_binding_set_ and
> undef_binding_weak_.
> (Symbol_table::sized_write_globals): Adjust symbol binding.
> (Symbol_table::sized_write_symbol): Add binding parameter.
> * symtab.h (Symbol::set_undef_binding): New method.
> (Symbol::is_undef_binding_weak): New method.
> (Symbol::undef_binding_set_, Symbol::undef_binding_weak_): New members.
> (Symbol_table::should_override): Add new parameter.
> (Symbol_table::sized_write_symbol): Add new parameter.
>
> * testsuite/weak_undef_file1.cc: Add new test case.
> * testsuite/weak_undef_file2.cc: Fix header comment.
> * testsuite/weak_undef_test.cc: Add new test case.
This is OK.
Thanks.
Ian