1 2PACKAGE= clibs 3SHLIBDIR?= /lib 4SHLIB= ssp 5SHLIB_MAJOR= 0 6 7SSP_SRCS= fgets_chk.c memcpy_chk.c memmove_chk.c memset_chk.c \ 8 snprintf_chk.c sprintf_chk.c stpcpy_chk.c stpncpy_chk.c \ 9 strcat_chk.c strcpy_chk.c strncat_chk.c strncpy_chk.c \ 10 vsnprintf_chk.c vsprintf_chk.c 11 12.for i in ${SSP_SRCS} 13SRCS+=${i} 14.endfor 15 16CFLAGS.snprintf_chk.c+= -Wno-unused-parameter 17CFLAGS.sprintf_chk.c+= -Wno-unused-parameter 18CFLAGS.vsnprintf_chk.c+= -Wno-unused-parameter 19CFLAGS.vsprintf_chk.c+= -Wno-unused-parameter 20 21MAN+= ssp.3 __builtin_object_size.3 22 23VERSION_DEF= ${.CURDIR}/Versions.def 24SYMBOL_MAPS= ${.CURDIR}/Symbol.map 25 26.PATH: ${SRCTOP}/lib/libc/secure 27CFLAGS+= -I${SRCTOP}/lib/libc/include 28# _elf_aux_info is exported from libc as elf_aux_info(3), so just that for the 29# libssp build instead. 30CFLAGS+= -D_elf_aux_info=elf_aux_info 31SRCS+= stack_protector.c 32 33# Stack protection on libssp symbols should be considered harmful, as we may 34# be talking about, for example, the guard setup constructor. 35SSP_CFLAGS:= 36 37.include <bsd.lib.mk> 38