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>