On Wed, Nov 03, 2004 at 12:20:05PM +0100, Morten Sylvest Olsen wrote: > Hi. > > Perhaps experts on prelinking are lurking on this list? :) > > I would like to modify prelink to exclude *some* of a binaries needed > libraries from prelinking. So if I depend on library A, B, C then A and > B are prelinked, while normal relocation processing is done for library > C. I guess I could just dlopen the library, but it would be nicer if I This can't work. The whole point of prelinking is that symbol resolution and relocation processing is done at prelink time, not at startup time. If some library is not prelinked, you need to check all (non-relative) relocations at startup time, as they might or might not resolve to the library C. What could be done is use one of the bits in Elf{32,64}_Lib structure in .gnu.liblist section to mean this library is DT_TEXTREL and must be mprotected RW for .gnu.conflict application. But beware that in the case of NVidia libGL.so there will be thousands of conflicts. I've told them multiple times, but apparently they aren't listening. I have a patch for the XFree86/Xorg libGL.so that makes it non-DT_TEXTREL while not slowing it down and also cutting down the number of dynamic relocations a lot, but I lost my hopes in getting it merged upstream. Jakub