042df2e2da
- It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64. Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work. Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
36 lines
772 B
Makefile
36 lines
772 B
Makefile
# $FreeBSD$
|
|
|
|
GCCDIR= ${.CURDIR}/../../../contrib/gcc
|
|
GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
|
|
SRCDIR= ${GCCLIB}/libssp
|
|
|
|
.PATH: ${SRCDIR} ${SRCDIR}/ssp
|
|
|
|
LIB= ssp
|
|
SHLIB_MAJOR= 0
|
|
SHLIBDIR?= /lib
|
|
NO_PROFILE=
|
|
WITHOUT_SSP=
|
|
|
|
SRCS= ssp.c gets-chk.c memcpy-chk.c memmove-chk.c mempcpy-chk.c \
|
|
memset-chk.c snprintf-chk.c sprintf-chk.c stpcpy-chk.c \
|
|
strcat-chk.c strcpy-chk.c strncat-chk.c strncpy-chk.c \
|
|
vsnprintf-chk.c vsprintf-chk.c
|
|
|
|
CFLAGS+= -DHAVE_CONFIG_H
|
|
CFLAGS+= -I${.CURDIR} -I${SRCDIR} -I${GCCLIB}/include
|
|
|
|
VERSION_MAP= ${SRCDIR}/ssp.map
|
|
|
|
|
|
INCS= ssp.h string.h stdio.h unistd.h
|
|
INCSDIR=${INCLUDEDIR}/ssp
|
|
|
|
CLEANFILES= ssp.h
|
|
ssp.h: ssp.h.in
|
|
sed -e 's/@ssp_have_usable_vsnprintf@/define/' ${.ALLSRC} > ${.TARGET}
|
|
|
|
SUBDIR+= libssp_nonshared
|
|
|
|
.include <bsd.lib.mk>
|