diff --git a/share/mk/bsd.README b/share/mk/bsd.README --- a/share/mk/bsd.README +++ b/share/mk/bsd.README @@ -197,6 +197,9 @@ LIBADD.${.TARGET:T} Libraries dependent on output file name. +SHARED_CFLAGS Additional compiler flags used when creating shared or + position independent object files. + COMPILER_FEATURES A list of features that the compiler supports. Zero or more of: diff --git a/share/mk/bsd.suffixes-extra.mk b/share/mk/bsd.suffixes-extra.mk --- a/share/mk/bsd.suffixes-extra.mk +++ b/share/mk/bsd.suffixes-extra.mk @@ -60,12 +60,13 @@ .asm.pico: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .asm.nossppico: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PICFLAG} -DPIC \ + ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} @@ -73,18 +74,19 @@ .asm.pieo: ${CC:N${CCACHE_BIN}} -x assembler-with-cpp ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.pico: ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD} .S.nossppico: ${CC:N${CCACHE_BIN}} ${PICFLAG} -DPIC \ + ${SHARED_CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${CFLAGS:C/^-fstack-protector.*$//:C/^-fstack-clash-protection.*$//} \ ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} @@ -92,7 +94,7 @@ .S.pieo: ${CC:N${CCACHE_BIN}} ${PIEFLAG} -DPIC \ - ${CFLAGS} ${ACFLAGS} \ + ${SHARED_CFLAGS} ${CFLAGS} ${ACFLAGS} \ -c ${.IMPSRC} -o ${.TARGET} ${CTFCONVERT_CMD}