freebsd-dev/lib/csu
Marcel Moolenaar db7ffe67c6 Rewite _start(). We cannot use a C function due to the fact that we
don't call it according to the runtime specification and especially
WRT to gp this can cause trouble. The gcc 3.3.1 import broke the
ia64 runtime because the compiler saved gp prior to us being able
to set it properly. Restoring gp after the calls would then invalidate
gp and cause segmentation faults later on.
By rewriting _start() as an assembly function, we also avoided even
more gcc dependences, by trying to use gcc specific features to work
around the problem.
This version of _start() does not reference _DYNAMIC. We register the
cleanup function when it's a non-NULL pointer. The kernel will always
pass a NULL pointer and dynamic linkers may pass a non-NULL pointer.

The machine independent code to set __progname now unfortunately is
written in assembly. So be it.
2003-07-13 23:11:37 +00:00
..
alpha make these more useful for lint(1). Minor diff-reductions while I'm 2003-01-26 23:14:47 +00:00
amd64 MFi386: revision 1.19. 2003-06-30 12:53:39 +00:00
common Set abitag __unused. 2003-05-04 18:33:26 +00:00
i386 Drop support for COPY, -c has been the default mode of install(1) 2002-07-29 09:40:17 +00:00
i386-elf Removed garbage: 2003-06-04 11:21:18 +00:00
ia64 Rewite _start(). We cannot use a C function due to the fact that we 2003-07-13 23:11:37 +00:00
powerpc make these more useful for lint(1). Minor diff-reductions while I'm 2003-01-26 23:14:47 +00:00
sparc64 Very minor EOL whitespace diff-reducer. 2003-01-26 23:34:47 +00:00