summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2015-02-17 19:27:14 +0000
committerglebius <glebius@FreeBSD.org>2015-02-17 19:27:14 +0000
commit557c602e55ae9ccce10a6ec3f9e9fe16334bdfe1 (patch)
treee7455c7898e3607c9a20f4576ca097868e1705f2 /sys/conf
parentcee0ede2f203b96296d38ec04d3e1e4d0fa54404 (diff)
downloadFreeBSD-src-557c602e55ae9ccce10a6ec3f9e9fe16334bdfe1.zip
FreeBSD-src-557c602e55ae9ccce10a6ec3f9e9fe16334bdfe1.tar.gz
Globally enable -fms-extensions when building kernel with gcc, and remove
this option from all modules that enable it theirselves. In C mode -fms-extensions option enables anonymous structs and unions, allowing us to use this C11 feature in kernel. Of course, clang supports it without any extra options. Reviewed by: dim
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/files2
-rw-r--r--sys/conf/kern.mk1
-rw-r--r--sys/conf/kern.pre.mk4
-rw-r--r--sys/conf/kmod.mk1
4 files changed, 4 insertions, 4 deletions
diff --git a/sys/conf/files b/sys/conf/files
index 6c0373e..c08e40c 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -1141,7 +1141,7 @@ dev/cxgb/sys/uipc_mvec.c optional cxgb pci \
dev/cxgb/cxgb_t3fw.c optional cxgb cxgb_t3fw \
compile-with "${NORMAL_C} -I$S/dev/cxgb"
dev/cxgbe/t4_mp_ring.c optional cxgbe pci \
- compile-with "${NORMAL_C} -I$S/dev/cxgbe ${GCC_MS_EXTENSIONS}"
+ compile-with "${NORMAL_C} -I$S/dev/cxgbe"
dev/cxgbe/t4_main.c optional cxgbe pci \
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
dev/cxgbe/t4_netmap.c optional cxgbe pci \
diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
index 4317de5..340da8c 100644
--- a/sys/conf/kern.mk
+++ b/sys/conf/kern.mk
@@ -39,7 +39,6 @@ CLANG_NO_IAS34= -no-integrated-as
.endif
.if ${COMPILER_TYPE} == "gcc"
-GCC_MS_EXTENSIONS= -fms-extensions
.if ${COMPILER_VERSION} >= 40300
# Catch-all for all the things that are in our tree, but for which we're
# not yet ready for this compiler. Note: we likely only really "support"
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index 232d88b..ede4ae8 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -97,7 +97,7 @@ CFLAGS_PARAM_LARGE_FUNCTION_GROWTH?=1000
.if ${MACHINE_CPUARCH} == "mips"
CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000
.endif
-CFLAGS.gcc+= -fno-common -finline-limit=${INLINE_LIMIT}
+CFLAGS.gcc+= -fno-common -fms-extensions -finline-limit=${INLINE_LIMIT}
CFLAGS.gcc+= --param inline-unit-growth=${CFLAGS_PARAM_INLINE_UNIT_GROWTH}
CFLAGS.gcc+= --param large-function-growth=${CFLAGS_PARAM_LARGE_FUNCTION_GROWTH}
.if defined(CFLAGS_ARCH_PARAMS)
@@ -162,7 +162,7 @@ NORMAL_LINT= ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} ${.IMPSRC}
# Infiniband C flags. Correct include paths and omit errors that linux
# does not honor.
OFEDINCLUDES= -I$S/ofed/include/
-OFEDNOERR= -Wno-cast-qual -Wno-pointer-arith ${GCC_MS_EXTENSIONS}
+OFEDNOERR= -Wno-cast-qual -Wno-pointer-arith
OFEDCFLAGS= ${CFLAGS:N-I*} ${OFEDINCLUDES} ${CFLAGS:M-I*} ${OFEDNOERR}
OFED_C_NOIMP= ${CC} -c -o ${.TARGET} ${OFEDCFLAGS} ${WERROR} ${PROF}
OFED_C= ${OFED_C_NOIMP} ${.IMPSRC}
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index 8e00aa4..91d4f49 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -105,6 +105,7 @@ CFLAGS+= -I. -I${SYSDIR}
CFLAGS+= -I${SYSDIR}/contrib/altq
CFLAGS.gcc+= -finline-limit=${INLINE_LIMIT}
+CFLAGS.gcc+= -fms-extensions
CFLAGS.gcc+= --param inline-unit-growth=100
CFLAGS.gcc+= --param large-function-growth=1000
OpenPOWER on IntegriCloud