Re: Add mips64* to lang/gcc/4.8

2014-06-18 Thread Pascal Stumpf
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

2014-06-18 Thread Tobias Ulmer
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

2014-06-17 Thread Brian Callahan

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

2014-06-17 Thread Pascal Stumpf
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

2014-06-17 Thread Brian Callahan


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

2014-06-17 Thread Landry Breuil
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

2014-06-17 Thread Brian Callahan


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