diff options
author | Kurt Miller <kurt@cvs.openbsd.org> | 2014-12-22 03:51:09 +0000 |
---|---|---|
committer | Kurt Miller <kurt@cvs.openbsd.org> | 2014-12-22 03:51:09 +0000 |
commit | 4c3e2b03181a91c59b536d4cdec6f6f5d1cdf236 (patch) | |
tree | 85e45cf9486a5541d2fe1b1a8331d72958564c26 /sys | |
parent | d98892b19f775c4dd3ad9557727627fb148b2fd0 (diff) |
Introduce new csu0 variant for -static -pie binaries to use called
rcsu0.o where the initial 'r' is for relocatable. rcsu0.o performs
self-relocation on static pie binaries by calling a slightly modified
copy of ld.so's _dl_boot_bind() in boot.h.
The first arch implementatation is also included for amd64 where
__start calls _dl_boot_bind() and then calls ___start(). Includes
parts from kettenis@ to help get R_X86_64_64 relocations working
and proper handling for undefined weak symbols.
This is the first part of several to get static pie self-relocating
binaries working. binutils, gcc and kernel changes are forthcoming
to complete the solution, then per-arch implementations are needed
for MD_RCRT0_START in csu.
okay kettenis@ pascal@ deraadt@
Diffstat (limited to 'sys')
0 files changed, 0 insertions, 0 deletions