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).

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

Reply via email to