summaryrefslogtreecommitdiff
path: root/src/lib/libc/stdlib/thread_atexit.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Complete the ld.so boot cleanup: move most libc initialization fromguenther2019-06-021-7/+2
| | | | | | | | | | | | | | | | | _csu_finish() to _libc_preinit(), which is an .init_array function in shared libc (and mark it INITFIRST) or a .preinit_array function in static libc, grabbing the _dl_cb callback there from ld.so. Then in _csu_finish(), invoke the dl_clean_boot() callback to free ld.so's startup bits before main() gets control. Other cleanups this permits: - move various startup structures into .data.rel.ro - the dl* stubs in libc can be strong and call the callbacks provided via _dl_cb - no longer need to conditionalize dlctl() calls on presence of _DYNAMIC original concept and full diff ok kettenis@ ok deraadt@
* Move __cxa_thread_atexit* to its own .c file to avoid pulling the codeguenther2017-12-161-0/+49
(w/ _dlctl reference) into static executables. It's all Mark's code so put his preferred copyright on it. ok kettenis@