Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 05 Jan 2019 05:52:02 +0000
From:      bugzilla-noreply@freebsd.org
To:        toolchain@FreeBSD.org
Subject:   [Bug 220103] devel/glib20: ld-elf.so.1: /usr/local/lib/libglib-2.0.so.0: Undefined symbol "environ" (WITH_LLD_IS_LD)
Message-ID:  <bug-220103-29464-UZM9qsXeCj@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-220103-29464@https.bugs.freebsd.org/bugzilla/>
References:  <bug-220103-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=3D220103

--- Comment #25 from Michal Meloun <mmel@FreeBSD.org> ---
(In reply to Konstantin Belousov from comment #22)
> To be fair, typical cause of occurrence of the second unversioned symbol =
in
> the readelf -a output is due to the presence of the static (debugging)
> symbol table.
Aha, I did not know this. Thanks for info.

> That said, it is wrong for environ to be exported with any
> version, as well, it must be unversioned in the dynamic symbol table. Our
> rtld is forgiving but in principle we could check.
True. Using version script for final binary (not DSO) looks like stupid ide=
a,
mainly if it contains 'local: *' clause. Moreover, there are more (other th=
en=20
'__progname' and 'environ') global symbols exported by /lib/crt*.o stuff.
All above is only quick fix for actual damage.

At this point, and if these programs are really needs version scripts, I kn=
ow
about only one real solution. Final link should be splitted to two phases.
First phase should link all local objects to one big while applying version
script. Second phase should do final link by using resulting object from fi=
rst
step without issuing version script.

But that's a big change, it's hard to tell if it's right and if is acceptab=
le
by upstream.

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



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