Unfortunately this fails when doing a FLAVOR=full build with xg++: error: unrecognized command line option '-fbracket-depth=512'. I will look into this again, if only armv7 builds were a bit faster on my board...
On Fri, 23 Mar 2018, Markus Hennecke wrote: > In order to compile gcc 4.9 on armv7 the patches below are required. I > don't know if the approach for the configure patch is the correct way to > inject -fbracket-depth=512 is the best way to do it. The patch for > gcc/system.h had no effect on a i386 build. Perhaps this becomes handy if > 6.3 packages are build for armv7. > > Index: patches/patch-gcc_configure > =================================================================== > RCS file: /cvs/ports/lang/gcc/4.9/patches/patch-gcc_configure,v > retrieving revision 1.5 > diff -u -p -r1.5 patch-gcc_configure > --- patches/patch-gcc_configure 1 Sep 2016 17:30:33 -0000 1.5 > +++ patches/patch-gcc_configure 23 Mar 2018 17:39:58 -0000 > @@ -1,7 +1,18 @@ > $OpenBSD: patch-gcc_configure,v 1.5 2016/09/01 17:30:33 pascal Exp $ > ---- gcc/configure.orig Sun May 22 10:53:32 2016 > -+++ gcc/configure Sat Aug 6 19:19:05 2016 > -@@ -17367,7 +17367,7 @@ openbsd*) > +Index: gcc/configure > +--- gcc/configure.orig > ++++ gcc/configure > +@@ -6597,6 +6597,9 @@ $as_echo "$ac_res" >&6; } > + fi > + done > + CFLAGS="$save_CFLAGS" > ++if [[ `uname -m` == armv7 ]] ; then > ++ noexception_flags="$noexception_flags -fbracket-depth=512" > ++fi > + > + > + # Enable expensive internal checks > +@@ -17367,7 +17370,7 @@ openbsd*) > *) need_version=no ;; > esac > library_names_spec='${libname}${release}${shared_ext}$versuffix > ${libname}${shared_ext}$versuffix' > @@ -10,7 +21,7 @@ $OpenBSD: patch-gcc_configure,v 1.5 2016 > shlibpath_var=LD_LIBRARY_PATH > if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test > "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then > case $host_os in > -@@ -21027,7 +21027,7 @@ openbsd*) > +@@ -21027,7 +21030,7 @@ openbsd*) > *) need_version=no ;; > esac > library_names_spec='${libname}${release}${shared_ext}$versuffix > ${libname}${shared_ext}$versuffix' > @@ -19,7 +30,7 @@ $OpenBSD: patch-gcc_configure,v 1.5 2016 > shlibpath_var=LD_LIBRARY_PATH > if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test > "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then > case $host_os in > -@@ -27522,6 +27522,7 @@ else > +@@ -27522,6 +27525,7 @@ else > fi > > ;; > Index: patches/patch-gcc_system_h > =================================================================== > RCS file: patches/patch-gcc_system_h > diff -N patches/patch-gcc_system_h > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-gcc_system_h 23 Mar 2018 17:39:58 -0000 > @@ -0,0 +1,13 @@ > +$OpenBSD$ > + > +Index: gcc/system.h > +--- gcc/system.h.orig > ++++ gcc/system.h > +@@ -231,6 +231,7 @@ extern int errno; > + file uses a standard library header that includes <cstdlib>, we will get > + an error about 'using std::malloc'. */ > + #ifdef __cplusplus > ++#include <new> > + #include <cstdlib> > + #endif > + > >