042df2e2da
- 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>
58 lines
1.1 KiB
Makefile
58 lines
1.1 KiB
Makefile
# $FreeBSD$
|
|
|
|
.if !target(__at91_boot_Makefile.inc__)
|
|
.PATH: ${.CURDIR}/../../../../libkern ${.CURDIR}/../../../../libkern/arm
|
|
|
|
__at91_boot_Makefile.inc__:
|
|
|
|
# tsc, bwct, kb920x, centipad are the supported flavors
|
|
BOOT_FLAVOR?=kb920x
|
|
|
|
CFLAGS=-Os -mcpu=arm9 -ffreestanding \
|
|
-I${.CURDIR}/../libat91 \
|
|
-I${.CURDIR}/../../../.. \
|
|
-I${.CURDIR}/../../../../arm \
|
|
-D_KERNEL \
|
|
-Wall -Waggregate-return \
|
|
-Wnested-externs \
|
|
-Wpointer-arith -Wshadow -Wwrite-strings \
|
|
-Werror \
|
|
-Wmissing-prototypes \
|
|
-Wmissing-declarations
|
|
# -Wstrict-prototypes
|
|
|
|
CFLAGS+=-DBOOT_${BOOT_FLAVOR:U}
|
|
|
|
LIBAT91=${.OBJDIR}/../libat91/libat91.a
|
|
|
|
LD ?= ld
|
|
OBJCOPY ?= objcopy
|
|
|
|
.if defined(P)
|
|
${P}: ${P}.out
|
|
${OBJCOPY} -S -O binary ${P}.out ${.TARGET}
|
|
@set -- `ls -l ${.TARGET}`; x=$$((12288-$$5)); \
|
|
echo "$$x bytes available"; test $$x -ge 0
|
|
|
|
${P}.out: ${OBJS}
|
|
${LD} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LIBAT91}
|
|
|
|
CLEANFILES+= ${P} ${P}.out
|
|
.endif
|
|
|
|
.if defined(WITH_TAG_LIST)
|
|
MK_TAG_LIST:=yes
|
|
.else
|
|
MK_TAG_LIST:=no
|
|
.endif
|
|
|
|
.if defined(WITH_FPGA)
|
|
MK_FPGA:=yes
|
|
.else
|
|
MK_FPGA:=no
|
|
.endif
|
|
|
|
.endif
|
|
|
|
.include "../Makefile.inc"
|