9 Commits

Author SHA1 Message Date
kib
6d5842f6ee Only assign the environ in the startup code when environ is NULL.
Preloaded library could have changed the environment, and
unconditional assingment to the environ undoes the customization.
The binaries needs to be recompiled to get the fix.

Move the common code to set up environ and __progname into the helper.
Note that ia64 possibly not fixed, due to it still using old csu.

Reported and tested by:	John Hein <jhein@symmetricom.com>
Reviewed by:	kan, scf
Approved by:	secteam (simon)
MFC after:	2 weeks
2013-01-07 17:58:27 +00:00
kib
3a09450fbf Stop calling _init/_fini methods from crt1 for dynamic binaries. Do
call preinit, init and fini arrays methods from crt1 for static binaries.

Mark new crt1 with FreeBSD-specific ELF note.

Move some common crt1 code into new MI file ignore_init.c, to reduce
duplication.  Also, conservatively adjust nearby sources for style.

Reviewed by:	kan
Tested by:	andrew (arm), flo (sparc64)
MFC after:	3 weeks
2012-03-11 20:04:09 +00:00
gonzo
7378e795d9 - Remove one more no-op #ifndef 2012-03-06 19:19:33 +00:00
gonzo
550ac78f0e - Remove NOSHARED parts since it seems to be no-op
- Call _init_tls for statically linked binaries
2012-03-06 03:29:46 +00:00
imp
705cc0b145 Whitespace nit 2011-02-01 22:50:23 +00:00
uqs
92e839db24 Use default WARNS setting (of 6) for lib/csu.
PR:		bin/140089
Reviewed by:	jmallett
Approved by:	ed (co-mentor)
2010-03-05 13:29:05 +00:00
uqs
b59a09ce79 Properly declare non-extern functions in crt1
Also move the declarations after __progname consistently to
make the distinction clearer.

Reviewed by:	jmallett
Approved by:	ed (co-mentor)
2010-03-05 13:28:05 +00:00
imp
b97dc2b04d __main and __gccmain are no longer required, so eliminate them.
Submitted by:	jmallet@
2010-03-03 21:54:49 +00:00
gonzo
d0811445ef Bring C runtime bits for FreeBSD/mips from p4 mips2-jnpr branch.
Approved by:	cognet (mentor)
2008-05-03 11:16:32 +00:00