Date: Tue, 13 Mar 2012 18:39:57 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r232930 - in stable/9: lib/libsm lib/libthread_db lib/libz libexec/mail.local libexec/smrsh sbin/fsdb share/mk sys/boot/i386/boot0 sys/boot/i386/boot2 sys/boot/i386/btx/btx sys/boot/i38... Message-ID: <201203131839.q2DIdvLm057155@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Tue Mar 13 18:39:57 2012 New Revision: 232930 URL: http://svn.freebsd.org/changeset/base/232930 Log: MFC r232263: Define several extra macros in bsd.sys.mk and sys/conf/kern.pre.mk, to get rid of testing explicitly for clang (using ${CC:T:Mclang}) in individual Makefiles. Instead, use the following extra macros, for use with clang: - NO_WERROR.clang (disables -Werror) - NO_WCAST_ALIGN.clang (disables -Wcast-align) - NO_WFORMAT.clang (disables -Wformat and friends) - CLANG_NO_IAS (disables integrated assembler) - CLANG_OPT_SMALL (adds flags for extra small size optimizations) As a side effect, this enables setting CC/CXX/CPP in src.conf instead of make.conf! For clang, use the following: CC=clang CXX=clang++ CPP=clang-cpp Modified: stable/9/lib/libsm/Makefile stable/9/lib/libthread_db/Makefile stable/9/lib/libz/Makefile stable/9/libexec/mail.local/Makefile stable/9/libexec/smrsh/Makefile stable/9/sbin/fsdb/Makefile stable/9/share/mk/bsd.sys.mk stable/9/sys/boot/i386/boot0/Makefile stable/9/sys/boot/i386/boot2/Makefile stable/9/sys/boot/i386/btx/btx/Makefile stable/9/sys/boot/i386/btx/btxldr/Makefile stable/9/sys/boot/i386/gptboot/Makefile stable/9/sys/boot/i386/gptzfsboot/Makefile stable/9/sys/boot/i386/libi386/Makefile stable/9/sys/boot/i386/pxeldr/Makefile stable/9/sys/boot/i386/zfsboot/Makefile stable/9/sys/boot/pc98/btx/btx/Makefile stable/9/sys/boot/pc98/btx/btxldr/Makefile stable/9/sys/conf/Makefile.amd64 stable/9/sys/conf/Makefile.i386 stable/9/sys/conf/kern.pre.mk stable/9/sys/modules/bios/smapi/Makefile stable/9/sys/modules/linux/Makefile stable/9/usr.bin/netstat/Makefile stable/9/usr.bin/vacation/Makefile stable/9/usr.sbin/sendmail/Makefile Directory Properties: stable/9/lib/libsm/ (props changed) stable/9/lib/libthread_db/ (props changed) stable/9/lib/libz/ (props changed) stable/9/libexec/mail.local/ (props changed) stable/9/libexec/smrsh/ (props changed) stable/9/sbin/fsdb/ (props changed) stable/9/share/mk/ (props changed) stable/9/sys/ (props changed) stable/9/sys/boot/ (props changed) stable/9/sys/conf/ (props changed) stable/9/usr.bin/netstat/ (props changed) stable/9/usr.bin/vacation/ (props changed) stable/9/usr.sbin/sendmail/ (props changed) Modified: stable/9/lib/libsm/Makefile ============================================================================== --- stable/9/lib/libsm/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/lib/libsm/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -18,12 +18,10 @@ CFLAGS+=${SENDMAIL_CFLAGS} WARNS?= 2 -.if ${CC:T:Mclang} == "clang" # Unfortunately, clang gives warnings about sendmail code that cannot # be turned off yet. Since this is contrib code, and we don't really # care about the warnings, just make them non-fatal for now. -NO_WERROR= -.endif +NO_WERROR.clang= LIB= sm Modified: stable/9/lib/libthread_db/Makefile ============================================================================== --- stable/9/lib/libthread_db/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/lib/libthread_db/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -16,10 +16,8 @@ SYM_MAPS+=${.CURDIR}/Symbol.map SYMBOL_MAPS=${SYM_MAPS} VERSION_DEF=${.CURDIR}/../libc/Versions.def -.if ${CC:T:Mclang} == "clang" # Unfortunately, clang gives an incorrect warning about alignment in # arch/i386/libpthread_md.c, so turn that off for now. -NO_WCAST_ALIGN= -.endif +NO_WCAST_ALIGN.clang= .include <bsd.lib.mk> Modified: stable/9/lib/libz/Makefile ============================================================================== --- stable/9/lib/libz/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/lib/libz/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -47,10 +47,6 @@ ACFLAGS+= -Wa,--noexecstack #SRCS+= gvmat64.S #CFLAGS+= -DASMV -DNO_UNDERLINE #ACFLAGS+= -Wa,--noexecstack -#.if ${CC:T:Mclang} == "clang" -## XXX: clang integrated-as doesn't grok .intel_syntax directives yet -#ACFLAGS+= ${.IMPSRC:T:Mgvmat64.S:C/^.+$/-no-integrated-as/} -#.endif #.endif VERSION_DEF= ${.CURDIR}/Versions.def @@ -71,3 +67,7 @@ test: example minigzip echo hello world | ./minigzip | ./minigzip -d ) .include <bsd.lib.mk> + +## XXX: clang integrated-as doesn't grok .intel_syntax directives yet +#ACFLAGS.gvmat64.S= ${CLANG_NO_IAS} +#ACFLAGS+= ${ACFLAGS.${.IMPSRC:T}} Modified: stable/9/libexec/mail.local/Makefile ============================================================================== --- stable/9/libexec/mail.local/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/libexec/mail.local/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -12,12 +12,10 @@ CFLAGS+=-I${SENDMAIL_DIR}/include -I. WARNS?= 2 WFORMAT=0 -.if ${CC:T:Mclang} == "clang" # Unfortunately, clang gives warnings about sendmail code that cannot # be turned off yet. Since this is contrib code, and we don't really # care about the warnings, just make them non-fatal for now. -NO_WERROR= -.endif +NO_WERROR.clang= LIBSMDIR= ${.OBJDIR}/../../lib/libsm LIBSM= ${LIBSMDIR}/libsm.a Modified: stable/9/libexec/smrsh/Makefile ============================================================================== --- stable/9/libexec/smrsh/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/libexec/smrsh/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -17,12 +17,10 @@ LDADD= ${LIBSM} WARNS?= 2 -.if ${CC:T:Mclang} == "clang" # Unfortunately, clang gives warnings about sendmail code that cannot # be turned off yet. Since this is contrib code, and we don't really # care about the warnings, just make them non-fatal for now. -NO_WERROR= -.endif +NO_WERROR.clang= SRCS+= sm_os.h CLEANFILES+=sm_os.h Modified: stable/9/sbin/fsdb/Makefile ============================================================================== --- stable/9/sbin/fsdb/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sbin/fsdb/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -9,10 +9,8 @@ SRCS= fsdb.c fsdbutil.c \ pass5.c setup.c utilities.c ffs_subr.c ffs_tables.c CFLAGS+= -I${.CURDIR}/../fsck_ffs WARNS?= 2 -.if ${CC:T:Mclang} == "clang" # Work around a problem with format string warnings and ntohs macros. -NO_WFORMAT= -.endif +NO_WFORMAT.clang= LDADD= -ledit -ltermcap DPADD= ${LIBEDIT} ${LIBTERMCAP} .PATH: ${.CURDIR}/../fsck_ffs ${.CURDIR}/../../sys/ufs/ffs Modified: stable/9/share/mk/bsd.sys.mk ============================================================================== --- stable/9/share/mk/bsd.sys.mk Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/share/mk/bsd.sys.mk Tue Mar 13 18:39:57 2012 (r232930) @@ -28,7 +28,7 @@ CFLAGS += -std=${CSTD} . if defined(WARNS) . if ${WARNS} >= 1 CWARNFLAGS += -Wsystem-headers -. if !defined(NO_WERROR) +. if !defined(NO_WERROR) && (${CC:T:Mclang} != "clang" || !defined(NO_WERROR.clang)) CWARNFLAGS += -Werror . endif . endif @@ -42,7 +42,7 @@ CWARNFLAGS += -W -Wno-unused-parameter - . if ${WARNS} >= 4 CWARNFLAGS += -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch\ -Wshadow -Wunused-parameter -. if !defined(NO_WCAST_ALIGN) +. if !defined(NO_WCAST_ALIGN) && (${CC:T:Mclang} != "clang" || !defined(NO_WCAST_ALIGN.clang)) CWARNFLAGS += -Wcast-align . endif . endif @@ -84,12 +84,12 @@ WFORMAT = 1 . if ${WFORMAT} > 0 #CWARNFLAGS += -Wformat-nonliteral -Wformat-security -Wno-format-extra-args CWARNFLAGS += -Wformat=2 -Wno-format-extra-args -. if !defined(NO_WERROR) +. if !defined(NO_WERROR) && (${CC:T:Mclang} != "clang" || !defined(NO_WERROR.clang)) CWARNFLAGS += -Werror . endif . endif . endif -. if defined(NO_WFORMAT) +. if defined(NO_WFORMAT) || (${CC:T:Mclang} == "clang" && defined(NO_WFORMAT.clang)) CWARNFLAGS += -Wno-format . endif .endif @@ -98,6 +98,12 @@ CWARNFLAGS += -Wno-format CWARNFLAGS += -Wno-unknown-pragmas .endif +.if ${CC:T:Mclang} == "clang" +CLANG_NO_IAS = -no-integrated-as +CLANG_OPT_SMALL = -mllvm -stack-alignment=8 -mllvm -inline-threshold=3 \ + -mllvm -enable-load-pre=false +.endif + .if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \ ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" # Don't use -Wstack-protector as it breaks world with -Werror. Modified: stable/9/sys/boot/i386/boot0/Makefile ============================================================================== --- stable/9/sys/boot/i386/boot0/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/boot0/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -19,12 +19,6 @@ SRCS= ${PROG}.S OPTS ?= -DVOLUME_SERIAL -DPXE CFLAGS += ${OPTS} -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mboot0.S:C/^.+$/-no-integrated-as/} -CFLAGS+= ${.IMPSRC:T:Mboot0ext.S:C/^.+$/-no-integrated-as/} -.endif - # Flags used in the boot0.S code: # 0x0f all valid partitions enabled. # 0x80 'packet', use BIOS EDD (LBA) extensions instead of CHS @@ -83,3 +77,8 @@ CFLAGS+=-DFLAGS=${BOOT_BOOT0_FLAGS} \ LDFLAGS=-e start -Ttext ${BOOT_BOOT0_ORG} -Wl,-N,-S,--oformat,binary .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.boot0.S= ${CLANG_NO_IAS} +CFLAGS.boot0ext.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/boot2/Makefile ============================================================================== --- stable/9/sys/boot/i386/boot2/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/boot2/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -40,14 +40,8 @@ CFLAGS= -Os \ -Wall -Waggregate-return -Wbad-function-cast -Wcast-align \ -Wmissing-declarations -Wmissing-prototypes -Wnested-externs \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ - -Winline --param max-inline-insns-single=100 - -.if ${CC:T:Mclang} == "clang" -CFLAGS+= -mllvm -stack-alignment=8 -mllvm -inline-threshold=3 \ - -mllvm -enable-load-pre=false -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mboot1.S:C/^.+$/-no-integrated-as/} -.endif + -Winline --param max-inline-insns-single=100 \ + ${CLANG_OPT_SMALL} LDFLAGS=-static -N --gc-sections @@ -89,9 +83,7 @@ boot2.out: ${BTXCRT} boot2.o sio.o ${LD} ${LDFLAGS} -Ttext ${ORG2} -o ${.TARGET} ${.ALLSRC} boot2.o: boot2.s -.if ${CC:T:Mclang} == "clang" ${CC} ${ACFLAGS} -c boot2.s -.endif SRCS= boot2.c boot2.h @@ -115,3 +107,7 @@ machine: .endif .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.boot1.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/btx/btx/Makefile ============================================================================== --- stable/9/sys/boot/i386/btx/btx/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/btx/btx/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -13,11 +13,6 @@ BOOT_BTX_FLAGS=0x0 CFLAGS+=-DBTX_FLAGS=${BOOT_BTX_FLAGS} -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+=${.IMPSRC:T:Mbtx.S:C/^.+$/-no-integrated-as/} -.endif - .if defined(BTX_SERIAL) BOOT_COMCONSOLE_PORT?= 0x3f8 BOOT_COMCONSOLE_SPEED?= 9600 @@ -32,3 +27,7 @@ ORG= 0x9000 LDFLAGS=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.btx.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/btx/btxldr/Makefile ============================================================================== --- stable/9/sys/boot/i386/btx/btxldr/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/btx/btxldr/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -11,11 +11,10 @@ CFLAGS+=-DLOADER_ADDRESS=${LOADER_ADDRES CFLAGS+=-DBTXLDR_VERBOSE .endif -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+=${.IMPSRC:T:Mbtxldr.S:C/^.+$/-no-integrated-as/} -.endif - LDFLAGS=-e start -Ttext ${LOADER_ADDRESS} -Wl,-N,-S,--oformat,binary .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.btxldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/gptboot/Makefile ============================================================================== --- stable/9/sys/boot/i386/gptboot/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/gptboot/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -36,11 +36,6 @@ CFLAGS= -DBOOTPROG=\"gptboot\" \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ -Winline --param max-inline-insns-single=100 -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mgptldr.S:C/^.+$/-no-integrated-as/} -.endif - LDFLAGS=-static -N --gc-sections # Pick up ../Makefile.inc early. @@ -79,3 +74,7 @@ machine: .endif .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.gptldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/gptzfsboot/Makefile ============================================================================== --- stable/9/sys/boot/i386/gptzfsboot/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/gptzfsboot/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -34,11 +34,6 @@ CFLAGS= -DBOOTPROG=\"gptzfsboot\" \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ -Winline --param max-inline-insns-single=100 -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mgptldr.S:C/^.+$/-no-integrated-as/} -.endif - LDFLAGS=-static -N --gc-sections # Pick up ../Makefile.inc early. @@ -77,3 +72,7 @@ machine: .endif .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.gptldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/libi386/Makefile ============================================================================== --- stable/9/sys/boot/i386/libi386/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/libi386/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -54,11 +54,6 @@ CFLAGS+= -I${.CURDIR}/../../common -I${. # the location of libstand CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/ -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mamd64_tramp.S:C/^.+$/-no-integrated-as/} -.endif - .if ${MACHINE_CPUARCH} == "amd64" CLEANFILES+= machine machine: @@ -67,6 +62,10 @@ machine: .include <bsd.lib.mk> +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.amd64_tramp.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} + .if ${MACHINE_CPUARCH} == "amd64" beforedepend ${OBJS}: machine .endif Modified: stable/9/sys/boot/i386/pxeldr/Makefile ============================================================================== --- stable/9/sys/boot/i386/pxeldr/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/pxeldr/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -23,11 +23,6 @@ CFLAGS+=-DPROBE_KEYBOARD CFLAGS+=-DALWAYS_SERIAL .endif -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+=${.IMPSRC:T:Mpxeldr.S:C/^.+$/-no-integrated-as/} -.endif - LOADERBIN= ${.OBJDIR}/../loader/loader.bin CLEANFILES+= ${BOOT}.tmp @@ -46,3 +41,7 @@ ${LOADER}: ${LOADERBIN} ${BTXLDR} ${BTXK -b ${BTXKERN} ${LOADERBIN} .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.pxeldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/i386/zfsboot/Makefile ============================================================================== --- stable/9/sys/boot/i386/zfsboot/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/i386/zfsboot/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -31,11 +31,6 @@ CFLAGS= -DBOOTPROG=\"zfsboot\" \ -Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \ -Winline --param max-inline-insns-single=100 -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mzfsldr.S:C/^.+$/-no-integrated-as/} -.endif - LDFLAGS=-static -N --gc-sections # Pick up ../Makefile.inc early. @@ -90,3 +85,7 @@ machine: .endif .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.zfsldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/pc98/btx/btx/Makefile ============================================================================== --- stable/9/sys/boot/pc98/btx/btx/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/pc98/btx/btx/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -13,11 +13,6 @@ BOOT_BTX_FLAGS=0x0 CFLAGS+=-DBTX_FLAGS=${BOOT_BTX_FLAGS} -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+=${.IMPSRC:T:Mbtx.S:C/^.+$/-no-integrated-as/} -.endif - .if defined(BTX_SERIAL) BOOT_COMCONSOLE_PORT?= 0x238 BOOT_COMCONSOLE_SPEED?= 9600 @@ -32,3 +27,7 @@ ORG= 0x9000 LDFLAGS=-e start -Ttext ${ORG} -Wl,-N,-S,--oformat,binary .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.btx.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/boot/pc98/btx/btxldr/Makefile ============================================================================== --- stable/9/sys/boot/pc98/btx/btxldr/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/boot/pc98/btx/btxldr/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -11,11 +11,10 @@ CFLAGS+=-DLOADER_ADDRESS=${LOADER_ADDRES CFLAGS+=-DBTXLDR_VERBOSE .endif -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+=${.IMPSRC:T:Mbtxldr.S:C/^.+$/-no-integrated-as/} -.endif - LDFLAGS=-e start -Ttext ${LOADER_ADDRESS} -Wl,-N,-S,--oformat,binary .include <bsd.prog.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.btxldr.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/conf/Makefile.amd64 ============================================================================== --- stable/9/sys/conf/Makefile.amd64 Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/conf/Makefile.amd64 Tue Mar 13 18:39:57 2012 (r232930) @@ -40,13 +40,12 @@ CFLAGS+= -fno-omit-frame-pointer MKMODULESENV+= MACHINE=amd64 -.if ${CC:T:Mclang} == "clang" # XXX: clang integrated-as doesn't grok .codeNN directives yet -ASM_CFLAGS+= ${.IMPSRC:T:Macpi_wakecode.S:C/^.+$/-no-integrated-as/} -ASM_CFLAGS+= ${.IMPSRC:T:Mia32_sigtramp.S:C/^.+$/-no-integrated-as/} -ASM_CFLAGS+= ${.IMPSRC:T:Mlinux32_locore.s:C/^.+$/-no-integrated-as/} -ASM_CFLAGS+= ${.IMPSRC:T:Mmpboot.S:C/^.+$/-no-integrated-as/} -.endif +ASM_CFLAGS.acpi_wakecode.S= ${CLANG_NO_IAS} +ASM_CFLAGS.ia32_sigtramp.S= ${CLANG_NO_IAS} +ASM_CFLAGS.linux32_locore.s= ${CLANG_NO_IAS} +ASM_CFLAGS.mpboot.S= ${CLANG_NO_IAS} +ASM_CFLAGS+= ${ASM_CFLAGS.${.IMPSRC:T}} %BEFORE_DEPEND Modified: stable/9/sys/conf/Makefile.i386 ============================================================================== --- stable/9/sys/conf/Makefile.i386 Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/conf/Makefile.i386 Tue Mar 13 18:39:57 2012 (r232930) @@ -34,11 +34,10 @@ MACHINE=i386 MKMODULESENV+= MACHINE=${MACHINE} -.if ${CC:T:Mclang} == "clang" # XXX: clang integrated-as doesn't grok .codeNN directives yet -ASM_CFLAGS+= ${.IMPSRC:T:Macpi_wakecode.S:C/^.+$/-no-integrated-as/} -ASM_CFLAGS+= ${.IMPSRC:T:Mmpboot.s:C/^.+$/-no-integrated-as/} -.endif +ASM_CFLAGS.acpi_wakecode.S= ${CLANG_NO_IAS} +ASM_CFLAGS.mpboot.s= ${CLANG_NO_IAS} +ASM_CFLAGS+= ${ASM_CFLAGS.${.IMPSRC:T}} %BEFORE_DEPEND Modified: stable/9/sys/conf/kern.pre.mk ============================================================================== --- stable/9/sys/conf/kern.pre.mk Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/conf/kern.pre.mk Tue Mar 13 18:39:57 2012 (r232930) @@ -101,6 +101,10 @@ WERROR?= -Werror # XXX LOCORE means "don't declare C stuff" not "for locore.s". ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} +.if ${CC:T:Mclang} == "clang" +CLANG_NO_IAS= -no-integrated-as +.endif + .if defined(PROFLEVEL) && ${PROFLEVEL} >= 1 CFLAGS+= -DGPROF -falign-functions=16 .if ${PROFLEVEL} >= 2 Modified: stable/9/sys/modules/bios/smapi/Makefile ============================================================================== --- stable/9/sys/modules/bios/smapi/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/modules/bios/smapi/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -7,9 +7,9 @@ KMOD= smapi SRCS= smapi.c smapi_bios.S \ bus_if.h device_if.h WERROR= -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok 16-bit assembly yet -CFLAGS+= ${.IMPSRC:T:Msmapi_bios.S:C/^.+$/-no-integrated-as/} -.endif .include <bsd.kmod.mk> + +# XXX: clang integrated-as doesn't grok 16-bit assembly yet +CFLAGS.smapi_bios.S= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/sys/modules/linux/Makefile ============================================================================== --- stable/9/sys/modules/linux/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/sys/modules/linux/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -5,11 +5,6 @@ SFX= 32 CFLAGS+=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32 .endif -.if ${CC:T:Mclang} == "clang" -# XXX: clang integrated-as doesn't grok .codeNN directives yet -CFLAGS+= ${.IMPSRC:T:Mlinux32_locore.s:C/^.+$/-no-integrated-as/} -.endif - .PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_CPUARCH}/linux${SFX} KMOD= linux @@ -69,3 +64,7 @@ CFLAGS+= -DKTR .endif .include <bsd.kmod.mk> + +# XXX: clang integrated-as doesn't grok .codeNN directives yet +CFLAGS.linux32_locore.s= ${CLANG_NO_IAS} +CFLAGS+= ${CFLAGS.${.IMPSRC:T}} Modified: stable/9/usr.bin/netstat/Makefile ============================================================================== --- stable/9/usr.bin/netstat/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/usr.bin/netstat/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -8,11 +8,9 @@ SRCS= if.c inet.c main.c mbuf.c mroute.c unix.c atalk.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c WARNS?= 3 -.if ${CC:T:Mclang} == "clang" # XXX: Work around a clang false positive with format string warnings # and ntohs macros (see LLVM PR 11313). -NO_WFORMAT= -.endif +NO_WFORMAT.clang= CFLAGS+=-fno-strict-aliasing CFLAGS+=-DIPSEC Modified: stable/9/usr.bin/vacation/Makefile ============================================================================== --- stable/9/usr.bin/vacation/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/usr.bin/vacation/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -11,12 +11,10 @@ CFLAGS+=-D_FFR_LISTDB -D_FFR_DEBUG WARNS?= 2 -.if ${CC:T:Mclang} == "clang" # Unfortunately, clang gives warnings about sendmail code that cannot # be turned off yet. Since this is contrib code, and we don't really # care about the warnings, just make them non-fatal for now. -NO_WERROR= -.endif +NO_WERROR.clang= LIBSMDIR= ${.OBJDIR}/../../lib/libsm LIBSM= ${LIBSMDIR}/libsm.a Modified: stable/9/usr.sbin/sendmail/Makefile ============================================================================== --- stable/9/usr.sbin/sendmail/Makefile Tue Mar 13 17:32:55 2012 (r232929) +++ stable/9/usr.sbin/sendmail/Makefile Tue Mar 13 18:39:57 2012 (r232930) @@ -45,12 +45,10 @@ CFLAGS+= -DNETINET6 WARNS?= 1 -.if ${CC:T:Mclang} == "clang" # Unfortunately, clang gives warnings about sendmail code that cannot # be turned off yet. Since this is contrib code, and we don't really # care about the warnings, just make them non-fatal for now. -NO_WERROR= -.endif +NO_WERROR.clang= DPADD= ${LIBUTIL} ${LIBWRAP} LDADD= -lutil -lwrap
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203131839.q2DIdvLm057155>