On Sun Oct 23 11, Robert Millan wrote: > Author: rmh > Date: Sun Oct 23 16:27:03 2011 > New Revision: 226665 > URL: http://svn.freebsd.org/changeset/base/226665 > > Log: > Conditionalize a pair of FreeBSD GCC extensions so that its CFLAGS are only > used with FreeBSD GCC.
any reason -f* flags were added to CWARNFLAGS in the first place? they aren't really warnings, are they, so adding them to CFLAGS makes more sense imo. how about: diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index a0a595f..91560e0 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -3,10 +3,9 @@ # # Warning flags for compiling the kernel and components of the kernel: # -CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ - -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ - -Wundef -Wno-pointer-sign -fformat-extensions \ - -Wmissing-include-dirs -fdiagnostics-show-option +CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes\ + -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual\ + -Wundef -Wno-pointer-sign -Wmissing-include-dirs # # The following flags are next up for working on: # -Wextra @@ -83,7 +82,7 @@ CFLAGS+= -mno-sse .else CFLAGS+= -mno-aes -mno-avx .endif -CFLAGS+= -mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float \ +CFLAGS+= -mcmodel=kernel -mno-red-zone -mno-mmx -msoft-float\ -fno-asynchronous-unwind-tables INLINE_LIMIT?= 8000 .endif @@ -120,11 +119,19 @@ INLINE_LIMIT?= 8000 CFLAGS+= -ffreestanding # +# Enable FreeBSD kernel-specific printf format specifiers. Also instruct gcc to +# enable some diagnostics, which make it easier to pinpoint tinderbox failures. +# Clang already has these diagnostics enabled by default. +# +CFLAGS+= -fformat-extensions -fdiagnostics-show-option + +# # GCC SSP support # this also gets rid of some cases where double spaces occur during compilation. that's just eye candy though. cheers. alex > > Approved by: kib (mentor) > > Modified: > head/sys/conf/kern.mk > > Modified: head/sys/conf/kern.mk > ============================================================================== > --- head/sys/conf/kern.mk Sun Oct 23 16:04:07 2011 (r226664) > +++ head/sys/conf/kern.mk Sun Oct 23 16:27:03 2011 (r226665) > @@ -1,11 +1,21 @@ > # $FreeBSD$ > > +.if ${CC:T:Mclang} != "clang" > +FREEBSD_GCC!= ${CC} --version | grep FreeBSD || true > +.endif > + > # > # Warning flags for compiling the kernel and components of the kernel: > # > +.if ${FREEBSD_GCC} > +# FreeBSD extensions, not available in upstream GCC > +format_extensions= -fformat-extensions > +no_align_long_strings= -mno-align-long-strings > +.endif > + > CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ > -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ > - -Wundef -Wno-pointer-sign -fformat-extensions \ > + -Wundef -Wno-pointer-sign ${format_extensions} \ > -Wmissing-include-dirs -fdiagnostics-show-option > # > # The following flags are next up for working on: > @@ -32,7 +42,7 @@ CWARNFLAGS?= -Wall -Wredundant-decls -Wn > # > .if ${MACHINE_CPUARCH} == "i386" > .if ${CC:T:Mclang} != "clang" > -CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-sse > +CFLAGS+= ${no_align_long_strings} -mpreferred-stack-boundary=2 -mno-sse > .else > CFLAGS+= -mno-aes -mno-avx > .endif _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"