diff options
author | Martynas Venckus <martynas@cvs.openbsd.org> | 2014-02-16 01:16:39 +0000 |
---|---|---|
committer | Martynas Venckus <martynas@cvs.openbsd.org> | 2014-02-16 01:16:39 +0000 |
commit | db5574f3256a4a35b0d77f26add6d535a1f0e17e (patch) | |
tree | 096ef2b5759bdb57a19923d8b42bdfa9f284a5db /libexec/ld.so/Makefile | |
parent | d7637c028a65b58de45efb5d0e690b558894f828 (diff) |
Unbreak ld.so with ssp-strong/all on sparc64 and powerpc. With the
new SSP logic it additionally protects functions which have their
local addresses taken of, and _dl_boot_bind() gets selected.
We have to go through GOT to reach __guard_local, however it hasn't
been relocated yet. So add boot.c and don't protect everything up
to the point until it has been relocated and no longer needs the
loff adjustment.
OK matthew@. Full build done & tested by florian@.
Diffstat (limited to 'libexec/ld.so/Makefile')
-rw-r--r-- | libexec/ld.so/Makefile | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libexec/ld.so/Makefile b/libexec/ld.so/Makefile index e25cefc7616..d2456c68bdf 100644 --- a/libexec/ld.so/Makefile +++ b/libexec/ld.so/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.46 2013/12/31 04:07:34 guenther Exp $ +# $OpenBSD: Makefile,v 1.47 2014/02/16 01:16:38 martynas Exp $ SUBDIR=ldconfig ldd MAN= ld.so.1 @@ -12,8 +12,8 @@ PROG= ld.so VPATH=${.CURDIR}/../../lib/libc/string -SRCS= ldasm.S loader.c resolve.c dlfcn.c dl_printf.c rtld_machine.c path.c -SRCS+= util.c sod.c strsep.c strtol.c dir.c library_subr.c dl_prebind.c +SRCS= ldasm.S boot.c loader.c resolve.c dlfcn.c dl_printf.c rtld_machine.c +SRCS+= path.c util.c sod.c strsep.c strtol.c dir.c library_subr.c dl_prebind.c SRCS+= dl_realpath.c dl_uname.c dl_dirname.c strlcat.c strlen.c trace.c .if (${MACHINE_ARCH} == "i386") SRCS+= library_mquery.c @@ -48,3 +48,6 @@ $(PROG): $(test_prog) .endif .include <bsd.prog.mk> + +boot.o: boot.c + ${COMPILE.c} -fno-stack-protector ${.IMPSRC} |