[gst-devel] interposing / dup. symbols interest ...
michael.meeks at novell.com
Mon Dec 12 07:33:05 CET 2005
On Mon, 2005-12-12 at 15:40 +0100, Jan Schmidt wrote:
> > Right; a link map or somesuch would be a good idea there I guess -
> > should improve link performance too.
> What's a link map? How would it be handy? :)
A link map allows you to control which symbols you want to export, and
hence which are internally bound at link time; however it's almost
always easier to just use the 'static' modifier for C method impl.s and
(potentially) namespace cross-module, internal calls with a '_' eg.
'_glib_do_foo' and then remove them with a regexp filter at link time
[ I forget how that's done, but it's not too hard ].
> > It turns out that this ELF feature for which we pay a huge performance
> > cost at link time is not only almost useless, but creates tons of silent
> > bugs.
> Which ELF feature?
This is an aside ;-) but there is a huge cost to looking up every
symbol from every library in every other library to resolve it - a clear
N*N problem in the linker,
> Mingling with this dark voodoo isn't going to cost me my soul, right?
Hopefully not ;-) you'll be pleased to know though that you're in good
company; eg. the Java Runtime Environment libraries like to (helpfully)
export things like 'free_list' and 'list_size' ;-> /me is poking them
Good to get them fixed though,
michael.meeks at novell.com <><, Pseudo Engineer, itinerant idiot
More information about the gstreamer-devel