Index: head/share/mk/bsd.lib.mk =================================================================== --- head/share/mk/bsd.lib.mk +++ head/share/mk/bsd.lib.mk @@ -3,6 +3,8 @@ # .include +.include +.include .if defined(LIB_CXX) || defined(SHLIB_CXX) _LD= ${CXX} @@ -74,9 +76,13 @@ LDFLAGS+= -Wl,-znow .endif .if ${MK_RETPOLINE} != "no" +.if ${COMPILER_FEATURES:Mretpoline} && ${LINKER_FEATURES:Mretpoline} CFLAGS+= -mretpoline CXXFLAGS+= -mretpoline LDFLAGS+= -Wl,-zretpolineplt +.else +.warning Retpoline requested but not supported by compiler or linker +.endif .endif .if ${MK_DEBUG_FILES} != "no" && empty(DEBUG_FLAGS:M-g) && \ Index: head/share/mk/bsd.prog.mk =================================================================== --- head/share/mk/bsd.prog.mk +++ head/share/mk/bsd.prog.mk @@ -3,6 +3,7 @@ .include .include +.include .SUFFIXES: .out .o .bc .c .cc .cpp .cxx .C .m .y .l .ll .ln .s .S .asm @@ -44,11 +45,15 @@ LDFLAGS+= -pie .endif .if ${MK_RETPOLINE} != "no" +.if ${COMPILER_FEATURES:Mretpoline} && ${LINKER_FEATURES:Mretpoline} CFLAGS+= -mretpoline CXXFLAGS+= -mretpoline # retpolineplt is broken with static linking (PR 233336) .if !defined(NO_SHARED) || ${NO_SHARED:tl} == "no" LDFLAGS+= -Wl,-zretpolineplt +.endif +.else +.warning Retpoline requested but not supported by compiler or linker .endif .endif