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]

Re: [gold][patch] Fix weak undef handling when resolving to defs in a shared library


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


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