robert.schweikert at mathworks.com
Fri Oct 19 07:08:12 PDT 2007
I ran a quick trial and there is definitely some magic going on with
gcc. The magic happens at link time. Consider the following simple code:
-> cat atExistTest.c
When compiled to an object file the atexit() call remains:
-> nm -Bg atExistTest.o | grep atexit
taking this a step further to the assembly level atexit still shows up.
-> cat atExistTest.s | grep atexit
However, once we generate the executable (or so) the plain atexit
-> nm -Bg atexitLib.so | grep atexit
Thus atexit() appears to have a weird state with respect to the LSB
specification, looks like we should map the atexit() source interface to
__cxa_atexit binary interface w.r.t. appchk. I don't like specifying
anything starting with __ but we may not have a choice here since the
symbol does show up and appchk would certainly complain.
Robert Schweikert MAY THE SOURCE BE WITH YOU
(robert.schweikert at mathworks.com) LINUX
The MathWorks Inc.
Phone : 508-647-2042
More information about the lsb-discuss