It's not just 'a huge number of symbols'; it's 'a huge number of symbols
with very long names differing only in their last few characters'.
This also proved to be a worst-case for a lot of dynamic linkers...
Posted Mar 27, 2008 7:17 UTC (Thu) by michaeljt (subscriber, #39183)
[Link]
Is this really the case? I once tried hacking up ld.so to do the lookup backwards (it is
actually possible without doing a strlen for every comparison) and I could see no difference
in performance, based on loading OpenOffice with both linkers and enabling the built-in linker
profiling. Of course, I may have messed up something else in the process...
ld.so is different beast
Posted Mar 27, 2008 9:43 UTC (Thu) by khim (subscriber, #9252)
[Link]
You can read about what goes on there in Drepper's article. Scroll down to "The GNU-style hash table".
ld.so is different beast
Posted Mar 27, 2008 10:16 UTC (Thu) by michaeljt (subscriber, #39183)
[Link]
That article was the reason I tried it in the first place :)
Striking gold in binutils
Posted Mar 27, 2008 10:46 UTC (Thu) by nix (subscriber, #2304)
[Link]
Hm, interesting. I'll try it at some point (probably with part of KDE: OOo takes too damn long
to build ;} ) and see if I can make it go slow ;}
Striking gold in binutils
Posted Mar 27, 2008 11:05 UTC (Thu) by michaeljt (subscriber, #39183)
[Link]
No need to rebuild anything to try out a new dynamic linker, methinks...
Striking gold in binutils
Posted Mar 28, 2008 21:27 UTC (Fri) by nix (subscriber, #2304)
[Link]
I need to rebuild it to add back a non DT_GNU_HASH :)