CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2019/05/10 07:29:21
Modified files:
include : tib.h
etc : rc
libexec/ld.so : Makefile boot.c loader.c resolve.h util.h
libexec/ld.so/aarch64: Makefile.inc ldasm.S
libexec/ld.so/amd64: Makefile.inc ldasm.S
libexec/ld.so/arm: Makefile.inc ldasm.S
libexec/ld.so/powerpc: Makefile.inc ldasm.S
libexec/ld.so/sparc64: Makefile.inc ldasm.S
lib/csu : boot.h crt0.c extern.h
Added files:
libexec/ld.so/aarch64: ld.script
libexec/ld.so/amd64: ld.script
libexec/ld.so/arm: ld.script
libexec/ld.so/powerpc: ld.script
libexec/ld.so/sparc64: ld.script
Log message:
ld.so boot cleanup support:
- put functions and data which are only used before calling the executable's
start function into their own page-aligned segments for unmapping
(only done on amd64, arm64, armv7, powerpc, and sparc64 so far)
- pass .init_array and .preinit_array functions an addition argument which
is a callback to get a structure which includes a function that frees
the boot text and data
- sometimes delay doing RELRO processing: for a shared-object marked
DF_1_INITFIRST do it after the object's .init_array, for the executable
do it after the .preinit_array
- improve test-ld.so to link against libpthread and trigger its initialization
late
libc changes to use this will come later
ok kettenis@