Print this page
10468 __ctype_mask[EOF] has been working by accident
10469 GCC's -faggressive-loop-optimizations is too aggressive
10470 array over-read in has_saved_fp()
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: John Levon <john.levon@joyent.com>

*** 370,379 **** --- 370,390 ---- # but the application of this may move into usr/src/uts/ in future. CCNOREORDER= \ -_gcc7=-fno-reorder-functions \ -_gcc8=-fno-reorder-functions + # + # gcc has a rather aggressive optimization on by default that infers loop + # bounds based on undefined behavior (!!). This can lead to some VERY + # surprising optimizations -- ones that may be technically correct in the + # strictest sense but also result in incorrect program behavior. We turn + # this optimization off, with extreme prejudice. + # + CCNOAGGRESSIVELOOPS= \ + -_gcc7=-fno-aggressive-loop-optimizations \ + -_gcc8=-fno-aggressive-loop-optimizations + # One optimization the compiler might perform is to turn this: # #pragma weak foo # extern int foo; # if (&foo) # foo = 5;
*** 599,612 **** --- 610,625 ---- $(SRCDBGBLD)CCSOURCEDEBUGFLAGS = $(CCGDEBUG) -xs CFLAGS= $(COPTFLAG) $($(MACH)_CFLAGS) $(SPACEFLAG) $(CCMODE) \ $(ILDOFF) $(CERRWARN) $(CSTD) $(CCUNBOUND) $(IROPTFLAG) \ $(CGLOBALSTATIC) $(CCNOAUTOINLINE) $(CCNOREORDER) \ + $(CCNOAGGRESSIVELOOPS) \ $(CSOURCEDEBUGFLAGS) $(CUSERFLAGS) CFLAGS64= $(COPTFLAG64) $($(MACH64)_CFLAGS) $(SPACEFLAG64) $(CCMODE64) \ $(ILDOFF) $(CERRWARN) $(CSTD) $(CCUNBOUND) $(IROPTFLAG64) \ $(CGLOBALSTATIC) $(CCNOAUTOINLINE) $(CCNOREORDER) \ + $(CCNOAGGRESSIVELOOPS) \ $(CSOURCEDEBUGFLAGS) $(CUSERFLAGS64) # # Flags that are used to build parts of the code that are subsequently # run on the build machine (also known as the NATIVE_BUILD). #