xref: /freebsd/lib/libssp/Makefile (revision e7a629c851d747772cc138efcb0418809ecdea55)
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