PR12760 plugin vs. warning syms
H.J. Lu
hjl.tools@gmail.com
Mon May 16 12:48:00 GMT 2011
On Mon, May 16, 2011 at 1:29 AM, Alan Modra <amodra@gmail.com> wrote:
> On Sun, May 15, 2011 at 06:37:58PM -0700, H.J. Lu wrote:
>> We must call bfd_link_repair_undef_list when we change symbol
>> type to bfd_link_hash_undefweak. Otherwise, assert may fail in:
>>
>> void
>> bfd_link_add_undef (struct bfd_link_hash_table *table,
>> struct bfd_link_hash_entry *h)
>> {
>> BFD_ASSERT (h->u.undef.next == NULL);
>
> How could that happen? We know the new symbol is a definition.
>
After we turned a definition into an undefweak, we may see a reference in
LTO output, which will call bfd_link_add_undef.
--
H.J.
More information about the Binutils
mailing list