Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 09 Jul 2019 23:33:33 +0000
From:      bugzilla-noreply@freebsd.org
To:        toolchain@FreeBSD.org
Subject:   [Bug 237068] /usr/local/bin/ld: BFD (GNU Binutils) 2.30 assertion fail elflink.c:2824
Message-ID:  <bug-237068-29464-irhWHJlQId@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-237068-29464@https.bugs.freebsd.org/bugzilla/>
References:  <bug-237068-29464@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D237068

--- Comment #52 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Justin Hibbits from comment #51)

I do not know.

 if (h->is_weakalias)
   {
     struct elf_link_hash_entry *def =3D weakdef (h);

// Here, so that def->def_regular is not based on bfd_link_hash_indirect ?
// (Not a "real definition"?)

     /* If the real definition is defined by a regular object file,
        don't do anything special.  See the longer description in
        _bfd_elf_adjust_dynamic_symbol, below.  */
     if (def->def_regular)
       {
         h =3D def;
         while ((h =3D h->u.alias) !=3D def)
           h->is_weakalias =3D 0;
       }
     else
       {
         while (h->root.type =3D=3D bfd_link_hash_indirect)
           h =3D (struct elf_link_hash_entry *) h->root.u.i.link;

// Here instead?

         BFD_ASSERT (h->root.type =3D=3D bfd_link_hash_defined
                     || h->root.type =3D=3D bfd_link_hash_defweak);
         BFD_ASSERT (def->def_dynamic);
         BFD_ASSERT (def->root.type =3D=3D bfd_link_hash_defined);
         (*bed->elf_backend_copy_indirect_symbol) (eif->info, def, h);
       }
   }


Might:

         while (def->root.type =3D=3D bfd_link_hash_indirect)
           def =3D (struct elf_link_hash_entry *) def->root.u.i.link;

(validly) reach something else that is not an example of bfd_link_hash_defi=
ned?
Should def->root.type =3D=3D bfd_link_hash_indirect have been possible in t=
he
first place?

I did not figure out that much about the context for the code.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-237068-29464-irhWHJlQId>