summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/build.mk1
-rw-r--r--mk/package.mk2
-rw-r--r--mk/vars.mk19
-rw-r--r--package/arcboot/Makefile3
-rw-r--r--package/barebox/Makefile1
-rw-r--r--package/binutils/Makefile2
-rw-r--r--package/cryptodev-linux/Makefile4
-rw-r--r--package/dhcp/Makefile3
-rw-r--r--package/dhcp/patches/patch-bind_Makefile_in41
-rw-r--r--package/dillo/Makefile1
-rw-r--r--package/freeradius-server/Makefile1
-rw-r--r--package/freeswitch/Makefile1
-rw-r--r--package/gcc/Makefile3
-rw-r--r--package/gcc/patches/4.7.3/cflags.patch253
-rw-r--r--package/gcc/patches/5.4.0/cflags.patch222
-rw-r--r--package/glibc/Makefile4
-rw-r--r--package/grub/Makefile1
-rw-r--r--package/jack/Makefile1
-rw-r--r--package/libc-test/Makefile2
-rw-r--r--package/libpcap/Makefile1
-rw-r--r--package/ltp/Makefile1
-rw-r--r--package/mplayer/Makefile1
-rw-r--r--package/nfs-utils/Makefile1
-rw-r--r--package/nginx/Makefile1
-rw-r--r--package/nmap/Makefile1
-rw-r--r--package/openjdk7/Makefile2
-rw-r--r--package/openntpd/Makefile1
-rw-r--r--package/perf/Makefile4
-rw-r--r--package/poco/Makefile1
-rw-r--r--package/postfix/Makefile1
-rw-r--r--package/pycurl/Makefile5
-rw-r--r--package/python3/Makefile1
-rw-r--r--package/rrdtool/Makefile1
-rw-r--r--package/squid/Makefile1
-rw-r--r--package/strace/Makefile5
-rw-r--r--package/subversion/Makefile1
-rw-r--r--package/sysdig/Makefile3
-rw-r--r--package/sysvinit/Makefile1
-rw-r--r--package/tcpdump/Makefile2
-rw-r--r--package/tvheadend/Makefile2
-rw-r--r--package/u-boot-avr32/Makefile4
-rw-r--r--package/u-boot-h8300/Makefile66
-rw-r--r--package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h11
-rw-r--r--package/u-boot/Makefile4
-rw-r--r--package/wolfssl/Makefile1
-rw-r--r--package/xinetd/Makefile1
-rw-r--r--package/ympd/Makefile1
-rw-r--r--package/zip/Makefile1
-rw-r--r--target/config/Config.in.adk6
-rw-r--r--target/config/Config.in.compiler8
-rw-r--r--toolchain/gcc/patches/4.4.7/cflags.patch257
-rw-r--r--toolchain/gcc/patches/4.9.4/cflags.patch222
52 files changed, 16 insertions, 1168 deletions
diff --git a/mk/build.mk b/mk/build.mk
index 67a53896a..9813db404 100644
--- a/mk/build.mk
+++ b/mk/build.mk
@@ -17,7 +17,6 @@ DEFCONFIG= ADK_DEBUG=n \
ADK_PACKAGE_BUSYBOX_HIDE=n \
ADK_DISABLE_KERNEL_PATCHES=n \
ADK_DISABLE_TARGET_KERNEL_PATCHES=n \
- ADK_DISABLE_HONOUR_CFLAGS=n \
ADK_KERNEL_FB_CON_DECOR=n \
ADK_MAKE_PARALLEL=y \
ADK_MAKE_JOBS=4 \
diff --git a/mk/package.mk b/mk/package.mk
index e6bb0fed0..88dcaadb7 100644
--- a/mk/package.mk
+++ b/mk/package.mk
@@ -20,7 +20,6 @@ CONFIGURE_ENV+= PATH='${TARGET_PATH}' \
${TARGET_ENV} \
PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig:${STAGING_TARGET_DIR}/usr/share/pkgconfig' \
PKG_CONFIG_SYSROOT_DIR='${STAGING_TARGET_DIR}' \
- GCC_HONOUR_COPTS=s \
cross_compiling=yes
CONFIGURE_PROG?= configure
@@ -41,7 +40,6 @@ MAKE_ENV+= PATH='${TARGET_PATH}' \
${TARGET_ENV} \
PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig:${STAGING_TARGET_DIR}/usr/share/pkgconfig' \
PKG_CONFIG_SYSROOT_DIR='${STAGING_TARGET_DIR}' \
- $(GCC_CHECK) \
WRKDIR='${WRKDIR}' WRKDIST='${WRKDIST}' \
WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}'
diff --git a/mk/vars.mk b/mk/vars.mk
index 850a45a72..0a6c1e5a0 100644
--- a/mk/vars.mk
+++ b/mk/vars.mk
@@ -65,12 +65,6 @@ TARGET_PATH= ${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${TOOLCHAIN_DIR}/usr/b
HOST_PATH= ${SCRIPT_DIR}:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/sbin:${_PATH}
AUTOTOOL_PATH= ${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
-ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)
-GCC_CHECK:= GCC_HONOUR_COPTS=2
-else
-GCC_CHECK:=
-endif
-
ifeq ($(ADK_TARGET_UCLINUX),y)
ADK_TARGET_LINUXTYPE:= uclinux
else
@@ -139,13 +133,6 @@ TARGET_LDFLAGS:= -L$(STAGING_TARGET_DIR)/lib -L$(STAGING_TARGET_DIR)/usr/lib \
-Wl,-O1 -Wl,-rpath -Wl,/usr/lib \
-Wl,-rpath-link -Wl,${STAGING_TARGET_DIR}/usr/lib
-ifeq ($(ADK_BUILD_COMPILER_GCC),y)
-ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)
-TARGET_CFLAGS+= -fhonour-copts
-TARGET_CXXFLAGS+= -fhonour-copts
-endif
-endif
-
# for architectures where gcc --with-cpu matches -mcpu=
ifneq ($(ADK_TARGET_GCC_CPU),)
TARGET_CFLAGS+= -mcpu=$(ADK_TARGET_GCC_CPU)
@@ -336,12 +323,6 @@ KERNEL_MODULE_FLAGS:= ARCH=${ADK_TARGET_KARCH} \
CROSS_COMPILE="${TARGET_CROSS}" \
V=1
-ifeq ($(ADK_BUILD_COMPILER_GCC),y)
-ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)
-KERNEL_MODULE_FLAGS+= CFLAGS_MODULE="-fhonour-copts"
-endif
-endif
-
COMMON_ENV= CONFIG_SHELL='$(strip ${SHELL})' \
AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \
M4='${STAGING_HOST_DIR}/usr/bin/m4' \
diff --git a/package/arcboot/Makefile b/package/arcboot/Makefile
index 58ef78c9c..4cfeefbe5 100644
--- a/package/arcboot/Makefile
+++ b/package/arcboot/Makefile
@@ -22,8 +22,7 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,ARCBOOT,arcboot,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s \
- E2FSINCLUDEDIR='$(STAGING_TARGET_DIR)/usr/include/ext2fs' \
+XAKE_FLAGS+= E2FSINCLUDEDIR='$(STAGING_TARGET_DIR)/usr/include/ext2fs' \
EXT2LIB='$(STAGING_TARGET_DIR)/usr/lib/libext2fs.a'
CONFIG_STYLE:= manual
diff --git a/package/barebox/Makefile b/package/barebox/Makefile
index 1dae9f785..7cc4796c8 100644
--- a/package/barebox/Makefile
+++ b/package/barebox/Makefile
@@ -39,7 +39,6 @@ do-build:
PATH='$(HOST_PATH)' \
ARCH='$(ADK_TARGET_ARCH)' \
CROSS_COMPILE='$(TARGET_CROSS)' \
- GCC_HONOUR_COPTS=s \
$(MAKE))
barebox-install:
diff --git a/package/binutils/Makefile b/package/binutils/Makefile
index 89c5a36ee..9efce8208 100644
--- a/package/binutils/Makefile
+++ b/package/binutils/Makefile
@@ -41,8 +41,6 @@ CONFIGURE_ARGS+= --disable-werror \
--disable-install-libiberty \
--host=$(GNU_TARGET_NAME) \
--target=$(GNU_TARGET_NAME)
-# disable honour cflags stuff
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
libbfd-install:
${INSTALL_DIR} ${IDIR_LIBBFD}/usr/lib
diff --git a/package/cryptodev-linux/Makefile b/package/cryptodev-linux/Makefile
index dea7f2217..b1f966465 100644
--- a/package/cryptodev-linux/Makefile
+++ b/package/cryptodev-linux/Makefile
@@ -28,9 +28,9 @@ BUILD_STYLE:= manual
INSTALL_STYLE:= manual
do-build:
- GCC_HONOUR_COPTS=s ${MAKE} -C "${WRKBUILD}"/tests check
+ ${MAKE} -C "${WRKBUILD}"/tests check
${MAKE} -C "${WRKBUILD}" version.h
- GCC_HONOUR_COPTS=0 LDFLAGS="" ${MAKE} -C ${LINUX_DIR} ${KERNEL_MAKE_OPTS} M="${WRKBUILD}" modules
+ LDFLAGS="" ${MAKE} -C ${LINUX_DIR} ${KERNEL_MAKE_OPTS} M="${WRKBUILD}" modules
${INSTALL_DIR} ${WRKINST}/usr/include/crypto
${INSTALL_DATA} ${WRKBUILD}/crypto/cryptodev.h \
${WRKINST}/usr/include/crypto/
diff --git a/package/dhcp/Makefile b/package/dhcp/Makefile
index b777ef252..d86e13725 100644
--- a/package/dhcp/Makefile
+++ b/package/dhcp/Makefile
@@ -23,8 +23,7 @@ include ${ADK_TOPDIR}/mk/package.mk
$(eval $(call PKG_template,DHCP_SERVER,dhcp-server,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,DHCP_RELAY,dhcp-relay,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_DHCP_RELAY},${PKG_SECTION}))
-MAKE_ENV+= GCC_HONOUR_COPTS=s \
- BUILD_CC="$(HOST_CC)" \
+MAKE_ENV+= BUILD_CC="$(HOST_CC)" \
BUILD_CFLAGS="$(HOST_CFLAGS)" \
BUILD_CPPFLAGS="$(HOST_CPPFLAGS)" \
BUILD_LDFLAGS="$(HOST_LDFLAGS)"
diff --git a/package/dhcp/patches/patch-bind_Makefile_in b/package/dhcp/patches/patch-bind_Makefile_in
index c6ffe3f33..8f686ec26 100644
--- a/package/dhcp/patches/patch-bind_Makefile_in
+++ b/package/dhcp/patches/patch-bind_Makefile_in
@@ -11,44 +11,3 @@
@BIND_ATF_FALSE@cleandirs = ./lib ./include
@BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf
-@@ -64,7 +66,7 @@ bind1:
- echo Configuring BIND Export libraries for DHCP. ; \
- rm -rf ${cleandirs} ${cleanfiles} ; \
- (cd ${bindsrcdir} && \
-- ./configure ${bindconfig} > ${binddir}/configure.log); \
-+ GCC_HONOUR_COPTS=s ./configure ${bindconfig}) ; \
- fi
-
- atf:
-@@ -90,11 +92,11 @@ bind2-noguest:
- echo Building BIND Export libraries - this takes some time. ;\
- (cd ${bindsrcdir}/lib/export ; \
- echo building in `pwd` ; \
-- MAKE=${GMAKE} ${GMAKE} >> ${binddir}/build.log) ; \
-+ GCC_HONOUR_COPTS=s MAKE=${GMAKE} ${GMAKE} ) ; \
- \
- echo Installing BIND Export libraries to ${binddir}. ; \
- (cd ${bindsrcdir}/lib/export ; \
-- MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \
-+ GCC_HONOUR_COPTS=s MAKE=${GMAKE} ${GMAKE} install ) ; \
- fi
-
- bind2-hostgen:
-@@ -106,14 +108,14 @@ bind2-hostgen:
- echo Building BIND Export libraries - this takes some time. ;\
- (cd ${bindsrcdir}/lib/export/dns ; \
- echo building gen using ${BUILD_CC} in `pwd` ; \
-- MAKE=${GMAKE} ${GMAKE} CC=${BUILD_CC} CFLAGS=${BUILD_CFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} LIBS=${BUILD_LIBS} gen >> ${binddir}/build.log) ; \
-+ GCC_HONOUR_COPTS=s MAKE=${GMAKE} ${GMAKE} CC=${BUILD_CC} CFLAGS=${BUILD_CFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} LIBS=${BUILD_LIBS} gen ) ; \
- (cd ${bindsrcdir}/lib/export ; \
- echo building in `pwd` ; \
-- MAKE=${GMAKE} ${GMAKE} >> ${binddir}/build.log) ; \
-+ GCC_HONOUR_COPTS=s MAKE=${GMAKE} ${GMAKE} ) ; \
- \
- echo Installing BIND Export libraries to ${binddir}. ; \
- (cd ${bindsrcdir}/lib/export ; \
-- MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \
-+ GCC_HONOUR_COPTS=s MAKE=${GMAKE} ${GMAKE} install ) ; \
- fi
-
- clean:
diff --git a/package/dillo/Makefile b/package/dillo/Makefile
index d45fb4ba1..31316f69c 100644
--- a/package/dillo/Makefile
+++ b/package/dillo/Makefile
@@ -27,7 +27,6 @@ $(eval $(call PKG_template,DILLO,dillo,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPEN
TARGET_LDFLAGS+= -liconv
CONFIGURE_ENV+= PNG_CONFIG=$(STAGING_TARGET_DIR)/scripts/libpng-config
CONFIGURE_ARGS+= --enable-ssl
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
dillo-install:
$(INSTALL_DIR) $(IDIR_DILLO)/etc/dillo
diff --git a/package/freeradius-server/Makefile b/package/freeradius-server/Makefile
index 6cf58e7b4..60647d336 100644
--- a/package/freeradius-server/Makefile
+++ b/package/freeradius-server/Makefile
@@ -135,7 +135,6 @@ $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,))
$(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,))
AUTOTOOL_STYLE:= autoreconf
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \
--libdir=/usr/lib/freeradius \
--libexecdir=/usr/lib/freeradius \
diff --git a/package/freeswitch/Makefile b/package/freeswitch/Makefile
index 28a1866e1..e5eeadf33 100644
--- a/package/freeswitch/Makefile
+++ b/package/freeswitch/Makefile
@@ -20,7 +20,6 @@ include $(ADK_TOPDIR)/mk/package.mk
$(eval $(call PKG_template,FREESWITCH,freeswitch,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION)))
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
CONFIGURE_ARGS+= --disable-core-libedit-support \
--disable-libvpx
CONFIGURE_ENV+= ac_cv_file__dev_ptmx=yes \
diff --git a/package/gcc/Makefile b/package/gcc/Makefile
index 0ac31220a..a971b97f9 100644
--- a/package/gcc/Makefile
+++ b/package/gcc/Makefile
@@ -74,9 +74,6 @@ CONFIGURE_ARGS+= --host=$(GNU_TARGET_NAME) \
--enable-dependency-tracking \
--enable-cxx-flags="${TARGET_LDFLAGS}"
-# disable honour cflags stuff
-XAKE_FLAGS+= GCC_HONOUR_COPTS=s
-
pre-configure:
$(SED) 's@\./fixinc\.sh@-c true@' $(WRKSRC)/gcc/Makefile.in
$(SED) 's/install_to_$$(INSTALL_DEST) //' ${WRKSRC}/libiberty/Makefile.in
diff --git a/package/gcc/patches/4.7.3/cflags.patch b/package/gcc/patches/4.7.3/cflags.patch
deleted file mode 100644
index 3623d3872..000000000
--- a/package/gcc/patches/4.7.3/cflags.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-
- This patch brings over a few features from MirBSD:
- * -fhonour-copts
- If this option is not given, it's warned (depending
- on environment variables). This is to catch errors
- of misbuilt packages which override CFLAGS themselves.
- * -Werror-maybe-reset
- Has the effect of -Wno-error if GCC_NO_WERROR is
- set and not '0', a no-operation otherwise. This is
- to be able to use -Werror in "make" but prevent
- GNU autoconf generated configure scripts from
- freaking out.
- * Make -fno-strict-aliasing and -fno-delete-null-pointer-checks
- the default for -O2/-Os, because they trigger gcc bugs
- and can delete code with security implications.
-
- This patch was authored by Thorsten Glaser <tg at mirbsd.de>
- with copyright assignment to the FSF in effect.
-
---- a/gcc/c-family/c-opts.c
-+++ b/gcc/c-family/c-opts.c
-@@ -103,6 +103,9 @@ static size_t deferred_count;
- /* Number of deferred options scanned for -include. */
- static size_t include_cursor;
-
-+/* Check if a port honours COPTS. */
-+static int honour_copts = 0;
-+
- static void handle_OPT_d (const char *);
- static void set_std_cxx98 (int);
- static void set_std_cxx0x (int);
-@@ -441,6 +444,9 @@ c_common_handle_option (size_t scode, co
- global_dc->warning_as_error_requested = value;
- break;
-
-+ case OPT_Werror_maybe_reset:
-+ break;
-+
- case OPT_Wformat:
- set_Wformat (value);
- break;
-@@ -584,6 +590,12 @@ c_common_handle_option (size_t scode, co
- flag_no_builtin = !value;
- break;
-
-+ case OPT_fhonour_copts:
-+ if (c_language == clk_c) {
-+ honour_copts++;
-+ }
-+ break;
-+
- case OPT_fconstant_string_class_:
- constant_string_class_name = arg;
- break;
-@@ -1058,6 +1070,47 @@ c_common_init (void)
- return false;
- }
-
-+ if (c_language == clk_c) {
-+ char *ev = getenv ("GCC_HONOUR_COPTS");
-+ int evv;
-+ if (ev == NULL)
-+ evv = -1;
-+ else if ((*ev == '0') || (*ev == '\0'))
-+ evv = 0;
-+ else if (*ev == '1')
-+ evv = 1;
-+ else if (*ev == '2')
-+ evv = 2;
-+ else if (*ev == 's')
-+ evv = -1;
-+ else {
-+ warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1");
-+ evv = 1; /* maybe depend this on something like MIRBSD_NATIVE? */
-+ }
-+ if (evv == 1) {
-+ if (honour_copts == 0) {
-+ error ("someone does not honour COPTS at all in lenient mode");
-+ return false;
-+ } else if (honour_copts != 1) {
-+ warning (0, "someone does not honour COPTS correctly, passed %d times",
-+ honour_copts);
-+ }
-+ } else if (evv == 2) {
-+ if (honour_copts == 0) {
-+ error ("someone does not honour COPTS at all in strict mode");
-+ return false;
-+ } else if (honour_copts != 1) {
-+ error ("someone does not honour COPTS correctly, passed %d times",
-+ honour_copts);
-+ return false;
-+ }
-+ } else if (evv == 0) {
-+ if (honour_copts != 1)
-+ inform (0, "someone does not honour COPTS correctly, passed %d times",
-+ honour_copts);
-+ }
-+ }
-+
- return true;
- }
-
---- a/gcc/c-family/c.opt
-+++ b/gcc/c-family/c.opt
-@@ -363,6 +363,10 @@ Werror-implicit-function-declaration
- C ObjC RejectNegative Warning Alias(Werror=, implicit-function-declaration)
- This switch is deprecated; use -Werror=implicit-function-declaration instead
-
-+Werror-maybe-reset
-+C ObjC C++ ObjC++
-+; Documented in common.opt
-+
- Wfloat-equal
- C ObjC C++ ObjC++ Var(warn_float_equal) Warning
- Warn if testing floating point numbers for equality
-@@ -794,6 +798,9 @@ C++ ObjC++ Optimization Alias(fexception
- fhonor-std
- C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
-
-+fhonour-copts
-+C ObjC C++ ObjC++ RejectNegative
-+
- fhosted
- C ObjC
- Assume normal C execution environment
---- a/gcc/common.opt
-+++ b/gcc/common.opt
-@@ -520,6 +520,10 @@ Werror=
- Common Joined
- Treat specified warning as error
-
-+Werror-maybe-reset
-+Common
-+If environment variable GCC_NO_WERROR is set, act as -Wno-error
-+
- Wextra
- Common Var(extra_warnings) Warning
- Print extra (possibly unwanted) warnings
-@@ -1156,6 +1160,9 @@ fguess-branch-probability
- Common Report Var(flag_guess_branch_prob) Optimization
- Enable guessing of branch probabilities
-
-+fhonour-copts
-+Common RejectNegative
-+
- ; Nonzero means ignore `#ident' directives. 0 means handle them.
- ; Generate position-independent code for executables if possible
- ; On SVR4 targets, it also controls whether or not to emit a
---- a/gcc/opts.c
-+++ b/gcc/opts.c
-@@ -477,8 +477,6 @@ static const struct default_options defa
- { OPT_LEVELS_2_PLUS, OPT_fschedule_insns2, NULL, 1 },
- #endif
- { OPT_LEVELS_2_PLUS, OPT_fregmove, NULL, 1 },
-- { OPT_LEVELS_2_PLUS, OPT_fstrict_aliasing, NULL, 1 },
-- { OPT_LEVELS_2_PLUS, OPT_fstrict_overflow, NULL, 1 },
- { OPT_LEVELS_2_PLUS, OPT_freorder_blocks, NULL, 1 },
- { OPT_LEVELS_2_PLUS, OPT_freorder_functions, NULL, 1 },
- { OPT_LEVELS_2_PLUS, OPT_ftree_vrp, NULL, 1 },
-@@ -494,6 +492,8 @@ static const struct default_options defa
- { OPT_LEVELS_2_PLUS, OPT_falign_functions, NULL, 1 },
-
- /* -O3 optimizations. */
-+ { OPT_LEVELS_3_PLUS, OPT_fstrict_aliasing, NULL, 1 },
-+ { OPT_LEVELS_3_PLUS, OPT_fstrict_overflow, NULL, 1 },
- { OPT_LEVELS_3_PLUS, OPT_ftree_loop_distribute_patterns, NULL, 1 },
- { OPT_LEVELS_3_PLUS, OPT_fpredictive_commoning, NULL, 1 },
- /* Inlining of functions reducing size is a good idea with -Os
-@@ -1399,6 +1399,17 @@ common_handle_option (struct gcc_options
- opts, opts_set, loc, dc);
- break;
-
-+ case OPT_Werror_maybe_reset:
-+ {
-+ char *ev = getenv ("GCC_NO_WERROR");
-+ if ((ev != NULL) && (*ev != '0'))
-+ warnings_are_errors = 0;
-+ }
-+ break;
-+
-+ case OPT_fhonour_copts:
-+ break;
-+
- case OPT_Wlarger_than_:
- opts->x_larger_than_size = value;
- opts->x_warn_larger_than = value != -1;
---- a/gcc/doc/cppopts.texi
-+++ b/gcc/doc/cppopts.texi
-@@ -164,6 +164,11 @@ in older programs. This warning is on b
- Make all warnings into hard errors. Source code which triggers warnings
- will be rejected.
-
-+ at item -Werror-maybe-reset
-+ at opindex Werror-maybe-reset
-+Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment
-+variable is set to anything other than 0 or empty.
-+
- @item -Wsystem-headers
- @opindex Wsystem-headers
- Issue warnings for code in system headers. These are normally unhelpful
---- a/gcc/doc/invoke.texi
-+++ b/gcc/doc/invoke.texi
-@@ -240,7 +240,7 @@ Objective-C and Objective-C++ Dialects}.
- -Wconversion -Wcoverage-mismatch -Wno-cpp -Wno-deprecated @gol
- -Wno-deprecated-declarations -Wdisabled-optimization @gol
- -Wno-div-by-zero -Wdouble-promotion -Wempty-body -Wenum-compare @gol
---Wno-endif-labels -Werror -Werror=* @gol
-+-Wno-endif-labels -Werror -Werror=* -Werror-maybe-reset @gol
- -Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
- -Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
- -Wformat-security -Wformat-y2k @gol
-@@ -4497,6 +4497,22 @@ This option is only supported for C and
- @option{-Wall} and by @option{-pedantic}, which can be disabled with
- @option{-Wno-pointer-sign}.
-
-+ at item -Werror-maybe-reset
-+ at opindex Werror-maybe-reset
-+Act like @samp{-Wno-error} if the @env{GCC_NO_WERROR} environment
-+variable is set to anything other than 0 or empty.
-+
-+ at item -fhonour-copts
-+ at opindex fhonour-copts
-+If @env{GCC_HONOUR_COPTS} is set to 1, abort if this option is not
-+given at least once, and warn if it is given more than once.
-+If @env{GCC_HONOUR_COPTS} is set to 2, abort if this option is not
-+given exactly once.
-+If @env{GCC_HONOUR_COPTS} is set to 0 or unset, warn if this option
-+is not given exactly once.
-+The warning is quelled if @env{GCC_HONOUR_COPTS} is set to @samp{s}.
-+This flag and environment variable only affect the C language.
-+
- @item -Wstack-protector
- @opindex Wstack-protector
- @opindex Wno-stack-protector
-@@ -6319,7 +6335,7 @@ so, the first branch is redirected to ei
- second branch or a point immediately following it, depending on whether
- the condition is known to be true or false.
-
--Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}.
-+Enabled at levels @option{-O3}.
-
- @item -fsplit-wide-types
- @opindex fsplit-wide-types
---- a/gcc/java/jvspec.c
-+++ b/gcc/java/jvspec.c
-@@ -627,6 +627,7 @@ lang_specific_pre_link (void)
- class name. Append dummy `.c' that can be stripped by set_input so %b
- is correct. */
- set_input (concat (main_class_name, "main.c", NULL));
-+ putenv ("GCC_HONOUR_COPTS=s"); /* XXX hack! */
- err = do_spec (jvgenmain_spec);
- if (err == 0)
- {
diff --git a/package/gcc/patches/5.4.0/cflags.patch b/package/gcc/patches/5.4.0/cflags.patch
deleted file mode 100644
index 7ebb5e548..000000000
--- a/package/gcc/patches/5.4.0/cflags.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-diff -Nur gcc-5.1.0.orig/gcc/c-family/c-opts.c gcc-5.1.0/gcc/c-family/c-opts.c
---- gcc-5.1.0.orig/gcc/c-family/c-opts.c 2015-02-13 06:26:37.000000000 +0100
-+++ gcc-5.1.0/gcc/c-family/c-opts.c 2015-05-01 23:07:27.000000000 +0200
-@@ -122,6 +122,9 @@
- /* Whether any standard preincluded header has been preincluded. */
- static bool done_preinclude;
-
-+/* Check if a port honours COPTS. */
-+static int honour_copts = 0;
-+
- static void handle_OPT_d (const char *);
- static void set_std_cxx98 (int);
- static void set_std_cxx11 (int);
-@@ -449,6 +452,12 @@
- flag_no_builtin = !value;
- break;
-
-+ case OPT_fhonour_copts:
-+ if (c_language == clk_c) {
-+ honour_copts++;
-+ }
-+ break;
-+
- case OPT_fconstant_string_class_:
- constant_string_class_name = arg;
- break;
-@@ -1034,6 +1043,47 @@
- return false;
- }
-
-+ if (c_language == clk_c) {
-+ char *ev = getenv ("GCC_HONOUR_COPTS");
-+ int evv;
-+ if (ev == NULL)
-+ evv = -1;
-+ else if ((*ev == '0') || (*ev == '\0'))
-+ evv = 0;
-+ else if (*ev == '1')
-+ evv = 1;
-+ else if (*ev == '2')
-+ evv = 2;
-+ else if (*ev == 's')
-+ evv = -1;
-+ else {
-+ warning (0, "unknown GCC_HONOUR_COPTS value, assuming 1");
-+ evv = 1; /* maybe depend this on something like MIRBSD_NATIVE? */
-+ }
-+ if (evv == 1) {
-+ if (honour_copts == 0) {
-+ error ("someone does not honour COPTS at all in lenient mode");
-+ return false;
-+ } else if (honour_copts != 1) {
-+ warning (0, "someone does not honour COPTS correctly, passed %d times",
-+ honour_copts);
-+ }
-+ } else if (evv == 2) {
-+ if (honour_copts == 0) {
-+ error ("someone does not honour COPTS at all in strict mode");
-+ return false;
-+ } else if (honour_copts != 1) {
-+ error ("someone does not honour COPTS correctly, passed %d times",
-+ honour_copts);
-+ return false;
-+ }
-+ } else if (evv == 0) {
-+ if (honour_copts != 1)
-+ inform (0, "someone does not honour COPTS correctly, passed %d times",
-+ honour_copts);
-+ }
-+ }
-+
- return true;
- }
-
-diff -Nur gcc-5.1.0.orig/gcc/c-family/c.opt gcc-5.1.0/gcc/c-family/c.opt
---- gcc-5.1.0.orig/gcc/c-family/c.opt 2015-03-27 11:29:04.000000000 +0100
-+++ gcc-5.1.0/gcc/c-family/c.opt 2015-05-01 23:07:27.000000000 +0200
-@@ -431,6 +431,10 @@
- C ObjC C++ ObjC++ Var(warn_float_conversion) LangEnabledBy(C ObjC C++ ObjC++,Wconversion)
- Warn for implicit type conversions that cause loss of floating point precision
-
-+Werror-maybe-reset
-+C ObjC C++ ObjC++
-+; Documented in common.opt
-+
- Wfloat-equal
- C ObjC C++ ObjC++ Var(warn_float_equal) Warning
- Warn if testing floating point numbers for equality
-@@ -1161,6 +1165,9 @@
- fhonor-std
- C++ ObjC++ Ignore Warn(switch %qs is no longer supported)
-
-+fhonour-copts
-+C ObjC C++ ObjC++ RejectNegative
-+
- fhosted
- C ObjC
- Assume normal C execution environment
-diff -Nur gcc-5.1.0.orig/gcc/common.opt gcc-5.1.0/gcc/common.opt
---- gcc-5.1.0.orig/gcc/common.opt 2015-02-27 03:06:48.000000000 +0100
-+++ gcc-5.1.0/gcc/common.opt 2015-05-01 23:07:27.000000000 +0200
-@@ -561,6 +561,10 @@
- Common Joined
- Treat specified warning as error
-
-+Werror-maybe-reset
-+Common
-+If environment variable GCC_NO_WERROR is set, act as -Wno-error
-+
- Wextra
- Common Var(extra_warnings) Warning
- Print extra (possibly unwanted) warnings
-@@ -1357,6 +1361,9 @@
- Common Report Var(flag_guess_branch_prob) Optimization
- Enable guessing of branch probabilities
-
-+fhonour-copts
-+Common RejectNegative
-+
- ; Nonzero means ignore `#ident' directives. 0 means handle them.