Browse Source

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.
Waldemar Brodkorb 6 years ago
parent
commit
95444b27ab
52 changed files with 16 additions and 1168 deletions
  1. 0 1
      mk/build.mk
  2. 0 2
      mk/package.mk
  3. 0 19
      mk/vars.mk
  4. 1 2
      package/arcboot/Makefile
  5. 0 1
      package/barebox/Makefile
  6. 0 2
      package/binutils/Makefile
  7. 2 2
      package/cryptodev-linux/Makefile
  8. 1 2
      package/dhcp/Makefile
  9. 0 41
      package/dhcp/patches/patch-bind_Makefile_in
  10. 0 1
      package/dillo/Makefile
  11. 0 1
      package/freeradius-server/Makefile
  12. 0 1
      package/freeswitch/Makefile
  13. 0 3
      package/gcc/Makefile
  14. 0 253
      package/gcc/patches/4.7.3/cflags.patch
  15. 0 222
      package/gcc/patches/5.4.0/cflags.patch
  16. 1 3
      package/glibc/Makefile
  17. 0 1
      package/grub/Makefile
  18. 0 1
      package/jack/Makefile
  19. 1 1
      package/libc-test/Makefile
  20. 0 1
      package/libpcap/Makefile
  21. 0 1
      package/ltp/Makefile
  22. 0 1
      package/mplayer/Makefile
  23. 0 1
      package/nfs-utils/Makefile
  24. 0 1
      package/nginx/Makefile
  25. 0 1
      package/nmap/Makefile
  26. 1 1
      package/openjdk7/Makefile
  27. 0 1
      package/openntpd/Makefile
  28. 2 2
      package/perf/Makefile
  29. 0 1
      package/poco/Makefile
  30. 0 1
      package/postfix/Makefile
  31. 2 3
      package/pycurl/Makefile
  32. 0 1
      package/python3/Makefile
  33. 0 1
      package/rrdtool/Makefile
  34. 0 1
      package/squid/Makefile
  35. 0 5
      package/strace/Makefile
  36. 0 1
      package/subversion/Makefile
  37. 1 2
      package/sysdig/Makefile
  38. 0 1
      package/sysvinit/Makefile
  39. 0 2
      package/tcpdump/Makefile
  40. 0 2
      package/tvheadend/Makefile
  41. 2 2
      package/u-boot-avr32/Makefile
  42. 0 66
      package/u-boot-h8300/Makefile
  43. 0 11
      package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h
  44. 2 2
      package/u-boot/Makefile
  45. 0 1
      package/wolfssl/Makefile
  46. 0 1
      package/xinetd/Makefile
  47. 0 1
      package/ympd/Makefile
  48. 0 1
      package/zip/Makefile
  49. 0 6
      target/config/Config.in.adk
  50. 0 8
      target/config/Config.in.compiler
  51. 0 257
      toolchain/gcc/patches/4.4.7/cflags.patch
  52. 0 222
      toolchain/gcc/patches/4.9.4/cflags.patch

+ 0 - 1
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 \

+ 0 - 2
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}'
 

+ 0 - 19
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' \

+ 1 - 2
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

+ 0 - 1
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:

+ 0 - 2
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

+ 2 - 2
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/

+ 1 - 2
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)"

+ 0 - 41
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:

+ 0 - 1
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

+ 0 - 1
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 \

+ 0 - 1
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 \

+ 0 - 3
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

+ 0 - 253
package/gcc/patches/4.7.3/cflags.patch

@@ -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)
-     {

+ 0 - 222
package/gcc/patches/5.4.0/cflags.patch

@@ -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;

+ 1 - 3
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

+ 0 - 1
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)

+ 0 - 1
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:

+ 1 - 1
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
 

+ 0 - 1
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 \

+ 0 - 1
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 \

+ 0 - 1
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

+ 0 - 1
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 \

+ 0 - 1
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

+ 0 - 1
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

+ 1 - 1
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

+ 0 - 1
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

+ 2 - 2
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
 

+ 0 - 1
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

+ 0 - 1
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

+ 2 - 3
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

+ 0 - 1
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 \

+ 0 - 1
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

+ 0 - 1
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 \

+ 0 - 5
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

+ 0 - 1
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 \

+ 1 - 2
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

+ 0 - 1
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:

+ 0 - 2
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

+ 0 - 2
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

+ 2 - 2
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:

+ 0 - 66
package/u-boot-h8300/Makefile

@@ -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

+ 0 - 11
package/u-boot-h8300/patches/patch-include_linux_compiler-gcc_h

@@ -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__)
- 

+ 2 - 2
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:

+ 0 - 1
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)'
 

+ 0 - 1
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

+ 0 - 1
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
 

+ 0 - 1
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

+ 0 - 6
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

+ 0 - 8
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
 

+ 0 - 257
toolchain/gcc/patches/4.4.7/cflags.patch

@@ -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;

+ 0 - 222
toolchain/gcc/patches/4.9.4/cflags.patch

@@ -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;