[please CC: to [EMAIL PROTECTED] as i'm not a member - thanks]
Hi,
I want to know how an executable loads up, what all is initialized before
the control is passed onto main() function, and all this stuff. In
particular:
1. What's the role of crt0.o crtn.o etc. ??
2. How are the arguments and environment variables passed?
3. What all initializations/static variables are made by glibc, and how do
I control these?
I don't need an exact binary specification of these things, just the
concept, with some detail.
Any pointers will be helpful (and please cc: a reply!).
With warm regards,
Lokesh Setia.
,-, %~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| =======
___oo | "Lately it occurs to me, | -----
//_ooo | what a looooong strange trip its been." | ----
,-----'o ~ooo | | --
?o-----o__ooo--`======___________________________________======___= ~~~~~~~~
`-(*)--===~~~~~~(*)(*)o (*)(*)o --------
-------------------------------------------------------------------------------
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o Lokesh Setia o "The crystal ship is being filled, o
o #include <sys/disclaimer.h> o a thousand girls, a thousand thrills, o
o Hughes Software Systems. o a million ways to spend your time, when o
o To: <[EMAIL PROTECTED]> o we get back, i'll drop a line." o
o Cc: <[EMAIL PROTECTED]> o -------------> The Doors o
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+