Status of Solaris filter symbols support in GNU ld?

Martin Man Martin.Man@Sun.COM
Mon Nov 20 18:54:00 GMT 2006


Hi all,

[ please cc-me on the replies ]

I have recently hit a bug where Solaris filter symbols are handled 
improperly by GNU ld and linked into resulting executable or shared 
library as symbols with absolute address 0x0, instead of linking them as 
dynamic symbols to be resolved by runtime linker.

The executable in question obviously segfaults when these symbols are 
encountered.

The original post describing the problem with links to bugreports and 
detailed description of how filter symbols work can be found here:

http://www.opensolaris.org/jive/thread.jspa?threadID=18778&tstart=0

The bugs in question can be observed in Nexenta, that is using GNU ld to 
link most of its software, the GNU ld version we use is:

 > GNU ld version 2.16.91 20060118 NexentaOS GNU/OpenSolaris
 > Copyright 2005 Free Software Foundation, Inc.
 > This program is free software; you may redistribute it under the 
terms > of
 > the GNU General Public License.  This program has absolutely no
 > warranty.

Although I know that there is new upstream version of GNU ld available, 
and although I'm already working on integrating it in Nexenta, I have 
examined the ChangeLog and have not seen any changes related to Solaris 
filter symbols handling, thus I believe that the problem still exists in 
2.17.x series of binutils.

Can anyone comment on the status of implementation of this feature in 
GNU ld, and also in GNU nm, which seems to be also unaware of the fact 
that something like filter symbols exist.

I'm offering my hand to fix the issue if someone will help me to get me 
started.

thanx for your time,
Martin

-- 
http://martinman.net



More information about the Binutils mailing list