summaryrefslogtreecommitdiffstats
path: root/lib/csu/common_elf/crtbeginS.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ELF uberalles, so move the files up out of common_elfguenther2014-11-151-171/+0
| | | | ok miod@ deraadt@
* Move atexit(3) into crtbegin.c and certbeginS.c such that we can pass thekettenis2013-12-281-1/+9
| | | | | | | | | | right __dso_handle and have dlopen'ed shared objects run their atexit handlers when they get unloaded. This is what Linux does, and several ports depend on this behaviour (and will crash upon exit without this chang). Based on an earlier diff from matthew@ Tested by ajacoutot@ ok deraadt@
* Reverse the order that ctors and dtors are run in accordance withmatthew2012-09-081-7/+7
| | | | | | GCC's documentation. Fixes GNU C++'s init_priority attribute. ok miod
* Add __guard_local as a hidden symbol to ld.so, kernel, and everymatthew2012-08-281-1/+3
| | | | | | executable and DSO (via crtbegin.c/crtbeginS.c). Not used yet, but needed before GCC can start emitting -fstack-protector code that uses them instead of __guard.
* Sprinkle a few __used markers to prevent gcc4 from throwing away essentialkettenis2010-05-011-5/+5
| | | | | | | 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@
* Add gcj java class registration hooks for gcc3 elf archs. From NetBSDkurt2009-04-131-1/+19
| | | | | | with minor differences. okay kettenis@ drahn@
* Tag ELF shared libraries as OpenBSD.kettenis2009-02-041-1/+3
| | | | ok kurt@, drahn@, miod@
* Add __cxa_atexit() support for gcc3. This provides support for shared object destructors called at dlclose() time. Inspired by similar changes in FreeBSD and NetBSD.millert2007-09-031-1/+22
|
* add finalized guard to destructor calls, to prevent multiple calls.espie2004-01-261-6/+10
| | | | | | | stop most kde apps from burping all over the place on exit, which means that, somehow, our destructors get registered twice... :-( Okay drahn@
* small clean-up: typedef to desambiguate const, prototypes...espie2004-01-261-5/+6
| | | | ok drahn@, some time ago.
* __init/__fini handling on ELF has not been correct. It is supposed todrahn2004-01-081-3/+15
| | | | | | 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@
* correct array initializer size to be [1], not [0] fixes gcc3 libstdc++ errordrahn2003-12-281-3/+3
| | | | ok espie, millert
* boring protosderaadt2003-06-261-5/+5
|
* 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.millert2002-02-161-5/+5
|
* Commonize csu code for elf systems, powerpc now no longer has it's owndrahn2001-05-281-0/+103
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?