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