CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2015/11/09 21:14:03
Modified files:
lib/csu : crtbegin.c
lib/libc : Makefile Symbols.list
lib/libc/hidden: stdlib.h
lib/libc/stdlib: atexit.c
lib/libc/sys : stack_protector.c
lib/libc/thread: atfork.c
Added files:
lib/libc/hidden: pthread.h
Log message:
libc.so can't be unloaded, so move the hidden atexit() and pthread_atfork()
stubs for the executable from crtbegin.o into libc, which lets them be
excluded from static links that don't use them.
For this, drop the normal crt{begin,end}S.o from libc.so: the .init and .fini
sections for libc aren't called at the right times anyway, so it's good that
they're unused. libc.so just needs __guard_local and the .note.openbsd.ident
section, so add them to stack_protector.c for now (this will be improved)
"good time" deraadt@