Print this page
11787 Kernel needs to be built with retpolines
11788 Kernel needs to generally use RSB stuffing
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: John Levon <john.levon@joyent.com>


 232 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-unused
 233 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-empty-body
 234 
 235 CERRWARN += -_smatch=-p=illumos_kernel
 236 include $(SRC)/Makefile.smatch
 237 
 238 #
 239 # Unfortunately, _IOWR() is regularly used with a third argument of 0,
 240 # so we have to disable all these smatch checks.
 241 #
 242 SMOFF += sizeof
 243 
 244 #
 245 # Ensure that the standard function prologue remains at the very start
 246 # of a function, so DTrace fbt will instrument the right place.
 247 #
 248 CFLAGS_uts_i386 += -_gcc7=-fno-shrink-wrap
 249 CFLAGS_uts_i386 += -_gcc8=-fno-shrink-wrap
 250 CFLAGS_uts_i386 += -_gcc9=-fno-shrink-wrap
 251 










 252 CSTD = $(CSTD_GNU99)
 253 
 254 CFLAGS_uts              =
 255 CFLAGS_uts              += $(STAND_FLAGS_$(CLASS))
 256 CFLAGS_uts              += $(CCVERBOSE)
 257 CFLAGS_uts              += $(ILDOFF)
 258 CFLAGS_uts              += $(XAOPT)
 259 CFLAGS_uts              += $(CTF_FLAGS_$(CLASS))
 260 CFLAGS_uts              += $(CERRWARN)
 261 CFLAGS_uts              += $(CCNOAUTOINLINE)
 262 CFLAGS_uts              += $(CCNOREORDER)
 263 CFLAGS_uts              += $(CCNOAGGRESSIVELOOPS)
 264 CFLAGS_uts              += $(CGLOBALSTATIC)
 265 CFLAGS_uts              += $(EXTRA_CFLAGS)
 266 CFLAGS_uts              += $(CSOURCEDEBUGFLAGS)
 267 CFLAGS_uts              += $(CUSERFLAGS)
 268 CFLAGS_uts              += $(CFLAGS_uts_$(MACH))
 269 
 270 #
 271 #       Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.




 232 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-unused
 233 $(RELEASE_BUILD)CERRWARN += -_gcc=-Wno-empty-body
 234 
 235 CERRWARN += -_smatch=-p=illumos_kernel
 236 include $(SRC)/Makefile.smatch
 237 
 238 #
 239 # Unfortunately, _IOWR() is regularly used with a third argument of 0,
 240 # so we have to disable all these smatch checks.
 241 #
 242 SMOFF += sizeof
 243 
 244 #
 245 # Ensure that the standard function prologue remains at the very start
 246 # of a function, so DTrace fbt will instrument the right place.
 247 #
 248 CFLAGS_uts_i386 += -_gcc7=-fno-shrink-wrap
 249 CFLAGS_uts_i386 += -_gcc8=-fno-shrink-wrap
 250 CFLAGS_uts_i386 += -_gcc9=-fno-shrink-wrap
 251 
 252 #
 253 # retpoline support
 254 #
 255 CFLAGS_uts_i386 += -_gcc7=-mindirect-branch=thunk-extern
 256 CFLAGS_uts_i386 += -_gcc7=-mindirect-branch-register
 257 CFLAGS_uts_i386 += -_gcc8=-mindirect-branch=thunk-extern
 258 CFLAGS_uts_i386 += -_gcc8=-mindirect-branch-register
 259 CFLAGS_uts_i386 += -_gcc9=-mindirect-branch=thunk-extern
 260 CFLAGS_uts_i386 += -_gcc9=-mindirect-branch-register
 261 
 262 CSTD = $(CSTD_GNU99)
 263 
 264 CFLAGS_uts              =
 265 CFLAGS_uts              += $(STAND_FLAGS_$(CLASS))
 266 CFLAGS_uts              += $(CCVERBOSE)
 267 CFLAGS_uts              += $(ILDOFF)
 268 CFLAGS_uts              += $(XAOPT)
 269 CFLAGS_uts              += $(CTF_FLAGS_$(CLASS))
 270 CFLAGS_uts              += $(CERRWARN)
 271 CFLAGS_uts              += $(CCNOAUTOINLINE)
 272 CFLAGS_uts              += $(CCNOREORDER)
 273 CFLAGS_uts              += $(CCNOAGGRESSIVELOOPS)
 274 CFLAGS_uts              += $(CGLOBALSTATIC)
 275 CFLAGS_uts              += $(EXTRA_CFLAGS)
 276 CFLAGS_uts              += $(CSOURCEDEBUGFLAGS)
 277 CFLAGS_uts              += $(CUSERFLAGS)
 278 CFLAGS_uts              += $(CFLAGS_uts_$(MACH))
 279 
 280 #
 281 #       Declare that $(OBJECTS) and $(LINTS) can be compiled in parallel.