This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Building a recent powerpc-e500v2-linux-gnuspe toolchain


Hello,

having successfully built such a toolchain based on GCC 4.7.2 in 2012 using
crosstool-ng, I'm trying to upgrade to the GCC 4.8 series for our targets
starting with the e500v2 (e300 and 405 pending).

I'm on hg+default-e11a8a2e225d, I've defaulted to the sample and upgraded all
components to their latest versions. First problem I encountered was with
eglibc 2.18:

[INFO ]  Extracting and patching toolchain components
[WARN ]    'eglibc-nptl-2_18' not found in '/home/bah/crosstool-ng/build/.build/tarballs'

Now that eglibc is gradually merged back to glibc, I gave glibc 2.19 a try,
which resulted in:

[INFO ]  Installing C library
[EXTRA]    Configuring C library
[EXTRA]    Building C library
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:28:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:17:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:28:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:17:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/ieee754/ldbl-128ibm/s_frexpl.c:85:1: error: insn does not satisfy its constraints:
[ERROR]    make[3]: *** [/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/build/build-libc-final/math/s_frexpl.o] Error 1
[ERROR]    ../sysdeps/ieee754/ldbl-128ibm/s_modfl.c:91:1: error: insn does not satisfy its constraints:
[ERROR]    make[3]: *** [/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/build/build-libc-final/math/s_modfl.o] Error 1
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:28:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:17:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:17:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/powerpc/fpu/math_ldbl.h:17:3: error: impossible constraint in 'asm'
[ERROR]    ../sysdeps/ieee754/ldbl-128ibm/s_scalbnl.c:104:1: error: insn does not satisfy its constraints:
[ERROR]    make[3]: *** [/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/build/build-libc-final/math/s_scalbnl.o] Error 1
[ERROR]    make[2]: *** [math/subdir_lib] Error 2
[ERROR]    make[1]: *** [all] Error 2

As per
http://lists.openembedded.org/pipermail/openembedded-devel/2014-February/094134.html
I configured CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY="--without-fp", without really knowing
the consequences for hardware FP support via SPE. The outcome of this was:

[INFO ]  Installing C library
[EXTRA]    Configuring C library
[EXTRA]    Building C library
[ERROR]    ./strtod_l.c:1765:1: error: unrecognizable insn:
[ERROR]    ./strtod_l.c:1765:1: internal compiler error: in extract_insn, at recog.c:2154
[ERROR]    make[3]: *** [/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/build/build-libc-final/stdlib/strtold_l.o] Error 1
[ERROR]    ./strtod_l.c:1765:1: error: unrecognizable insn:
[ERROR]    ./strtod_l.c:1765:1: internal compiler error: in extract_insn, at recog.c:2154
[ERROR]    make[3]: *** [/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/build/build-libc-final/stdlib/strtold_l.os] Error 1
[ERROR]    make[2]: *** [stdlib/subdir_lib] Error 2
[ERROR]    make[1]: *** [all] Error 2

The same error occurs with glibc 2.18 and CT_LIBC_GLIBC_EXTRA_CONFIG_ARRAY unset:

[INFO ]  Installing C library
[EXTRA]    Configuring C library
[EXTRA]    Building C library
[ERROR]    ./strtod_l.c:1766:1: error: unrecognizable insn:
[ERROR]    ./strtod_l.c:1766:1: internal compiler error: in extract_insn, at recog.c:2154
[ERROR]    make[3]: *** [/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/build/build-libc-final/stdlib/strtold_l.o] Error 1
[ERROR]    make[2]: *** [stdlib/subdir_lib] Error 2
[ERROR]    make[1]: *** [all] Error 2

This seems to be a known problem with GCC 4.8+, which is filed under
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717
I've found a patch here
http://lists.busybox.net/pipermail/buildroot/2013-October/080807.html
but have not yet tried it.

Has anyone already succeeded in building a powerpc-e500v2-linux-gnuspe toolchain
with GCC 4.8 yet and give me a configuration hint? Or should I first wait for
GCC 4.8.3 to be released (scheduled for this month)?

Best,
Björn

!!NOSIG!!


--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]