MIPS' o32 and n32 ABIs have a virtual memory limit of 2 GiB. Some packages, like webkit-gtk, require more than 2 GiB for linking. The solution is to build gcc as an N64 binary (even when the base system is not N64), since N64 provides effectively unlimited virtual address space. To do this gcc's dependencies will need multilib support: sys-libs/zlib : DONE as of 1.2.8-r1 dev-libs/mpfr : Not done (EAPI=3) dev-libs/gmp : Not done (EAPI=0) (part of baselibs) dev-libs/mpc : Not done (EAPI=0) sys-devel/gettext : Not done (EAPI=2) (part of baselibs) dev-libs/cloog-ppl: Not done (EAPI=4) dev-libs/isl : Not done (EAPI=4) This bug will track the project's progress.
why 2 GiB ? if you're running a 64bit kernel, then shouldn't the 32bit processes have 4 GiB ? i guess if you're running a 32bit kernel, then it's because you're using a 2 GiB/2 GiB split (or mips doesn't give you the option?) ? although if you have the ability to run N64, i'd wager you must be running a 64bit kernel.
(In reply to SpanKY from comment #1) > why 2 GiB ? if you're running a 64bit kernel, then shouldn't the 32bit > processes have 4 GiB ? i guess if you're running a 32bit kernel, then it's > because you're using a 2 GiB/2 GiB split (or mips doesn't give you the > option?) ? although if you have the ability to run N64, i'd wager you must > be running a 64bit kernel. O32 and N32 only have 2^31 bits of virtual address space. See http://gcc.gnu.org/ml/gcc/2011-02/msg00303.html and other related threads. There was some talk of /another/ MIPS ABI ("n32-big") that would be n32, but with 32-bit pointers, but I think David Daney rightly decided it wasn't worth the trouble.
sys-libs/zlib : DONE as of 1.2.8-r1 dev-libs/mpfr : Not done (EAPI=3) dev-libs/gmp : DONE as of 5.1.3-r1 dev-libs/mpc : Not done (EAPI=4) sys-devel/gettext : DONE as of 0.18.3.2 dev-libs/cloog-ppl: Not done (EAPI=4) dev-libs/isl : Not done (EAPI=4)
sys-libs/zlib : DONE as of 1.2.8-r1 dev-libs/mpfr : DONE as of 3.1.2_p10 dev-libs/gmp : DONE as of 5.1.3-r1 dev-libs/mpc : DONE as of 1.0.2-r1 sys-devel/gettext : DONE as of 0.18.3.2 dev-libs/cloog : DONE as of 0.18.1 dev-libs/isl : DONE as of 0.12.2 (Newer gcc's replaced their dependence on cloog-ppl with cloog) All the dependencies are done. Yay!
(In reply to Matt Turner from comment #4) > sys-libs/zlib : DONE as of 1.2.8-r1 > dev-libs/mpfr : DONE as of 3.1.2_p10 > dev-libs/gmp : DONE as of 5.1.3-r1 > dev-libs/mpc : DONE as of 1.0.2-r1 > sys-devel/gettext : DONE as of 0.18.3.2 > dev-libs/cloog : DONE as of 0.18.1 > dev-libs/isl : DONE as of 0.12.2 > > (Newer gcc's replaced their dependence on cloog-ppl with cloog) > > All the dependencies are done. Yay! I haven't looked at this closely but is it as simple as adding -mabi=n64 to the CFLAGS when building gcc? modulo any filtering the eclass may do of course.
(In reply to Anthony Basile from comment #5) > I haven't looked at this closely but is it as simple as adding -mabi=n64 to > the CFLAGS when building gcc? modulo any filtering the eclass may do of > course. Probably not that simple. We should make n64 compiling on n64 profiles work first (bug 442548). :)