> For _zero_ gain. The jump to the library address has to be indirect
> anyway, and glibc has several places to put the information without any
> mmap's or anything like that.
Correct. The current implementation is optimal.
It is necessary to have indirection since the target address can change.
I'm never going to use self-modifying code.
And it's a simple, one-instruction change.
int $0x80 -> call *%gs:0x18
That's it. It's all implemented and tested. The results are in the
latest NPTL source drop. The code won't be available in LinuxThreads
since it requires a kernel with TLS support.
As far as I'm concerned the discussion is over. I'm happy with what I
have now. The additional overhead for the case when AT_SYSINFO is not
available is neglegable (and can be compiled-out completely if one
really wants), and in case AT_SYSINFO is available the code really is
the fatest possible given the constraints mentioned above.
-- --------------. ,-. 444 Castro Street Ulrich Drepper \ ,-----------------' \ Mountain View, CA 94041 USA Red Hat `--' drepper at redhat.com `---------------------------- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/