On Tue Feb 08 2011 at 22:00:49 +0100, Joerg Sonnenberger wrote: > On Tue, Feb 08, 2011 at 03:34:54PM -0500, Christos Zoulas wrote: > > Still the problem remains, how do we stack the calls to insert the ssp > > check at the top level, without resorting to rtld tricks? > > Let me try to summarize the situation to make sure I get it right: > > The fortification code wants to provide an inline function "read" that > calls the real "read" after doing the argument checks. > > rumphijack wants to override the "read" symbol, apply some magic and > call "_sys_read" for the real system call.
No, it wants to override "whatever is the symbol applications are resolved to". For -current this is "_sys_read" (on nb5 it's "read"). And, on a tangent, it would really help if we had some mechanism for "latest version of symbol exported by libc" (cf. mess with select, pollts, kevent and socket). For working compat, I guess we'd need to bump rumphijack major every time one of them changes, but I can't think of a good mechanism for an application to automatically select the major that needs to be used. -- älä karot toivorikkauttas, kyl rätei ja lumpui piisaa