Symver attribute

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Mon Nov 18 14:23:00 GMT 2019


Hi Jan,

> Also I wonder for testsuite bits, I think I need to implement
> dl-require-symver and then use it to gate the individual tests? Or do we
> have some common way to check for ELF?

there's a misunderstanding throughout here: symbol versioning is *not* a
(generic) ELF feature, i.e. it is not part of the ELF gABI.  Instead it
started off as a Solaris extension initially, later to be adopted and
extended again by gas/gld/glibc.  There are certainly ELF platforms that
don't support it at all (cf. HP-UX in gccinstall, maybe some of the
BSDs, historically even more like IRIX), so you cannot assume that any
ELF platform will support it.  On top of that, the GNU extension of
having the same symbol in multiple versions was never taken up by
Solaris (and never will be AFAICT), so even when using gas and gld, uses
will break when they reach ld.so.1.

So you certainly need such an effective-target test and, at least as
importantly, a configure test at build time that you can assemble, link,
and run a test correctly before enabling it in gcc.  Just
unconditionally dropping it into elfos.h is wrong.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



More information about the Gcc-patches mailing list