History log of /freebsd-10.1-release/lib/csu/powerpc/crt1.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 245133 07-Jan-2013 kib

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


# 232832 11-Mar-2012 kib

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


# 216338 09-Dec-2010 dim

Let all .c and .S files under lib/csu consistently use the __FBSDID()
macro for identification, instead of several different hand-rolled
variants (plain .ident, .ascii, etc).


# 204756 05-Mar-2010 uqs

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)


# 133754 15-Aug-2004 dfr

Add support for TLS in statically linked programs.


# 109905 26-Jan-2003 markm

make these more useful for lint(1). Minor diff-reductions while I'm
about it.


# 100167 16-Jul-2002 markm

The main reason for this is to reduce diffs between all the crt1.c's.

Assembler macros are tidied up and made as similar as sanely possible.
The macros are translated into C (__inline static) functions for lint.

Declaration orders are made the same.
Declarations are all ISOfied and tidied up.

Comment contents have gratuitous diffs removed.

The net result is a bunch of crt1.c's that are 90% the same.
It may be possible to now encapsulate the differences in one
MD header, and have only one MI crt1.c file (although the macros
to do this may be ugly).

Helpful comments by: obrien, bde
Alpha tested by: des
i386-elf tested by: markm


# 93399 29-Mar-2002 markm

Do not use __progname directly (except in [gs]etprogname(3)).
Also, make an internal _getprogname() that is used only inside
libc. For libc, getprogname(3) is a weak symbol in case a
function of the same name is defined in userland.


# 93036 23-Mar-2002 obrien

Remove prototype, no other crt1.c has or needs it.


# 92938 22-Mar-2002 obrien

Remove __P() usage.


# 92915 21-Mar-2002 obrien

Remove __P() usage.


# 91430 27-Feb-2002 obrien

Minor style(9) nit + utilize ELF features for the FreeBSD ID.


# 81586 13-Aug-2001 ru

Removed duplicate VCS ID tags, as per style(9).


# 80740 31-Jul-2001 mp

Fix compilation errors by adding forward declarations and fix typo.


# 70657 04-Jan-2001 obrien

PowerPC version of the C runtime support.

This is an amalgamation of the NetBSD macppc crt0.c (which the copyright
reflects) and the FreeBSD/Alpha crt1.c.