Re: Add mips64* to lang/gcc/4.8
On Tue, 17 Jun 2014 16:28:47 -0400, Brian Callahan wrote: On 06/17/14 16:16, Pascal Stumpf wrote: 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? The big test from my perspective would be webkit. But I don't have the time to test that on mips64el. I'm hoping someone on here does. I also just re-read the relevant config.gcc parts and noticed that PIE_DEFAULT=1 is missing from tm_defines. Can someone test if that works? 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 - 1.36 +++ Makefile 17 Jun 2014 17:36:31 - @@ -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. Alright I'll take that out. 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
Re: Add mips64* to lang/gcc/4.8
On Tue, Jun 17, 2014 at 01:42:28PM -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). What this does is build gcc 4.8 with base gcc and stop. Normal gcc builds bootstrap themselves over a couple of stages, thus providing some assurance that the new compiler is actually working well enough to build itself. I suspect once you try to compile something with this 4.8, it will blow up in binutils with just the same error.
Add mips64* to lang/gcc/4.8
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 --- Makefile8 Jun 2014 18:55:36 - 1.36 +++ Makefile17 Jun 2014 17:36:31 - @@ -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
Re: Add mips64* to lang/gcc/4.8
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 - 1.36 +++ Makefile 17 Jun 2014 17:36:31 - @@ -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
Re: Add mips64* to lang/gcc/4.8
On 06/17/14 16:16, Pascal Stumpf wrote: 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? The big test from my perspective would be webkit. But I don't have the time to test that on mips64el. I'm hoping someone on here does. OK? ~Brian Index: Makefile === RCS file: /cvs/ports/lang/gcc/4.8/Makefile,v retrieving revision 1.36 diff -u -p -r1.36 Makefile --- Makefile8 Jun 2014 18:55:36 - 1.36 +++ Makefile17 Jun 2014 17:36:31 - @@ -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. Alright I'll take that out. 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
Re: Add mips64* to lang/gcc/4.8
On Tue, Jun 17, 2014 at 04:28:47PM -0400, Brian Callahan wrote: On 06/17/14 16:16, Pascal Stumpf wrote: 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? The big test from my perspective would be webkit. But I don't have the time to test that on mips64el. I'm hoping someone on here does. i'm pretty confident webkit itself will have *other* issues, such as not building because of missing #define pluming, or missing ifdefs, or broken js engine, etc.. dont aim for too high, start by a reasonable gcc4 consumer, dunno, trojita, gnome-shell, mscore, clementine, mpd... Landry
Re: Add mips64* to lang/gcc/4.8
On 06/17/14 17:27, Landry Breuil wrote: On Tue, Jun 17, 2014 at 04:28:47PM -0400, Brian Callahan wrote: On 06/17/14 16:16, Pascal Stumpf wrote: 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? The big test from my perspective would be webkit. But I don't have the time to test that on mips64el. I'm hoping someone on here does. i'm pretty confident webkit itself will have *other* issues, such as not building because of missing #define pluming, or missing ifdefs, or broken js engine, etc.. dont aim for too high, start by a reasonable gcc4 consumer, dunno, trojita, gnome-shell, mscore, clementine, mpd... Landry Some of those need qt4, which I have zero hope for...