freebsd-dev/gnu/lib/libssp/Makefile
Ruslan Ermilov 042df2e2da Enable GCC stack protection (aka Propolice) for userland:
- 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>
2008-06-25 21:33:28 +00:00

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>