[osol-discuss] Re: GNU ld -shared fails to link filtered symbols on Solaris
Tue Nov 28 11:09:00 GMT 2006
On Tue, 28 Nov 2006, Joerg Schilling wrote:
> Alan Modra <email@example.com> wrote:
>> On Mon, Nov 27, 2006 at 10:04:42PM +0100, Martin Man wrote:
>>> There seems to be a bug in GNU ld that does not link filter symbols
>> I'd hardly call it a bug. By the sound of things, Sun has made some
>> extensions to ELF that GNU ld doesn't understand. Someone (you
>> perhaps) needs to teach GNU ld about the proper handling of these
>> "filter symbols". If no one at Sun or amongst the user base cares
>> enough about GNU ld to do this, or to pay someone else to do the work,
>> then GNU ld will be useless on your platform. Moaning on the binutils
>> lists won't help much..
> Well, Sun did invent ELF, so an extension to ELF made by Sun seems to be an
> official extension that should be supported by all tools.
Why ? Just because Sun invented this at one point doesn't mean everyone
reusing (a subset of) it has to do exactly the same, for all future to
come. After all, ELF these days is part of many ABI definitions, including
for example UN*X on x86-64/amd64 which was _not_ done by Sun, but lead by
the Linux port. Sun doesn't rule ELF any more than Sun rules NFS ...
Nonetheless, I think Rod's emails cleared the waters pretty much. Thanks
Rod, learned something about the arcane initiate magic that's ld :)
So the question remains: Why does GNU ld force-inherit ABS into dependents
in some cases ? That seems a bug - it requires re-linking the callee when
it should not.
The lack of mapfile support for the Solaris FILTER stubs in GNU ld isn't a
bug, of course. But a missing Solaris-specific feature doesn't invalidate
the generic bug, does it ?
More information about the Binutils