From 95444b27abfb723db6c66c08dc6c12c7e1128e2e Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 17 Sep 2017 12:24:34 +0200 Subject: [PATCH] remove -fhonour-copts usage This reuires a external gcc patch, which I no longer add to newer gcc. A lot of packages already need to disable the usage of -fhonour-copts, because it doesn't work without patching. May be we need something like Buildroot is using, a gcc wrapper to see poisened include or library paths while cross-compiling. --- mk/build.mk | 1 - mk/package.mk | 2 - mk/vars.mk | 19 -- package/arcboot/Makefile | 3 +- package/barebox/Makefile | 1 - package/binutils/Makefile | 2 - package/cryptodev-linux/Makefile | 4 +- package/dhcp/Makefile | 3 +- package/dhcp/patches/patch-bind_Makefile_in | 67 ++---- package/dillo/Makefile | 1 - package/freeradius-server/Makefile | 1 - package/freeswitch/Makefile | 1 - package/gcc/Makefile | 3 - package/gcc/patches/4.7.3/cflags.patch | 253 -------------------- package/gcc/patches/5.4.0/cflags.patch | 222 ------------------ package/glibc/Makefile | 4 +- package/grub/Makefile | 1 - package/jack/Makefile | 1 - package/libc-test/Makefile | 2 +- package/libpcap/Makefile | 1 - package/ltp/Makefile | 1 - package/mplayer/Makefile | 1 - package/nfs-utils/Makefile | 1 - package/nginx/Makefile | 1 - package/nmap/Makefile | 1 - package/openjdk7/Makefile | 2 +- package/openntpd/Makefile | 1 - package/perf/Makefile | 4 +- package/poco/Makefile | 1 - package/postfix/Makefile | 1 - package/pycurl/Makefile | 5 +- package/python3/Makefile | 1 - package/rrdtool/Makefile | 1 - package/squid/Makefile | 1 - package/strace/Makefile | 5 - package/subversion/Makefile | 1 - package/sysdig/Makefile | 3 +- package/sysvinit/Makefile | 1 - package/tcpdump/Makefile | 2 - package/tvheadend/Makefile | 2 - package/u-boot-avr32/Makefile | 4 +- package/u-boot-h8300/Makefile | 66 ------ .../patches/patch-include_linux_compiler-gcc_h | 11 - package/u-boot/Makefile | 4 +- package/wolfssl/Makefile | 1 - package/xinetd/Makefile | 1 - package/ympd/Makefile | 1 - package/zip/Makefile | 1 - target/config/Config.in.adk | 6 - target/config/Config.in.compiler | 8 - toolchain/gcc/patches/4.4.7/cflags.patch | 257 --------------------- toolchain/gcc/patches/4.9.4/cflags.patch | 222 ------------------ 52 files changed, 29 insertions(+), 1181 deletions(-) rewrite package/dhcp/patches/patch-bind_Makefile_in (78%) delete mode 100644 package/gcc/patches/4.7.3/cflags.patch delete mode 100644 package/gcc/patches/5.4.0/cflags.patch delete mode 100644 package/u-boot-h8300/Makefile delete mode 100644 package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h delete mode 100644 toolchain/gcc/patches/4.4.7/cflags.patch delete mode 100644 toolchain/gcc/patches/4.9.4/cflags.patch 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 dissimilarity index 78% index c6ffe3f33..8f686ec26 100644 --- a/package/dhcp/patches/patch-bind_Makefile_in +++ b/package/dhcp/patches/patch-bind_Makefile_in @@ -1,54 +1,13 @@ ---- dhcp-4.3.5.orig/bind/Makefile.in 2016-09-27 21:54:32.000000000 +0200 -+++ dhcp-4.3.5/bind/Makefile.in 2016-11-26 07:21:39.000000000 +0100 -@@ -30,7 +30,9 @@ bindconfig = --disable-kqueue --disable- - --without-openssl --without-libxml2 --enable-exportlib \ - --with-gssapi=no --enable-threads=no @BINDCONFIG@ \ - --with-export-includedir=${binddir}/include \ -- --with-export-libdir=${binddir}/lib -+ --with-export-libdir=${binddir}/lib \ -+ --target=@target_alias@ --host=@host_alias@ \ -+ --build=@build_alias@ - - @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: +--- dhcp-4.3.5.orig/bind/Makefile.in 2016-09-27 21:54:32.000000000 +0200 ++++ dhcp-4.3.5/bind/Makefile.in 2016-11-26 07:21:39.000000000 +0100 +@@ -30,7 +30,9 @@ bindconfig = --disable-kqueue --disable- + --without-openssl --without-libxml2 --enable-exportlib \ + --with-gssapi=no --enable-threads=no @BINDCONFIG@ \ + --with-export-includedir=${binddir}/include \ +- --with-export-libdir=${binddir}/lib ++ --with-export-libdir=${binddir}/lib \ ++ --target=@target_alias@ --host=@host_alias@ \ ++ --build=@build_alias@ + + @BIND_ATF_FALSE@cleandirs = ./lib ./include + @BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf 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 - 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. - ; Generate position-independent code for executables if possible - ; On SVR4 targets, it also controls whether or not to emit a -diff -Nur gcc-5.1.0.orig/gcc/doc/cppopts.texi gcc-5.1.0/gcc/doc/cppopts.texi ---- gcc-5.1.0.orig/gcc/doc/cppopts.texi 2015-03-23 02:12:06.000000000 +0100 -+++ gcc-5.1.0/gcc/doc/cppopts.texi 2015-05-01 23:07:27.000000000 +0200 -@@ -163,6 +163,11 @@ - 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 -diff -Nur gcc-5.1.0.orig/gcc/doc/invoke.texi gcc-5.1.0/gcc/doc/invoke.texi ---- gcc-5.1.0.orig/gcc/doc/invoke.texi 2015-04-12 21:29:44.000000000 +0200 -+++ gcc-5.1.0/gcc/doc/invoke.texi 2015-05-01 23:07:27.000000000 +0200 -@@ -251,7 +251,7 @@ - -Wdisabled-optimization @gol - -Wno-discarded-qualifiers -Wno-discarded-array-qualifiers @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-signedness -Wformat-y2k @gol -@@ -5370,6 +5370,22 @@ - @option{-Wall} and by @option{-Wpedantic}, 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 -@@ -7843,7 +7859,7 @@ - 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 -diff -Nur gcc-5.1.0.orig/gcc/java/jvspec.c gcc-5.1.0/gcc/java/jvspec.c ---- gcc-5.1.0.orig/gcc/java/jvspec.c 2015-01-30 17:15:00.000000000 +0100 -+++ gcc-5.1.0/gcc/java/jvspec.c 2015-05-01 23:07:27.000000000 +0200 -@@ -629,6 +629,7 @@ - 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 -Nur gcc-5.1.0.orig/gcc/opts.c gcc-5.1.0/gcc/opts.c ---- gcc-5.1.0.orig/gcc/opts.c 2015-02-17 22:25:56.000000000 +0100 -+++ gcc-5.1.0/gcc/opts.c 2015-05-01 23:07:27.000000000 +0200 -@@ -511,6 +511,8 @@ - { OPT_LEVELS_2_PLUS, OPT_flra_remat, 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 -@@ -1699,6 +1701,17 @@ - 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; diff --git a/package/glibc/Makefile b/package/glibc/Makefile index 2f6d82aa4..96ae9fa63 100644 --- a/package/glibc/Makefile +++ b/package/glibc/Makefile @@ -23,7 +23,6 @@ $(eval $(call PKG_template,GLIBC,glibc,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPEN $(eval $(call PKG_template,GLIBC_DEV,glibc-dev,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) $(eval $(call PKG_template,GLIBC_GCONV,glibc-gconv,$(PKG_VERSION)-${PKG_RELEASE},${PKGSS_GLIBC_GCONV},${PKGSD_GLIBC_GCONV},${PKG_SECTION},${PKG_OPTS})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s GLIBC_ENV:= PATH='${TARGET_PATH}' \ BUILD_CC=${CC_FOR_BUILD} \ CFLAGS="$(TARGET_CFLAGS)" \ @@ -32,7 +31,6 @@ GLIBC_ENV:= PATH='${TARGET_PATH}' \ CXX="${TARGET_CXX}" \ AR="${TARGET_AR}" \ RANLIB="${TARGET_RANLIB}" \ - GCC_HONOUR_COPTS=s \ libc_cv_forced_unwind=yes \ libc_cv_cc_with_libunwind=yes \ libc_cv_c_cleanup=yes \ @@ -116,7 +114,7 @@ endif --with-sysroot=$(IDIR_GLIBC_DEV) \ ${GLIBC_CONFOPTS} \ ); - $(GLIBC_ENV) $(MAKE) -C $(WRKBUILD) GCC_HONOUR_COPTS=s cross-compiling=yes install-headers + $(GLIBC_ENV) $(MAKE) -C $(WRKBUILD) cross-compiling=yes install-headers touch $(IDIR_GLIBC_DEV)/usr/include/gnu/stubs.h touch $(IDIR_GLIBC_DEV)/usr/include/gnu/stubs-{32,x32,64}.h touch $(IDIR_GLIBC_DEV)/usr/include/bits/stdio_lim.h diff --git a/package/grub/Makefile b/package/grub/Makefile index 9d0d2d0ef..ab36d217e 100644 --- a/package/grub/Makefile +++ b/package/grub/Makefile @@ -115,7 +115,6 @@ ifeq ($(ADK_PACKAGE_GRUB_EFI_X86)$(ADK_PACKAGE_GRUB_EFI_X86_64),y) CONFIGURE_ARGS+= --with-bootdir=/boot/EFI/boot \ --with-grubdir=/ endif -XAKE_FLAGS+= GCC_HONOUR_COPTS=s grub-install: $(INSTALL_DIR) $(FW_DIR)/$(GRUB_DIR) diff --git a/package/jack/Makefile b/package/jack/Makefile index 5e9a6b525..d189c4bad 100644 --- a/package/jack/Makefile +++ b/package/jack/Makefile @@ -18,7 +18,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,JACK,jack,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s AUTOTOOL_STYLE:= autogen post-extract: diff --git a/package/libc-test/Makefile b/package/libc-test/Makefile index 865b82d7d..fdf664904 100644 --- a/package/libc-test/Makefile +++ b/package/libc-test/Makefile @@ -19,7 +19,7 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,LIBC_TEST,libc-test,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s RUN_TEST=: +XAKE_FLAGS+= RUN_TEST=: CONFIG_STYLE:= manual INSTALL_STYLE:= manual diff --git a/package/libpcap/Makefile b/package/libpcap/Makefile index 842ea689a..c5b023df1 100644 --- a/package/libpcap/Makefile +++ b/package/libpcap/Makefile @@ -22,7 +22,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,LIBPCAP,libpcap,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_ARGS+= --disable-yydebug \ --disable-dbus \ --without-libnl \ diff --git a/package/ltp/Makefile b/package/ltp/Makefile index 0b63bff12..d8cc7178f 100644 --- a/package/ltp/Makefile +++ b/package/ltp/Makefile @@ -26,7 +26,6 @@ $(eval $(call PKG_template,LTP,ltp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS}, # disable lto TARGET_CFLAGS:= $(filter-out -flto,$(TARGET_CFLAGS)) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_ARGS+= --with-open-posix-testsuite \ --with-realtime-testsuite \ --without-power-management-testsuite \ diff --git a/package/mplayer/Makefile b/package/mplayer/Makefile index 9d4354ed9..2233053ff 100644 --- a/package/mplayer/Makefile +++ b/package/mplayer/Makefile @@ -38,7 +38,6 @@ include ${ADK_TOPDIR}/mk/package.mk $(eval $(call PKG_template,MPLAYER,mplayer,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) TARGET_CC:= ${TARGET_COMPILER_PREFIX}gcc -XAKE_FLAGS+= GCC_HONOUR_COPTS=s TARGET_CFLAGS+= -D_POSIX_SOURCE -D_GNU_SOURCE CONFIG_STYLE:= minimal diff --git a/package/nfs-utils/Makefile b/package/nfs-utils/Makefile index 7a1e8068a..0f5765403 100644 --- a/package/nfs-utils/Makefile +++ b/package/nfs-utils/Makefile @@ -39,7 +39,6 @@ $(eval $(call PKG_template,NFS_UTILS,nfs-utils,${PKG_VERSION}-${PKG_RELEASE},${P $(eval $(call PKG_template,NFS_UTILS_CLIENT,nfs-utils-client,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_NFS_UTILS_CLIENT},${PKGSD_NFS_UTILS_CLIENT},${PKG_SECTION})) $(eval $(call PKG_template,NFS_UTILS_SERVER,nfs-utils-server,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_NFS_UTILS_SERVER},${PKGSD_NFS_UTILS_SERVER},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s AUTOTOOL_STYLE:= autoreconf ifeq ($(ADK_PACKAGE_NFS_UTILS_V4),y) CONFIGURE_ARGS+= --enable-nfsv4 \ diff --git a/package/nginx/Makefile b/package/nginx/Makefile index ef2d02627..fc43d851d 100644 --- a/package/nginx/Makefile +++ b/package/nginx/Makefile @@ -54,7 +54,6 @@ CONFIGURE_ARGS+= --with-http_ssl_module endif ALL_TARGET:= -XAKE_FLAGS+= GCC_HONOUR_COPTS=s nginx-install: $(INSTALL_DIR) $(IDIR_NGINX)/usr/sbin $(IDIR_NGINX)/etc/nginx diff --git a/package/nmap/Makefile b/package/nmap/Makefile index 45c06a515..eb6f34892 100644 --- a/package/nmap/Makefile +++ b/package/nmap/Makefile @@ -31,7 +31,6 @@ CONFIGURE_ARGS+= --without-openssl \ --with-libpcap="${STAGING_TARGET_DIR}/usr" \ --with-libpcre="${STAGING_TARGET_DIR}/usr" \ --enable-static -XAKE_FLAGS+= GCC_HONOUR_COPTS=s nmap-install: ${INSTALL_DIR} ${IDIR_NMAP}/usr/share/nmap diff --git a/package/openjdk7/Makefile b/package/openjdk7/Makefile index ee0a17716..d757ba965 100644 --- a/package/openjdk7/Makefile +++ b/package/openjdk7/Makefile @@ -100,7 +100,7 @@ MAKE_ENV+= ALT_COMPILER_PATH=$(TOOLCHAIN_DIR)/usr/$(GNU_TARGET_NAME)/bin \ OTHER_LDFLAGS='$(TARGET_LDFLAGS)' \ OTHER_LDLIBS='$(TARGET_LIBS)' \ NO_DOCS=true \ - GCC_HONOUR_COPTS=s CROSS_COMPILE_ARCH=$(JDKARCH) QEMU=$(QEMU) \ + CROSS_COMPILE_ARCH=$(JDKARCH) QEMU=$(QEMU) \ LD_LIBRARY_PATH=$(STAGING_HOST_DIR)/usr/lib ALL_TARGET:= icedtea diff --git a/package/openntpd/Makefile b/package/openntpd/Makefile index 7f987bc95..d1e15909c 100644 --- a/package/openntpd/Makefile +++ b/package/openntpd/Makefile @@ -19,7 +19,6 @@ include ${ADK_TOPDIR}/mk/package.mk $(eval $(call PKG_template,OPENNTPD,openntpd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s INSTALL_STYLE:= manual CONFIGURE_ARGS+= --with-privsep-user=ntp diff --git a/package/perf/Makefile b/package/perf/Makefile index a36d9bae8..db8dbb28c 100644 --- a/package/perf/Makefile +++ b/package/perf/Makefile @@ -28,11 +28,11 @@ BUILD_STYLE:= manual INSTALL_STYLE:= manual do-build: - $(KERNEL_MAKE_ENV) GCC_HONOUR_COPTS=0 $(MAKE) -C "${LINUX_DIR}" \ + $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" \ $(KERNEL_MAKE_OPTS) WERROR=0 -C "$(LINUX_DIR)/tools/perf" all do-install: - $(KERNEL_MAKE_ENV) GCC_HONOUR_COPTS=0 $(MAKE) -C "${LINUX_DIR}" \ + $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" \ $(KERNEL_MAKE_OPTS) WERROR=0 -C "$(LINUX_DIR)/tools/perf" \ prefix="$(WRKINST)" install diff --git a/package/poco/Makefile b/package/poco/Makefile index 60f6c6624..3f564ea58 100644 --- a/package/poco/Makefile +++ b/package/poco/Makefile @@ -27,7 +27,6 @@ CONFIG_STYLE:= minimal CONFIGURE_ARGS+= --prefix=/usr \ --no-tests \ --no-samples -XAKE_FLAGS+= GCC_HONOUR_COPTS=s poco-install: $(INSTALL_DIR) $(IDIR_POCO)/usr/lib diff --git a/package/postfix/Makefile b/package/postfix/Makefile index a1441b72b..d0944711a 100644 --- a/package/postfix/Makefile +++ b/package/postfix/Makefile @@ -23,7 +23,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,POSTFIX,postfix,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIG_STYLE:= manual ALL_TARGET:= INSTALL_STYLE:= manual diff --git a/package/pycurl/Makefile b/package/pycurl/Makefile index cd69c1692..ddcce6c05 100644 --- a/package/pycurl/Makefile +++ b/package/pycurl/Makefile @@ -24,7 +24,6 @@ CONFIG_STYLE:= manual BUILD_STYLE:= manual INSTALL_STYLE:= manual -XAKE_FLAGS+= GCC_HONOUR_COPTS=s TARGET_CFLAGS+= -fPIC MAKE_ENV+= LDSHARED="$(TARGET_CC) -shared" CURL_CONFIG:= $(STAGING_TARGET_DIR)/usr/bin/curl-config @@ -32,8 +31,8 @@ CURL_CONFIG:= $(STAGING_TARGET_DIR)/usr/bin/curl-config include $(ADK_TOPDIR)/mk/python.mk do-build: - (cd $(WRKBUILD); env GCC_HONOUR_COPTS=s PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py --curl-config=$(CURL_CONFIG) build) - (cd $(WRKBUILD); env GCC_HONOUR_COPTS=s PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py --curl-config=$(CURL_CONFIG) install --prefix="$(WRKINST)/usr") + (cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py --curl-config=$(CURL_CONFIG) build) + (cd $(WRKBUILD); env PYTHONPATH=$(PYTHON_LIBDIR) $(PYTHON) ./setup.py --curl-config=$(CURL_CONFIG) install --prefix="$(WRKINST)/usr") do-install: $(INSTALL_DIR) $(IDIR_PYCURL)/usr/lib/python$(PYTHON_VERSION)/site-packages diff --git a/package/python3/Makefile b/package/python3/Makefile index 14627542c..4128b5f9f 100644 --- a/package/python3/Makefile +++ b/package/python3/Makefile @@ -89,7 +89,6 @@ $(eval $(call PKG_mod_template,PYTHON3_MOD_SSL,_ssl)) MAKE_ENV+= HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen3 FAKE_FLAGS+= ENSUREPIP=no -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_ARGS:= --with-threads \ --with-system-ffi \ --with-system-expat \ diff --git a/package/rrdtool/Makefile b/package/rrdtool/Makefile index 516b6bd65..7bf566a0d 100644 --- a/package/rrdtool/Makefile +++ b/package/rrdtool/Makefile @@ -44,7 +44,6 @@ CONFIGURE_ARGS+= --enable-rrdcgi \ --disable-libwrap TARGET_CPPFLAGS+= -I${STAGING_TARGET_DIR}/usr/include/freetype2 TARGET_LDFLAGS+= -lglib-2.0 -lm -XAKE_FLAGS+= GCC_HONOUR_COPTS=s rrdtool-install: ${INSTALL_DIR} ${IDIR_RRDTOOL}/usr/bin diff --git a/package/squid/Makefile b/package/squid/Makefile index 0fd357101..665392d44 100644 --- a/package/squid/Makefile +++ b/package/squid/Makefile @@ -142,7 +142,6 @@ CONFIGURE_ENV+= ac_cv_sizeof_void_p=4 \ squid_cv_gnu_atomics=yes \ ac_cv_have_squid=yes XAKE_FLAGS+= MKDIR_P="mkdir -p" -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_ARGS+= --datadir=/usr/share/squid \ --libexecdir=/usr/lib/squid \ --sysconfdir=/etc/squid \ diff --git a/package/strace/Makefile b/package/strace/Makefile index 3f6b8c4fc..a73a096cd 100644 --- a/package/strace/Makefile +++ b/package/strace/Makefile @@ -17,11 +17,6 @@ include ${ADK_TOPDIR}/mk/package.mk $(eval $(call PKG_template,STRACE,strace,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -# fails for x86_64 -ifeq ($(ADK_TARGET_ARCH),x86_64) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s -endif - ifeq ($(OS_FOR_BUILD),Darwin) XAKE_FLAGS+= CPPFLAGS_FOR_BUILD="-I$(STAGING_TARGET_DIR)/usr/include -I$(LINUX_DIR)/include/uapi -I$(LINUX_DIR)/arch/$(ADK_TARGET_ARCH)/include/generated" else diff --git a/package/subversion/Makefile b/package/subversion/Makefile index 4140966d5..6dee93e16 100644 --- a/package/subversion/Makefile +++ b/package/subversion/Makefile @@ -20,7 +20,6 @@ include ${ADK_TOPDIR}/mk/package.mk $(eval $(call PKG_template,SUBVERSION,subversion,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s TARGET_LDFLAGS+= -ltinfo CONFIGURE_ARGS+= --with-apr=${STAGING_TARGET_DIR}/usr/bin/apr-1-config \ --with-apr-util=${STAGING_TARGET_DIR}/usr/bin/apr-1-config \ diff --git a/package/sysdig/Makefile b/package/sysdig/Makefile index a0d594aa9..031adccda 100644 --- a/package/sysdig/Makefile +++ b/package/sysdig/Makefile @@ -28,8 +28,7 @@ WRKBUILD= $(WRKDIR)/$(PKG_NAME)-obj CONFIG_STYLE:= cmake CMAKE_FLAGS:= -DUSE_BUNDLED_DEPS=OFF -DUSE_BUNDLED_B64=ON XAKE_FLAGS+= KERNELDIR="$(LINUX_DIR)" \ - ARCH=$(ADK_TARGET_ARCH) \ - GCC_HONOUR_COPTS=s + ARCH=$(ADK_TARGET_ARCH) sysdig-install: $(INSTALL_DIR) $(IDIR_SYSDIG)/usr/bin diff --git a/package/sysvinit/Makefile b/package/sysvinit/Makefile index d647ac8e5..f87f5d3a1 100644 --- a/package/sysvinit/Makefile +++ b/package/sysvinit/Makefile @@ -19,7 +19,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,SYSVINIT,sysvinit,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) CONFIG_STYLE:= manual -XAKE_FLAGS+= GCC_HONOUR_COPTS=s FAKE_FLAGS+= ROOT='$(WRKINST)' sysvinit-install: diff --git a/package/tcpdump/Makefile b/package/tcpdump/Makefile index 4bab98c07..2d320f480 100644 --- a/package/tcpdump/Makefile +++ b/package/tcpdump/Makefile @@ -38,8 +38,6 @@ endif XAKE_FLAGS+= CCOPT="${TARGET_CFLAGS}" \ INCLS="-I. -I${STAGING_TARGET_DIR}/usr/include" -XAKE_FLAGS+= GCC_HONOUR_COPTS=s - tcpdump-install: ${INSTALL_DIR} ${IDIR_TCPDUMP}/usr/sbin ${INSTALL_BIN} ${WRKINST}/usr/sbin/tcpdump ${IDIR_TCPDUMP}/usr/sbin diff --git a/package/tvheadend/Makefile b/package/tvheadend/Makefile index e736d80c3..5557d16ec 100644 --- a/package/tvheadend/Makefile +++ b/package/tvheadend/Makefile @@ -18,8 +18,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,TVHEADEND,tvheadend,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s - ifeq ($(ADK_TARGET_LIB_UCLIBC_NG),y) XAKE_FLAGS+= LDLIBS=-liconv endif diff --git a/package/u-boot-avr32/Makefile b/package/u-boot-avr32/Makefile index ac1b799b6..2886ddd3c 100644 --- a/package/u-boot-avr32/Makefile +++ b/package/u-boot-avr32/Makefile @@ -53,12 +53,12 @@ do-build: (cd $(WRKBUILD) && env \ PATH='$(HOST_PATH)' \ CROSS_COMPILE='$(TARGET_CROSS)' \ - GCC_HONOUR_COPTS=s $(MAKE)) + $(MAKE)) ifneq ($(OS_FOR_BUILD),Darwin) (cd $(WRKBUILD) && env \ PATH='$(HOST_PATH)' \ CROSS_COMPILE='$(TARGET_CROSS)' \ - GCC_HONOUR_COPTS=s $(MAKE) env) + $(MAKE) env) endif u-boot-install: diff --git a/package/u-boot-h8300/Makefile b/package/u-boot-h8300/Makefile deleted file mode 100644 index e26b4fd59..000000000 --- a/package/u-boot-h8300/Makefile +++ /dev/null @@ -1,66 +0,0 @@ -# This file is part of the OpenADK project. OpenADK is copyrighted -# material, please see the LICENCE file in the top-level directory. - -include $(ADK_TOPDIR)/rules.mk - -PKG_NAME:= u-boot -PKG_VERSION:= h8300 -PKG_GIT:= branch -PKG_RELEASE:= 1 -PKG_DESCR:= portable bootloader -PKG_SECTION:= base/boot -HOST_BUILDDEP:= libressl-host dtc-host -PKG_BUILDDEP:= u-boot-h8300-host -PKG_SITES:= git://git.pf.osdn.jp/gitroot/y/ys/ysato/uboot.git - - -PKG_SYSTEM_DEPENDS:= hitachi-edosk2674 - -include $(ADK_TOPDIR)/mk/host.mk -include $(ADK_TOPDIR)/mk/package.mk - -$(eval $(call HOST_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE))) -$(eval $(call PKG_template,U_BOOT,u-boot,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION))) - -UBOOT:= u-boot.bin -CONFIG:= clearfog_defconfig - -HOST_MAKE_FLAGS+= HOSTCFLAGS="$(HOST_CPPFLAGS) $(HOST_CFLAGS)" \ - HOSTLDFLAGS="$(HOST_LDFLAGS) -ldl" -HOST_STYLE:= manual -CONFIG_STYLE:= manual -BUILD_STYLE:= manual -INSTALL_STYLE:= manual - -host-build: - (cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \ - $(HOST_MAKE_FLAGS) sandbox_defconfig ) - (cd $(WRKBUILD) && env $(HOST_MAKE_ENV) $(MAKE) -f $(MAKE_FILE) \ - $(HOST_MAKE_FLAGS) tools $(MAKE_TRACE) ) - -u-boot-hostinstall: - $(INSTALL_BIN) $(WRKBUILD)/tools/mk{,env}image \ - $(STAGING_HOST_DIR)/usr/bin - -do-configure: - (cd $(WRKBUILD) && $(MAKE) $(CONFIG)) - -do-build: - (cd $(WRKBUILD) && env \ - PATH='$(HOST_PATH)' \ - CROSS_COMPILE='$(TARGET_CROSS)' \ - GCC_HONOUR_COPTS=s $(MAKE)) -ifneq ($(OS_FOR_BUILD),Darwin) - (cd $(WRKBUILD) && env \ - PATH='$(HOST_PATH)' \ - CROSS_COMPILE='$(TARGET_CROSS)' \ - GCC_HONOUR_COPTS=s $(MAKE) env) -endif - -u-boot-install: - $(CP) $(WRKBUILD)/$(UBOOT) $(FW_DIR) - $(INSTALL_DIR) $(IDIR_U_BOOT)/etc - $(CP) ./files/fw_env.config $(IDIR_U_BOOT)/etc - -include $(ADK_TOPDIR)/mk/host-bottom.mk -include $(ADK_TOPDIR)/mk/pkg-bottom.mk diff --git a/package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h b/package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h deleted file mode 100644 index 9780e2175..000000000 --- a/package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h +++ /dev/null @@ -1,11 +0,0 @@ ---- u-boot-h8300.orig/include/linux/compiler-gcc.h 2017-08-02 19:27:30.000000000 +0200 -+++ u-boot-h8300/include/linux/compiler-gcc.h 2017-08-02 19:51:29.008209716 +0200 -@@ -109,7 +109,7 @@ - #define __always_unused __attribute__((unused)) - - #define __gcc_header(x) #x --#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h) -+#define _gcc_header(x) __gcc_header(linux/compiler-gcc5.h) - #define gcc_header(x) _gcc_header(x) - #include gcc_header(__GNUC__) - diff --git a/package/u-boot/Makefile b/package/u-boot/Makefile index 866f8a81a..a6e1b6e85 100644 --- a/package/u-boot/Makefile +++ b/package/u-boot/Makefile @@ -82,12 +82,12 @@ do-build: (cd $(WRKBUILD) && env \ PATH='$(HOST_PATH)' \ CROSS_COMPILE='$(TARGET_CROSS)' \ - GCC_HONOUR_COPTS=s $(MAKE)) + $(MAKE)) ifneq ($(OS_FOR_BUILD),Darwin) (cd $(WRKBUILD) && env \ PATH='$(HOST_PATH)' \ CROSS_COMPILE='$(TARGET_CROSS)' \ - GCC_HONOUR_COPTS=s $(MAKE) env) + $(MAKE) env) endif u-boot-install: diff --git a/package/wolfssl/Makefile b/package/wolfssl/Makefile index 93c95a67b..da3ab80b3 100644 --- a/package/wolfssl/Makefile +++ b/package/wolfssl/Makefile @@ -19,7 +19,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,WOLFSSL,wolfssl,$(PKG_VERSION)-$(PKG_RELEASE),$(PKG_DEPENDS),$(PKG_DESCR),$(PKG_SECTION),$(PKG_OPTS))) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_ARGS+= --disable-examples CONFIGURE_ENV+= C_EXTRA_FLAGS='$(TARGET_CFLAGS)' diff --git a/package/xinetd/Makefile b/package/xinetd/Makefile index 602c14853..0829f4bd8 100644 --- a/package/xinetd/Makefile +++ b/package/xinetd/Makefile @@ -18,7 +18,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,XINETD,xinetd,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_ENV+= xinetd_cv_type_rlim_t=yes CONFIGURE_ARGS+= --without-libwrap \ --with-loadavg diff --git a/package/ympd/Makefile b/package/ympd/Makefile index fd8d3e679..785e26b12 100644 --- a/package/ympd/Makefile +++ b/package/ympd/Makefile @@ -18,7 +18,6 @@ include $(ADK_TOPDIR)/mk/package.mk $(eval $(call PKG_template,YMPD,ympd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIG_STYLE:= cmake TARGET_CFLAGS+= -std=c99 diff --git a/package/zip/Makefile b/package/zip/Makefile index 7e1e84455..77f6c6f1c 100644 --- a/package/zip/Makefile +++ b/package/zip/Makefile @@ -26,7 +26,6 @@ CONFIG_STYLE:= manual INSTALL_STYLE:= manual TARGET_CPPFLAGS+= -DNO_BZIP2_SUPPORT -XAKE_FLAGS+= GCC_HONOUR_COPTS=s CONFIGURE_PROG:= unix/configure MAKE_FILE:= unix/Makefile ALL_TARGET:= generic_gcc diff --git a/target/config/Config.in.adk b/target/config/Config.in.adk index 32b669c48..6d4b47ea3 100644 --- a/target/config/Config.in.adk +++ b/target/config/Config.in.adk @@ -31,12 +31,6 @@ config ADK_BUILD_WITH_DEBUG If you want to create debug packages, you should enable this option. WARNING: It will use a lot of additional disk space on you build system! -config ADK_DISABLE_HONOUR_CFLAGS - bool "Disable honour CFLAGS checks globally" - default n - help - Disable honour CFLAGS checks. - config ADK_DISABLE_CHECKSUM bool "Disable checksum check for downloads globally" default n diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler index 21bc95839..3d756aa0d 100644 --- a/target/config/Config.in.compiler +++ b/target/config/Config.in.compiler @@ -35,7 +35,6 @@ config ADK_TOOLCHAIN_GCC_GIT depends on !ADK_TARGET_ARCH_NDS32 depends on !ADK_TARGET_ARCH_OR1K depends on !ADK_TARGET_CPU_SH_J2 - select ADK_DISABLE_HONOUR_CFLAGS config ADK_TOOLCHAIN_GCC_7 bool "7.2.0" @@ -45,12 +44,10 @@ config ADK_TOOLCHAIN_GCC_7 depends on !ADK_TARGET_ARCH_NDS32 depends on !ADK_TARGET_ARCH_OR1K depends on !ADK_TARGET_CPU_SH_J2 - select ADK_DISABLE_HONOUR_CFLAGS config ADK_TOOLCHAIN_GCC_6 bool "6.3.0" depends on ADK_TARGET_CPU_SH_J2 - select ADK_DISABLE_HONOUR_CFLAGS config ADK_TOOLCHAIN_GCC_4_9 bool "4.9.4" @@ -59,22 +56,18 @@ config ADK_TOOLCHAIN_GCC_4_9 config ADK_TOOLCHAIN_GCC_CSKY bool "csky" - select ADK_DISABLE_HONOUR_CFLAGS depends on ADK_TARGET_ARCH_CSKY config ADK_TOOLCHAIN_GCC_OR1K bool "or1k" - select ADK_DISABLE_HONOUR_CFLAGS depends on ADK_TARGET_ARCH_OR1K config ADK_TOOLCHAIN_GCC_NDS32 bool "4.9.3-nds32" - select ADK_DISABLE_HONOUR_CFLAGS depends on ADK_TARGET_ARCH_NDS32 config ADK_TOOLCHAIN_GCC_ARC bool "arc-2016.09-release" - select ADK_DISABLE_HONOUR_CFLAGS depends on ADK_TARGET_ARCH_ARC config ADK_TOOLCHAIN_GCC_4_4 @@ -83,7 +76,6 @@ config ADK_TOOLCHAIN_GCC_4_4 config ADK_TOOLCHAIN_GCC_4_2 bool "4.2.4" - select ADK_DISABLE_HONOUR_CFLAGS select ADK_TOOLCHAIN_GCC_OLD depends on ADK_TARGET_ARCH_METAG diff --git a/toolchain/gcc/patches/4.4.7/cflags.patch b/toolchain/gcc/patches/4.4.7/cflags.patch deleted file mode 100644 index 7952d71fe..000000000 --- a/toolchain/gcc/patches/4.4.7/cflags.patch +++ /dev/null @@ -1,257 +0,0 @@ -diff -Nur gcc-4.4.7.orig/gcc/common.opt gcc-4.4.7/gcc/common.opt ---- gcc-4.4.7.orig/gcc/common.opt 2009-03-28 18:28:45.000000000 +0100 -+++ gcc-4.4.7/gcc/common.opt 2014-09-09 19:50:59.000000000 +0200 -@@ -102,6 +102,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 Warning - Print extra (possibly unwanted) warnings -@@ -573,6 +577,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. - ; Generate position-independent code for executables if possible - ; On SVR4 targets, it also controls whether or not to emit a -diff -Nur gcc-4.4.7.orig/gcc/c.opt gcc-4.4.7/gcc/c.opt ---- gcc-4.4.7.orig/gcc/c.opt 2009-09-18 23:53:23.000000000 +0200 -+++ gcc-4.4.7/gcc/c.opt 2014-09-09 19:50:59.000000000 +0200 -@@ -215,6 +215,10 @@ - C ObjC RejectNegative Warning - 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 -@@ -613,6 +617,9 @@ - fhonor-std - C++ ObjC++ - -+fhonour-copts -+C ObjC C++ ObjC++ RejectNegative -+ - fhosted - C ObjC - Assume normal C execution environment -diff -Nur gcc-4.4.7.orig/gcc/c-opts.c gcc-4.4.7/gcc/c-opts.c ---- gcc-4.4.7.orig/gcc/c-opts.c 2009-02-18 03:16:03.000000000 +0100 -+++ gcc-4.4.7/gcc/c-opts.c 2014-09-09 19:50:59.000000000 +0200 -@@ -105,6 +105,9 @@ - /* 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 set_Wimplicit (int); - static void handle_OPT_d (const char *); - static void set_std_cxx98 (int); -@@ -454,6 +457,14 @@ - enable_warning_as_error ("implicit-function-declaration", value, CL_C | CL_ObjC); - break; - -+ case OPT_Werror_maybe_reset: -+ { -+ char *ev = getenv ("GCC_NO_WERROR"); -+ if ((ev != NULL) && (*ev != '0')) -+ cpp_opts->warnings_are_errors = 0; -+ } -+ break; -+ - case OPT_Wformat: - set_Wformat (value); - break; -@@ -690,6 +701,12 @@ - flag_exceptions = value; - break; - -+ case OPT_fhonour_copts: -+ if (c_language == clk_c) { -+ honour_copts++; -+ } -+ break; -+ - case OPT_fimplement_inlines: - flag_implement_inlines = value; - break; -@@ -1209,6 +1226,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-4.4.7.orig/gcc/doc/cppopts.texi gcc-4.4.7/gcc/doc/cppopts.texi ---- gcc-4.4.7.orig/gcc/doc/cppopts.texi 2008-06-15 11:42:13.000000000 +0200 -+++ gcc-4.4.7/gcc/doc/cppopts.texi 2014-09-09 19:50:59.000000000 +0200 -@@ -164,6 +164,11 @@ - 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 -diff -Nur gcc-4.4.7.orig/gcc/doc/invoke.texi gcc-4.4.7/gcc/doc/invoke.texi ---- gcc-4.4.7.orig/gcc/doc/invoke.texi 2011-03-23 23:02:12.000000000 +0100 -+++ gcc-4.4.7/gcc/doc/invoke.texi 2014-09-09 19:50:59.000000000 +0200 -@@ -234,7 +234,7 @@ - -Wconversion -Wcoverage-mismatch -Wno-deprecated @gol - -Wno-deprecated-declarations -Wdisabled-optimization @gol - -Wno-div-by-zero -Wempty-body -Wenum-compare -Wno-endif-labels @gol ---Werror -Werror=* @gol -+-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 -@@ -4182,6 +4182,22 @@ - @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 -@@ -5721,7 +5737,7 @@ - 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 -@@ -5866,7 +5882,7 @@ - @option{-fno-delete-null-pointer-checks} to disable this optimization - for programs which depend on that behavior. - --Enabled at levels @option{-O2}, @option{-O3}, @option{-Os}. -+Enabled at levels @option{-O3}. - - @item -fexpensive-optimizations - @opindex fexpensive-optimizations -diff -Nur gcc-4.4.7.orig/gcc/java/jvspec.c gcc-4.4.7/gcc/java/jvspec.c ---- gcc-4.4.7.orig/gcc/java/jvspec.c 2007-07-31 18:19:49.000000000 +0200 -+++ gcc-4.4.7/gcc/java/jvspec.c 2014-09-09 19:50:59.000000000 +0200 -@@ -670,6 +670,7 @@ - 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 -Nur gcc-4.4.7.orig/gcc/opts.c gcc-4.4.7/gcc/opts.c ---- gcc-4.4.7.orig/gcc/opts.c 2009-11-27 12:34:32.000000000 +0100 -+++ gcc-4.4.7/gcc/opts.c 2014-09-09 19:50:59.000000000 +0200 -@@ -898,9 +898,6 @@ - flag_schedule_insns_after_reload = opt2; - #endif - flag_regmove = opt2; -- flag_strict_aliasing = opt2; -- flag_strict_overflow = opt2; -- flag_delete_null_pointer_checks = opt2; - flag_reorder_blocks = opt2; - flag_reorder_functions = opt2; - flag_tree_vrp = opt2; -@@ -924,6 +921,9 @@ - - /* -O3 optimizations. */ - opt3 = (optimize >= 3); -+ flag_strict_aliasing = opt3; -+ flag_strict_overflow = opt3; -+ flag_delete_null_pointer_checks = opt3; - flag_predictive_commoning = opt3; - flag_inline_functions = opt3; - flag_unswitch_loops = opt3; -@@ -1603,6 +1603,17 @@ - enable_warning_as_error (arg, value, lang_mask); - 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_Wextra: - set_Wextra (value); - break; diff --git a/toolchain/gcc/patches/4.9.4/cflags.patch b/toolchain/gcc/patches/4.9.4/cflags.patch deleted file mode 100644 index d4119cd39..000000000 --- a/toolchain/gcc/patches/4.9.4/cflags.patch +++ /dev/null @@ -1,222 +0,0 @@ -diff -Nur gcc-4.9.1.orig/gcc/c-family/c-opts.c gcc-4.9.1/gcc/c-family/c-opts.c ---- gcc-4.9.1.orig/gcc/c-family/c-opts.c 2014-05-06 12:48:08.000000000 +0200 -+++ gcc-4.9.1/gcc/c-family/c-opts.c 2014-08-05 15:54:02.000000000 +0200 -@@ -105,6 +105,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); -@@ -492,6 +495,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; -@@ -1048,6 +1057,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-4.9.1.orig/gcc/c-family/c.opt gcc-4.9.1/gcc/c-family/c.opt ---- gcc-4.9.1.orig/gcc/c-family/c.opt 2014-04-03 15:41:55.000000000 +0200 -+++ gcc-4.9.1/gcc/c-family/c.opt 2014-08-05 15:54:02.000000000 +0200 -@@ -391,6 +391,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 -@@ -972,6 +976,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-4.9.1.orig/gcc/common.opt gcc-4.9.1/gcc/common.opt ---- gcc-4.9.1.orig/gcc/common.opt 2014-04-07 15:27:39.000000000 +0200 -+++ gcc-4.9.1/gcc/common.opt 2014-08-05 15:54:02.000000000 +0200 -@@ -549,6 +549,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 -@@ -1287,6 +1291,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. - ; Generate position-independent code for executables if possible - ; On SVR4 targets, it also controls whether or not to emit a -diff -Nur gcc-4.9.1.orig/gcc/doc/cppopts.texi gcc-4.9.1/gcc/doc/cppopts.texi ---- gcc-4.9.1.orig/gcc/doc/cppopts.texi 2014-01-02 23:23:26.000000000 +0100 -+++ gcc-4.9.1/gcc/doc/cppopts.texi 2014-08-05 15:54:02.000000000 +0200 -@@ -163,6 +163,11 @@ - 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 -diff -Nur gcc-4.9.1.orig/gcc/doc/invoke.texi gcc-4.9.1/gcc/doc/invoke.texi ---- gcc-4.9.1.orig/gcc/doc/invoke.texi 2014-05-28 13:37:50.000000000 +0200 -+++ gcc-4.9.1/gcc/doc/invoke.texi 2014-08-05 15:54:02.000000000 +0200 -@@ -243,7 +243,7 @@ - -Wconversion -Wcoverage-mismatch -Wdate-time -Wdelete-incomplete -Wno-cpp @gol - -Wno-deprecated -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 -@@ -5041,6 +5041,22 @@ - @option{-Wall} and by @option{-Wpedantic}, 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 -@@ -7188,7 +7204,7 @@ - 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 -diff -Nur gcc-4.9.1.orig/gcc/java/jvspec.c gcc-4.9.1/gcc/java/jvspec.c ---- gcc-4.9.1.orig/gcc/java/jvspec.c 2014-01-02 23:23:26.000000000 +0100 -+++ gcc-4.9.1/gcc/java/jvspec.c 2014-08-05 15:54:02.000000000 +0200 -@@ -626,6 +626,7 @@ - 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 -Nur gcc-4.9.1.orig/gcc/opts.c gcc-4.9.1/gcc/opts.c ---- gcc-4.9.1.orig/gcc/opts.c 2014-05-18 00:20:43.000000000 +0200 -+++ gcc-4.9.1/gcc/opts.c 2014-08-05 15:54:02.000000000 +0200 -@@ -499,6 +499,8 @@ - { OPT_LEVELS_2_PLUS, OPT_fisolate_erroneous_paths_dereference, 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 -@@ -1536,6 +1538,17 @@ - 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; -- 2.11.4.GIT