freebsd-src/lib/libssp/Makefile
Kyle Evans be04fec426 Import _FORTIFY_SOURCE implementation from NetBSD
This is a mostly-unmodified copy of the various *_chk implementations
and headers from NetBSD, without yet modifying system headers to start
actually including them.  A future commit will also apply the needed
bits to fix ssp/unistd.h.

Reviewed by:	imp, pauamma_gundo.com (both previous versions), kib
Sponsored by:	Stormshield
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D32306
2024-05-13 00:23:49 -05:00

38 lines
1 KiB
Makefile

PACKAGE= clibs
SHLIBDIR?= /lib
SHLIB= ssp
SHLIB_MAJOR= 0
SSP_SRCS= gets_chk.c fgets_chk.c memcpy_chk.c memmove_chk.c memset_chk.c \
snprintf_chk.c sprintf_chk.c stpcpy_chk.c stpncpy_chk.c \
strcat_chk.c strcpy_chk.c strncat_chk.c strncpy_chk.c \
vsnprintf_chk.c vsprintf_chk.c
.for i in ${SSP_SRCS}
SRCS+=${i}
.endfor
CFLAGS.snprintf_chk.c+= -Wno-unused-parameter
CFLAGS.sprintf_chk.c+= -Wno-unused-parameter
CFLAGS.vsnprintf_chk.c+= -Wno-unused-parameter
CFLAGS.vsprintf_chk.c+= -Wno-unused-parameter
MAN+= ssp.3 __builtin_object_size.3
VERSION_DEF= ${.CURDIR}/Versions.def
SYMBOL_MAPS= ${.CURDIR}/Symbol.map
.PATH: ${SRCTOP}/lib/libc/secure
CFLAGS+= -I${SRCTOP}/lib/libc/include
# _elf_aux_info is exported from libc as elf_aux_info(3), so just that for the
# libssp build instead.
CFLAGS+= -D_elf_aux_info=elf_aux_info
SRCS+= stack_protector.c
# Stack protection on libssp symbols should be considered harmful, as we may
# be talking about, for example, the guard setup constructor.
SSP_CFLAGS:=
.include <bsd.lib.mk>