On Tue, Feb 08, 2011 at 11:43:40PM +0200, Antti Kantee wrote: > On Tue Feb 08 2011 at 22:41:57 +0100, Joerg Sonnenberger wrote: > > On Tue, Feb 08, 2011 at 11:22:44PM +0200, Antti Kantee wrote: > > > 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"). > > > > That's not what the library is doing according to nm. It defines "read" > > and not "_sys_read". > > Are you sure you're looking at a current version? > > pain-rustique:1:~> nm /usr/lib/librumphijack.so | grep read > 000029d4 T _sys_read > U pthread_create > U pthread_join > 00002a42 T readv
I have different builds arounds. So why is _sys_read special and readv, write, writev etc are not? Joerg