On Thu, 2003-07-31 17:09:19 +0200, Martin Schlemmer wrote in message <1059664158.5031.26.camel@workshop.saharacpt.lan>: > On Thu, 2003-07-31 at 15:01, Jan-Benedict Glaw wrote: > > On Thu, 2003-07-31 14:14:48 +0200, Jan-Benedict Glaw > > wrote in message <20030731121448.GW1873@lug-owl.de>: > > > On Thu, 2003-07-31 12:51:09 +0100, Alan Cox > > > wrote in message <1059652268.16608.8.camel@dhcp22.swansea.linux.org.uk>: > > > > On Iau, 2003-07-31 at 12:38, Jan-Benedict Glaw wrote: > > So there we are. Thanks to someone who pointed me to LD_DEBUG et al., I > > see that my _init() is called too late: > > > > amtus:~/sigill_catcher# LD_DEBUG=all LD_VERBOSE=1 > > LD_PRELOAD=./libsigill.so apt-get update 2> ld_infos > > Illegal instruction > > amtus:~/sigill_catcher# grep 'calling init' ld_infos > > 00691: calling init: /lib/libc.so.6 > > 00691: calling init: /lib/libdl.so.2 > > 00691: calling init: /lib/libgcc_s.so.1 > > 00691: calling init: /lib/libm.so.6 > > 00691: calling init: /usr/lib/libstdc++.so.5 > > > > As I guessed, libstdc++5's _init() is called before mine (LD_PRELOADed) > > _init() function and thus, I cannot intercept this SIGILL, as it > > seems... > > > > You could do what we do with our path sandbox - basically you > use a wrapper that setup the environment (prob not needed in > your case), and then spawn bash with our sandbox lib preloaded, > which then calls whatever should be 'path sandboxed'. Care to send some URL? I haven't found it ad hoc by Google... MfG, JBG -- Jan-Benedict Glaw jbglaw@lug-owl.de . +49-172-7608481 "Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak! ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));