History log of /openbsd-current/lib/csu/crtendS.c
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.10 21-Jan-2017 guenther

Declare the symbols that label the .ctors, .dtors, .eh_frame, and .jcr
sections as extern hidden arrays of indefinite size, so that the compiler
(well, clang) doesn't believe it knows the exact contents and thus optimize
things into infinite loops. Actually set the symbols to be in the sections
and insert the leading and trailing values via __asm().

Problem pointed out by patrick@
testing and ok kettenis@


Revision tags: OPENBSD_5_8_BASE OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.9 04-Apr-2015 guenther

gcc 2.x is dead

ok millert@


Revision tags: OPENBSD_5_7_BASE
# 1.8 05-Dec-2012 deraadt

Remove excessive sys/cdefs.h inclusion
ok guenther millert kettenis


# 1.7 01-May-2010 kettenis

Sprinkle a few __used markers to prevent gcc4 from throwing away essential
bits of code and data. With this change gcc4 builds usable crt*.o on sparc64,
other architectures probably need some more love.

ok marco@, jsg@


# 1.6 13-Apr-2009 kurt

Add gcj java class registration hooks for gcc3 elf archs. From NetBSD
with minor differences.

okay kettenis@ drahn@


# 1.5 26-Jan-2004 espie

add finalized guard to destructor calls, to prevent multiple calls.
stop most kde apps from burping all over the place on exit, which
means that, somehow, our destructors get registered twice... :-(

Okay drahn@


# 1.4 26-Jan-2004 espie

small clean-up: typedef to desambiguate const, prototypes...

ok drahn@, some time ago.


# 1.3 08-Jan-2004 drahn

__init/__fini handling on ELF has not been correct. It is supposed to
be a section which code stubs (branches) can be added to initialize/destructor
This adds MD stubs to allow this to operate as expected. should fix wine
and behave according to ELF specs. ok miod@


# 1.2 16-Feb-2002 millert

Part one of userland __P removal. Done with a simple regexp with some minor hand editing to make comments line up correctly. Another pass is forthcoming that handles the cases that could not be done automatically.


# 1.1 28-May-2001 drahn

Commonize csu code for elf systems, powerpc now no longer has it's own
versions of these files.

Fixed a bug in ld.so in this, instead of scheduling the fini of each of
the shared libraries with atexit. schedule a function of ld.so itself
and it will walk all of the open libraries when the program exits.
otherwise a shared library could be dl_open()ed and then dl_close()d
and then it would not be mapped for the atexit processing.

TODO:
What if atexit is not found (process did not link against libc?)
Do shared libraries that are dl_closed have their global destructors run?