[comp.sys.mips] changing crt0.o

nr@dynamic.Princeton.EDU (Norman Ramsey) (04/02/91)

I want to change crt0.o to initialize some debugging code before
calling the user's main().  I've looked at the existing __start using
dbx, and I've duplicated the instruction sequence, but when I try `nm
/usr/lib/crt0.o' I still see some things I don't understand.  (For
example, how much of the moncontrol stuff is necessary?) We have
Ultrix sources but our sysadmin people have been unable to find crt0.s
for me.  Can anyone point me to a copy of crt0.s for the MIPS, or tell
me what manual explains what this code is supposed to do?

-- 
Norman Ramsey
nr@princeton.edu

kenton@abyss.zk3.dec.com (Jeff Kenton OSG/UEG) (04/02/91)

In article <7991@rossignol.Princeton.EDU>, nr@dynamic.Princeton.EDU
(Norman Ramsey) writes:
|> 
|> I want to change crt0.o to initialize some debugging code before
|> calling the user's main().  I've looked at the existing __start using
|> dbx, and I've duplicated the instruction sequence, but when I try `nm
|> /usr/lib/crt0.o' I still see some things I don't understand.  (For
|> example, how much of the moncontrol stuff is necessary?) We have
|> Ultrix sources but our sysadmin people have been unable to find crt0.s
|> for me.  Can anyone point me to a copy of crt0.s for the MIPS, or tell
|> me what manual explains what this code is supposed to do?
|> 

If you have source for the library stuff, look there for crt0.s.  The
moncontrol
stuff is for profiling.  In the non-profiling version, stubs are compiled in,
in case you link to a routine that was compiled with profiling.  The stubs are
tiny -- no harm putting them in.

-----------------------------------------------------------------------------
==	jeff kenton		Consulting at kenton@decvax.dec.com        ==
==                                 -- No I don't speak for DEC --          ==
==	(617) 894-4508			(603) 881-0011			   ==
-----------------------------------------------------------------------------