Re: adjustments for arm clang switch

2018-01-20 Thread Juan Francisco Cantero Hurtado
On Sat, Jan 20, 2018 at 11:07:46PM +, Stuart Henderson wrote:
> On 2018/01/20 12:53, Juan Francisco Cantero Hurtado wrote:
> > On Sat, Jan 20, 2018 at 09:05:28AM +, Stuart Henderson wrote:
> > > On 2018/01/20 16:28, Jonathan Gray wrote:
> > > > With armv7 switching to clang as the base compiler atomic builtins and
> > > > -mfpu=neon are now available on arm.
> > > 
> > > Comments on a couple below, others are OK with me:
> > > 
> > > > Index: lang/racket-minimal/Makefile
> > > > ===
> > > > RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> > > > retrieving revision 1.43
> > > > diff -u -p -r1.43 Makefile
> > > > --- lang/racket-minimal/Makefile2 Dec 2017 21:39:49 -   
> > > > 1.43
> > > > +++ lang/racket-minimal/Makefile20 Jan 2018 00:52:42 -
> > > > @@ -38,7 +38,6 @@ EXTRACT_SUFX =.tgz
> > > >  # "places" and "futures" require TLS.
> > > >  COMPILER = base-clang ports-gcc
> > > >  COMPILER_LANGS =   c
> > > > -MODGCC4_ARCHS =arm
> > > >  
> > > >  LIB_DEPENDS =  converters/libiconv \
> > > > databases/sqlite3 \
> > > 
> > > Here ports-gcc is only used for arm (restricting from the defaults).
> > > By removing MODGCC4_ARCHS all !base-clang arches switch to ports-gcc,
> > > so the effect you are looking for would come from removing the
> > > COMPILER* lines as well.
> > > 
> > > This doesn't really square up with the above comment about TLS though
> > > because ONLY_FOR_ARCHS lists !base-clang arches. juanfra, do you know
> > > what's going on here?
> > 
> > I remember vaguely someone changing a bunch of ports to lang/gcc because
> > the base gcc didn't have support for something on arm. Sorry, I don't
> > remember the details.
> 
> The comment talks about TLS, but base gcc didn't have that anyway.
> But also it talks about needing TLS for "places" and "futures" but
> those are disabled with CONFIGURE_ARGS on all !x86 anyway.
> 
> Bit confusing..

In fact, it's quite simple :)

Racket has a JIT and a C interpreter. The JIT is only available on
amd64, i386, arm and powerpc. powerpc has an old version and doesn't
support places and futures. The assembly is broken on arm when places
and futures are enabled. The C interpreter doesn't support places and
futures. places and futures requires TLS.

So, you have amd64/i386 with JIT+places+futures. arm and powerpc with
JIT-places+futures. Everything else has only the C interpreter.

Upstream is working on a new different interpreter which probably will
provide a better support for less popular platforms.


-- 
Juan Francisco Cantero Hurtado http://juanfra.info



Re: adjustments for arm clang switch

2018-01-20 Thread Juan Francisco Cantero Hurtado
On Sun, Jan 21, 2018 at 12:13:57AM +, Stuart Henderson wrote:
> With the move to clang, arm has a more modern assembler, so it probably
> makes sense to try places+futures there. And the comment about TLS doesn't
> make much sense because it will only be tried on arch that have some kind of
> TLS support anyway.

It's not that kind of problem. Racket doesn't build with JIT+places on
arm. The JIT doesn't have the assembly code to support places there. I
tested the build this afternoon also with places and futures enabled
(just in case).

My comments here are mostly small notes to avoid fuck up the package. If
something is enabled in the makefile, I tested it on that platform. In
the past, the configure magic built an apparently good interpreter which
failed with some tests.

The makefile will be more clean when upstream releases the new
interpreter.

> 
> 
> 
> On 20 January 2018 23:58:08 Juan Francisco Cantero Hurtado
>  wrote:
> 
> > On Sat, Jan 20, 2018 at 11:07:46PM +, Stuart Henderson wrote:
> > > On 2018/01/20 12:53, Juan Francisco Cantero Hurtado wrote:
> > > > On Sat, Jan 20, 2018 at 09:05:28AM +, Stuart Henderson wrote:
> > > > > On 2018/01/20 16:28, Jonathan Gray wrote:
> > > > > > With armv7 switching to clang as the base compiler atomic builtins 
> > > > > > and
> > > > > > -mfpu=neon are now available on arm.
> > > > >
> > > > > Comments on a couple below, others are OK with me:
> > > > >
> > > > > > Index: lang/racket-minimal/Makefile
> > > > > > ===
> > > > > > RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> > > > > > retrieving revision 1.43
> > > > > > diff -u -p -r1.43 Makefile
> > > > > > --- lang/racket-minimal/Makefile2 Dec 2017 21:39:49 -   
> > > > > > 1.43
> > > > > > +++ lang/racket-minimal/Makefile20 Jan 2018 00:52:42 -
> > > > > > @@ -38,7 +38,6 @@ EXTRACT_SUFX =.tgz
> > > > > >  # "places" and "futures" require TLS.
> > > > > >  COMPILER = base-clang ports-gcc
> > > > > >  COMPILER_LANGS =   c
> > > > > > -MODGCC4_ARCHS =arm
> > > > > >
> > > > > >  LIB_DEPENDS =  converters/libiconv \
> > > > > > databases/sqlite3 \
> > > > >
> > > > > Here ports-gcc is only used for arm (restricting from the defaults).
> > > > > By removing MODGCC4_ARCHS all !base-clang arches switch to ports-gcc,
> > > > > so the effect you are looking for would come from removing the
> > > > > COMPILER* lines as well.
> > > > >
> > > > > This doesn't really square up with the above comment about TLS though
> > > > > because ONLY_FOR_ARCHS lists !base-clang arches. juanfra, do you know
> > > > > what's going on here?
> > > >
> > > > I remember vaguely someone changing a bunch of ports to lang/gcc because
> > > > the base gcc didn't have support for something on arm. Sorry, I don't
> > > > remember the details.
> > > 
> > > The comment talks about TLS, but base gcc didn't have that anyway.
> > > But also it talks about needing TLS for "places" and "futures" but
> > > those are disabled with CONFIGURE_ARGS on all !x86 anyway.
> > > 
> > > Bit confusing..
> > 
> > In fact, it's quite simple :)
> > 
> > Racket has a JIT and a C interpreter. The JIT is only available on
> > amd64, i386, arm and powerpc. powerpc has an old version and doesn't
> > support places and futures. The assembly is broken on arm when places
> > and futures are enabled. The C interpreter doesn't support places and
> > futures. places and futures requires TLS.
> > 
> > So, you have amd64/i386 with JIT+places+futures. arm and powerpc with
> > JIT-places+futures. Everything else has only the C interpreter.
> > 
> > Upstream is working on a new different interpreter which probably will
> > provide a better support for less popular platforms.
> > 
> > 
> > --
> > Juan Francisco Cantero Hurtado http://juanfra.info
> 
> 

-- 
Juan Francisco Cantero Hurtado http://juanfra.info



Re: adjustments for arm clang switch

2018-01-20 Thread Stuart Henderson
With the move to clang, arm has a more modern assembler, so it probably 
makes sense to try places+futures there. And the comment about TLS doesn't 
make much sense because it will only be tried on arch that have some kind 
of TLS support anyway.




On 20 January 2018 23:58:08 Juan Francisco Cantero Hurtado 
 wrote:



On Sat, Jan 20, 2018 at 11:07:46PM +, Stuart Henderson wrote:

On 2018/01/20 12:53, Juan Francisco Cantero Hurtado wrote:
> On Sat, Jan 20, 2018 at 09:05:28AM +, Stuart Henderson wrote:
> > On 2018/01/20 16:28, Jonathan Gray wrote:
> > > With armv7 switching to clang as the base compiler atomic builtins and
> > > -mfpu=neon are now available on arm.
> >
> > Comments on a couple below, others are OK with me:
> >
> > > Index: lang/racket-minimal/Makefile
> > > ===
> > > RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> > > retrieving revision 1.43
> > > diff -u -p -r1.43 Makefile
> > > --- lang/racket-minimal/Makefile 2 Dec 2017 21:39:49 -   1.43
> > > +++ lang/racket-minimal/Makefile 20 Jan 2018 00:52:42 -
> > > @@ -38,7 +38,6 @@ EXTRACT_SUFX = .tgz
> > >  # "places" and "futures" require TLS.
> > >  COMPILER =  base-clang ports-gcc
> > >  COMPILER_LANGS =c
> > > -MODGCC4_ARCHS = arm
> > >
> > >  LIB_DEPENDS =   converters/libiconv \
> > >  databases/sqlite3 \
> >
> > Here ports-gcc is only used for arm (restricting from the defaults).
> > By removing MODGCC4_ARCHS all !base-clang arches switch to ports-gcc,
> > so the effect you are looking for would come from removing the
> > COMPILER* lines as well.
> >
> > This doesn't really square up with the above comment about TLS though
> > because ONLY_FOR_ARCHS lists !base-clang arches. juanfra, do you know
> > what's going on here?
>
> I remember vaguely someone changing a bunch of ports to lang/gcc because
> the base gcc didn't have support for something on arm. Sorry, I don't
> remember the details.

The comment talks about TLS, but base gcc didn't have that anyway.
But also it talks about needing TLS for "places" and "futures" but
those are disabled with CONFIGURE_ARGS on all !x86 anyway.

Bit confusing..


In fact, it's quite simple :)

Racket has a JIT and a C interpreter. The JIT is only available on
amd64, i386, arm and powerpc. powerpc has an old version and doesn't
support places and futures. The assembly is broken on arm when places
and futures are enabled. The C interpreter doesn't support places and
futures. places and futures requires TLS.

So, you have amd64/i386 with JIT+places+futures. arm and powerpc with
JIT-places+futures. Everything else has only the C interpreter.

Upstream is working on a new different interpreter which probably will
provide a better support for less popular platforms.


--
Juan Francisco Cantero Hurtado http://juanfra.info





Re: adjustments for arm clang switch

2018-01-20 Thread Stuart Henderson
On 2018/01/20 12:53, Juan Francisco Cantero Hurtado wrote:
> On Sat, Jan 20, 2018 at 09:05:28AM +, Stuart Henderson wrote:
> > On 2018/01/20 16:28, Jonathan Gray wrote:
> > > With armv7 switching to clang as the base compiler atomic builtins and
> > > -mfpu=neon are now available on arm.
> > 
> > Comments on a couple below, others are OK with me:
> > 
> > > Index: lang/racket-minimal/Makefile
> > > ===
> > > RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> > > retrieving revision 1.43
> > > diff -u -p -r1.43 Makefile
> > > --- lang/racket-minimal/Makefile  2 Dec 2017 21:39:49 -   1.43
> > > +++ lang/racket-minimal/Makefile  20 Jan 2018 00:52:42 -
> > > @@ -38,7 +38,6 @@ EXTRACT_SUFX =  .tgz
> > >  # "places" and "futures" require TLS.
> > >  COMPILER =   base-clang ports-gcc
> > >  COMPILER_LANGS = c
> > > -MODGCC4_ARCHS =  arm
> > >  
> > >  LIB_DEPENDS =converters/libiconv \
> > >   databases/sqlite3 \
> > 
> > Here ports-gcc is only used for arm (restricting from the defaults).
> > By removing MODGCC4_ARCHS all !base-clang arches switch to ports-gcc,
> > so the effect you are looking for would come from removing the
> > COMPILER* lines as well.
> > 
> > This doesn't really square up with the above comment about TLS though
> > because ONLY_FOR_ARCHS lists !base-clang arches. juanfra, do you know
> > what's going on here?
> 
> I remember vaguely someone changing a bunch of ports to lang/gcc because
> the base gcc didn't have support for something on arm. Sorry, I don't
> remember the details.

The comment talks about TLS, but base gcc didn't have that anyway.
But also it talks about needing TLS for "places" and "futures" but
those are disabled with CONFIGURE_ARGS on all !x86 anyway.

Bit confusing..



Re: adjustments for arm clang switch

2018-01-20 Thread Juan Francisco Cantero Hurtado
On Sat, Jan 20, 2018 at 09:05:28AM +, Stuart Henderson wrote:
> On 2018/01/20 16:28, Jonathan Gray wrote:
> > With armv7 switching to clang as the base compiler atomic builtins and
> > -mfpu=neon are now available on arm.
> 
> Comments on a couple below, others are OK with me:
> 
> > Index: lang/racket-minimal/Makefile
> > ===
> > RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> > retrieving revision 1.43
> > diff -u -p -r1.43 Makefile
> > --- lang/racket-minimal/Makefile2 Dec 2017 21:39:49 -   1.43
> > +++ lang/racket-minimal/Makefile20 Jan 2018 00:52:42 -
> > @@ -38,7 +38,6 @@ EXTRACT_SUFX =.tgz
> >  # "places" and "futures" require TLS.
> >  COMPILER = base-clang ports-gcc
> >  COMPILER_LANGS =   c
> > -MODGCC4_ARCHS =arm
> >  
> >  LIB_DEPENDS =  converters/libiconv \
> > databases/sqlite3 \
> 
> Here ports-gcc is only used for arm (restricting from the defaults).
> By removing MODGCC4_ARCHS all !base-clang arches switch to ports-gcc,
> so the effect you are looking for would come from removing the
> COMPILER* lines as well.
> 
> This doesn't really square up with the above comment about TLS though
> because ONLY_FOR_ARCHS lists !base-clang arches. juanfra, do you know
> what's going on here?

I remember vaguely someone changing a bunch of ports to lang/gcc because
the base gcc didn't have support for something on arm. Sorry, I don't
remember the details.

I will update the makefile later today.


-- 
Juan Francisco Cantero Hurtado http://juanfra.info



Re: adjustments for arm clang switch

2018-01-20 Thread Peter Hessler
On 2018 Jan 20 (Sat) at 09:05:28 + (+), Stuart Henderson wrote:
:On 2018/01/20 16:28, Jonathan Gray wrote:
:> Index: multimedia/mpv/Makefile
:> ===
:> RCS file: /cvs/ports/multimedia/mpv/Makefile,v
:> retrieving revision 1.38
:> diff -u -p -r1.38 Makefile
:> --- multimedia/mpv/Makefile  23 Oct 2017 17:10:52 -  1.38
:> +++ multimedia/mpv/Makefile  20 Jan 2018 00:42:26 -
:> @@ -1,7 +1,7 @@
:>  # $OpenBSD: Makefile,v 1.38 2017/10/23 17:10:52 sthen Exp $
:>  
:>  # archs with atomic ops
:> -ONLY_FOR_ARCHS =aarch64 alpha amd64 i386 mips64 mips64el powerpc sparc64
:> +ONLY_FOR_ARCHS =aarch64 alpha amd64 arm i386 mips64 mips64el powerpc 
sparc64
:>  BROKEN-powerpc =atomics detection fails
:>  
:>  COMMENT =   movie player based on MPlayer/mplayer2
:
:This is probably better written as
:
:NOT_FOR_ARCHS =hppa landisk luna88k m88k
:
:(The current line is missing aarch64).
:

I'm happy with changing it to NOT_FOR_ARCHS, but aarch64 is the first
entry :).

:> Other BROKEN markers are suspect as well
:> 
:> devel/codeblocks/Makefile:BROKEN-arm=wxwidgets va_list c++ mangling 
requires gcc < 4.4
:> devel/arm-none-eabi/gcc-linaro/Makefile:BROKEN-armv7=error during 
libgcc autoconf "checking for suffix of object files", probably similar to i386
:> devel/reposurgeon/Makefile:BROKEN-arm=   out of memory compiling 
cyreposurgeon.c
:> games/crimson/Makefile:BROKEN-arm=   mktileset buggy, loops at high CPU use
:> games/stone-soup/Makefile:BROKEN-arm=tilegen.elf loops burning cpu
:> games/fifengine/Makefile:BROKEN-arm =out of memory when compiling 
fifePYTHON_wrap.cxx
:> lang/seed7/Makefile:BROKEN-arm = gmake: *** [makefile:279: ../bin/make7] 
Bus error (core dumped)
:> security/john-jumbo/Makefile:BROKEN-arm =uaf_encode_plug.c:61: error: 
stray '$' in program
:
:Unless phessler objects I think it would probably make sense to try
:removing these as well.

Yes, please remove those BROKEN-arm markers.  We can add them back if
necessary.


-- 
Concept, n.:
Any "idea" for which an outside consultant billed you more than
$25,000.



Re: adjustments for arm clang switch

2018-01-20 Thread Stuart Henderson
On 2018/01/20 16:28, Jonathan Gray wrote:
> With armv7 switching to clang as the base compiler atomic builtins and
> -mfpu=neon are now available on arm.

Comments on a couple below, others are OK with me:

> Index: lang/racket-minimal/Makefile
> ===
> RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> retrieving revision 1.43
> diff -u -p -r1.43 Makefile
> --- lang/racket-minimal/Makefile  2 Dec 2017 21:39:49 -   1.43
> +++ lang/racket-minimal/Makefile  20 Jan 2018 00:52:42 -
> @@ -38,7 +38,6 @@ EXTRACT_SUFX =  .tgz
>  # "places" and "futures" require TLS.
>  COMPILER =   base-clang ports-gcc
>  COMPILER_LANGS = c
> -MODGCC4_ARCHS =  arm
>  
>  LIB_DEPENDS =converters/libiconv \
>   databases/sqlite3 \

Here ports-gcc is only used for arm (restricting from the defaults).
By removing MODGCC4_ARCHS all !base-clang arches switch to ports-gcc,
so the effect you are looking for would come from removing the
COMPILER* lines as well.

This doesn't really square up with the above comment about TLS though
because ONLY_FOR_ARCHS lists !base-clang arches. juanfra, do you know
what's going on here?

> Index: multimedia/mpv/Makefile
> ===
> RCS file: /cvs/ports/multimedia/mpv/Makefile,v
> retrieving revision 1.38
> diff -u -p -r1.38 Makefile
> --- multimedia/mpv/Makefile   23 Oct 2017 17:10:52 -  1.38
> +++ multimedia/mpv/Makefile   20 Jan 2018 00:42:26 -
> @@ -1,7 +1,7 @@
>  # $OpenBSD: Makefile,v 1.38 2017/10/23 17:10:52 sthen Exp $
>  
>  # archs with atomic ops
> -ONLY_FOR_ARCHS = aarch64 alpha amd64 i386 mips64 mips64el powerpc sparc64
> +ONLY_FOR_ARCHS = aarch64 alpha amd64 arm i386 mips64 mips64el powerpc 
> sparc64
>  BROKEN-powerpc = atomics detection fails
>  
>  COMMENT =movie player based on MPlayer/mplayer2

This is probably better written as

NOT_FOR_ARCHS = hppa landisk luna88k m88k

(The current line is missing aarch64).

> Index: x11/qt4/Makefile
> ===
> RCS file: /cvs/ports/x11/qt4/Makefile,v
> retrieving revision 1.150
> diff -u -p -r1.150 Makefile
> --- x11/qt4/Makefile  4 Jan 2018 09:34:24 -   1.150
> +++ x11/qt4/Makefile  20 Jan 2018 00:56:07 -
> @@ -150,12 +150,6 @@ CONFIGURE_ARGS +=-release
>  
>  .include 
>  
> -MODULES =gcc4
> -
> -# for __sync_add_and_fetch_4, __sync_sub_and_fetch_4
> -MODGCC4_ARCHS =  arm
> -MODGCC4_LANGS =  c++
> -
>  LIB_DEPENDS =
>  WANTLIB =
>  RUN_DEPENDS =

I wondered about the ".include " here. Turns out it's
to support "no_examples" builds which were removed with Makefile r1.122
so that could be removed as well, but that's unrelated to the
MODULES=gcc4 things.

> Other BROKEN markers are suspect as well
> 
> devel/codeblocks/Makefile:BROKEN-arm= wxwidgets va_list c++ mangling requires 
> gcc < 4.4
> devel/arm-none-eabi/gcc-linaro/Makefile:BROKEN-armv7= error during libgcc 
> autoconf "checking for suffix of object files", probably similar to i386
> devel/reposurgeon/Makefile:BROKEN-arm=out of memory compiling 
> cyreposurgeon.c
> games/crimson/Makefile:BROKEN-arm=mktileset buggy, loops at high CPU use
> games/stone-soup/Makefile:BROKEN-arm= tilegen.elf loops burning cpu
> games/fifengine/Makefile:BROKEN-arm = out of memory when compiling 
> fifePYTHON_wrap.cxx
> lang/seed7/Makefile:BROKEN-arm =  gmake: *** [makefile:279: ../bin/make7] 
> Bus error (core dumped)
> security/john-jumbo/Makefile:BROKEN-arm = uaf_encode_plug.c:61: error: 
> stray '$' in program

Unless phessler objects I think it would probably make sense to try
removing these as well.



Re: adjustments for arm clang switch

2018-01-19 Thread Jeremie Courreges-Anglas
On Sat, Jan 20 2018, Jonathan Gray  wrote:
> With armv7 switching to clang as the base compiler atomic builtins and
> -mfpu=neon are now available on arm.
>
> Other BROKEN markers are suspect as well
>
> devel/codeblocks/Makefile:BROKEN-arm= wxwidgets va_list c++ mangling requires 
> gcc < 4.4
> devel/arm-none-eabi/gcc-linaro/Makefile:BROKEN-armv7= error during libgcc 
> autoconf "checking for suffix of object files", probably similar to i386
> devel/reposurgeon/Makefile:BROKEN-arm=out of memory compiling 
> cyreposurgeon.c
> games/crimson/Makefile:BROKEN-arm=mktileset buggy, loops at high CPU use
> games/stone-soup/Makefile:BROKEN-arm= tilegen.elf loops burning cpu
> games/fifengine/Makefile:BROKEN-arm = out of memory when compiling 
> fifePYTHON_wrap.cxx
> lang/seed7/Makefile:BROKEN-arm =  gmake: *** [makefile:279: ../bin/make7] 
> Bus error (core dumped)
> security/john-jumbo/Makefile:BROKEN-arm = uaf_encode_plug.c:61: error: 
> stray '$' in program
>
> Index: audio/audiality2/Makefile
> ===
> RCS file: /cvs/ports/audio/audiality2/Makefile,v
> retrieving revision 1.2
> diff -u -p -r1.2 Makefile
> --- audio/audiality2/Makefile 20 Dec 2017 20:26:33 -  1.2
> +++ audio/audiality2/Makefile 20 Jan 2018 00:48:15 -
> @@ -25,8 +25,6 @@ WANTLIB += c SDL2 m
>  
>  COMPILER =   base-clang ports-gcc base-gcc
>  COMPILER_LANGS = c
> -# __sync_bool_compare_and_swap_4
> -MODGCC4_ARCHS =  arm

The intent here was to require ports-gcc on arm only.  Please delete all
of COMPILER/COMPILER_LANGS/MODGCC4_ARCHS.

Except for racket-minimal which looks suspicious (see below), the rest
look good, ok jca@

> Index: lang/racket-minimal/Makefile
> ===
> RCS file: /cvs/ports/lang/racket-minimal/Makefile,v
> retrieving revision 1.43
> diff -u -p -r1.43 Makefile
> --- lang/racket-minimal/Makefile  2 Dec 2017 21:39:49 -   1.43
> +++ lang/racket-minimal/Makefile  20 Jan 2018 00:52:42 -
> @@ -38,7 +38,6 @@ EXTRACT_SUFX =  .tgz
>  # "places" and "futures" require TLS.
>  COMPILER =   base-clang ports-gcc
>  COMPILER_LANGS = c
> -MODGCC4_ARCHS =  arm

If you remove this line only, then mips64el, powerpc and sparc64 will
start using ports-gcc.  I'm not sure what was intended.  cc'ing
maintainer.

(The port uses ONLY_FOR_ARCHS:
  ONLY_FOR_ARCHS =  arm amd64 i386 mips64el powerpc sparc64)

>  
>  LIB_DEPENDS =converters/libiconv \
>   databases/sqlite3 \

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE



adjustments for arm clang switch

2018-01-19 Thread Jonathan Gray
With armv7 switching to clang as the base compiler atomic builtins and
-mfpu=neon are now available on arm.

Other BROKEN markers are suspect as well

devel/codeblocks/Makefile:BROKEN-arm=   wxwidgets va_list c++ mangling requires 
gcc < 4.4
devel/arm-none-eabi/gcc-linaro/Makefile:BROKEN-armv7=   error during libgcc 
autoconf "checking for suffix of object files", probably similar to i386
devel/reposurgeon/Makefile:BROKEN-arm=  out of memory compiling cyreposurgeon.c
games/crimson/Makefile:BROKEN-arm=  mktileset buggy, loops at high CPU use
games/stone-soup/Makefile:BROKEN-arm=   tilegen.elf loops burning cpu
games/fifengine/Makefile:BROKEN-arm =   out of memory when compiling 
fifePYTHON_wrap.cxx
lang/seed7/Makefile:BROKEN-arm =gmake: *** [makefile:279: ../bin/make7] 
Bus error (core dumped)
security/john-jumbo/Makefile:BROKEN-arm =   uaf_encode_plug.c:61: error: 
stray '$' in program

Index: audio/audiality2/Makefile
===
RCS file: /cvs/ports/audio/audiality2/Makefile,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile
--- audio/audiality2/Makefile   20 Dec 2017 20:26:33 -  1.2
+++ audio/audiality2/Makefile   20 Jan 2018 00:48:15 -
@@ -25,8 +25,6 @@ WANTLIB += c SDL2 m
 
 COMPILER = base-clang ports-gcc base-gcc
 COMPILER_LANGS = c
-# __sync_bool_compare_and_swap_4
-MODGCC4_ARCHS =arm
 
 MODULES =  devel/cmake
 LIB_DEPENDS =  devel/sdl2
Index: audio/jack/Makefile
===
RCS file: /cvs/ports/audio/jack/Makefile,v
retrieving revision 1.37
diff -u -p -r1.37 Makefile
--- audio/jack/Makefile 29 Dec 2016 14:29:37 -  1.37
+++ audio/jack/Makefile 20 Jan 2018 00:48:29 -
@@ -20,10 +20,6 @@ WANTLIB += sndio termcap FLAC ogg vorbis
 
 MASTER_SITES = ${HOMEPAGE}downloads/
 
-MODULES =  gcc4
-# needs __sync_fetch_and_add_4, __sync_add_and_fetch_4
-MODGCC4_ARCHS =arm
-
 LIB_DEPENDS =  audio/libsndfile \
audio/libsamplerate \
audio/celt>=0.11.0 \
Index: databases/kyotocabinet/Makefile
===
RCS file: /cvs/ports/databases/kyotocabinet/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- databases/kyotocabinet/Makefile 26 Jul 2017 22:45:16 -  1.19
+++ databases/kyotocabinet/Makefile 20 Jan 2018 00:42:51 -
@@ -24,11 +24,6 @@ WANTLIB += c m pthread ${COMPILER_LIBCXX
 
 MASTER_SITES=  ${HOMEPAGE}pkg/
 
-# for atomic builtins
-MODULES=   gcc4
-MODGCC4_ARCHS= arm
-MODGCC4_LANGS= c++
-
 USE_GMAKE= Yes
 
 CONFIGURE_STYLE=gnu
Index: databases/postgresql/Makefile
===
RCS file: /cvs/ports/databases/postgresql/Makefile,v
retrieving revision 1.233
diff -u -p -r1.233 Makefile
--- databases/postgresql/Makefile   13 Jan 2018 12:28:49 -  1.233
+++ databases/postgresql/Makefile   20 Jan 2018 00:49:19 -
@@ -46,11 +46,8 @@ USE_GMAKE=   Yes
 
 CONFIGURE_STYLE=gnu
 
-MODULES=   lang/python gcc4
+MODULES=   lang/python
 MODPY_RUNDEP=  No
-
-# for __sync_lock_test_and_set
-MODGCC4_ARCHS= arm
 
 CONFIGURE_ENV= ac_cv_path_PYTHON=${MODPY_BIN} \
CPPFLAGS="-I${LOCALBASE}/include" \
Index: databases/postgresql-previous/Makefile
===
RCS file: /cvs/ports/databases/postgresql-previous/Makefile,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile
--- databases/postgresql-previous/Makefile  30 Nov 2017 16:21:25 -  
1.4
+++ databases/postgresql-previous/Makefile  20 Jan 2018 00:49:34 -
@@ -30,12 +30,9 @@ USE_GMAKE=   Yes
 
 CONFIGURE_STYLE=gnu
 
-MODULES=   lang/python gcc4
+MODULES=   lang/python
 MODPY_RUNDEP=  No
 POSTGRESQL_DIR=postgresql-${VERSION:C/.[0-9]+$//}
-
-# for __sync_lock_test_and_set   
-MODGCC4_ARCHS= arm 
 
 CONFIGURE_ENV= ac_cv_path_PYTHON=${MODPY_BIN} \
CPPFLAGS="-I${LOCALBASE}/include" \
Index: devel/libgit2/libgit2/Makefile
===
RCS file: /cvs/ports/devel/libgit2/libgit2/Makefile,v
retrieving revision 1.32
diff -u -p -r1.32 Makefile
--- devel/libgit2/libgit2/Makefile  8 Dec 2017 18:58:53 -   1.32
+++ devel/libgit2/libgit2/Makefile  20 Jan 2018 01:01:40 -
@@ -16,7 +16,7 @@ MODPY_RUNDEP= No
 COMPILER=  base-clang ports-gcc base-gcc
 COMPILER_LANGS=c
 # for atomic builtins
-MODGCC4_ARCHS= arm hppa
+MODGCC4_ARCHS= hppa
 
 # bundles https://github.com/nodejs/http-parser
 LIB_DEPENDS=   net/curl \
Index: devel/liburcu/Makefile
===
RCS file: /cvs/ports/devel/liburcu/Makefile,v
retrieving