On Tue, 17 Jun 2014 13:42:28 -0400, Brian Callahan wrote:
> Hi ports --
>
> And earlier version of the attached diff was passed around but I think
> it's time now to get it in (thanks jasper for the prodding).
> This will get gcc-4.8 built on mips64el (I'm assuming mips64 as
> well...). This gcc was able to build working llvm binaries on mips64el
> from their HEAD from about 3 weeks ago (did not build clang because
> clang doesn't support mips3 yet).
Well, the important question is: Does it help the gcc4 users in the
ports tree on mips64* or do they run into similar binutils issues?
> OK?
>
> ~Brian
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/lang/gcc/4.8/Makefile,v
> retrieving revision 1.36
> diff -u -p -r1.36 Makefile
> --- Makefile 8 Jun 2014 18:55:36 -0000 1.36
> +++ Makefile 17 Jun 2014 17:36:31 -0000
> @@ -1,8 +1,5 @@
> # $OpenBSD: Makefile,v 1.36 2014/06/08 18:55:36 brad Exp $
>
> -BROKEN-mips64 = ld: not enough GOT space for local GOT entries
> -BROKEN-mips64el = ld: not enough GOT space for local GOT entries
> -
> ONLY_FOR_ARCHS = alpha amd64 i386 powerpc sparc64 mips64 mips64el
> DPB_PROPERTIES = parallel
>
> @@ -59,6 +56,7 @@ FLAVOR ?=
>
> ONLY_FOR_ARCHS-ada = amd64 i386 sparc64
> ONLY_FOR_ARCHS-java = amd64 i386 powerpc sparc64
> +NOT_FOR_ARCHS-full = mips64 mips64el
That doesn't really make sense. There is no subpackage named "full".
The chunk below should be enough.
> MULTI_PACKAGES = -main -f95 -objc -c++ -estdc -java -ada
>
> @@ -171,6 +169,11 @@ USE_GMAKE = yes
> # you shouldn't skip bootstrap unless you know what you're doing
> # use bootstrap-lean if you're pressed for space
> ALL_TARGET = bootstrap
> +# mips64* have issues with ld, but this method gets a working
> +# compiler suite.
> +.else if ${MACHINE_ARCH} == "mips64el" || ${MACHINE_ARCH} == "mips64"
> +CONFIGURE_ARGS += --disable-bootstrap
> +ALL_TARGET = all
> .else
> # skip the stage2/stage3 bullshit under normal circumstances
> ALL_TARGET = bootstrap2