public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
From: "Herwig, Björn" <Herwig@gdsys.de>
To: "'crossgcc@sourceware.org'" <crossgcc@sourceware.org>
Subject: Building a recent powerpc-e500v2-linux-gnuspe toolchain
Date: Wed, 19 Mar 2014 10:02:00 -0000	[thread overview]
Message-ID: <A9767EA30A62034580BA5B9F61CAECB11158F91D4B@exchg2.gd.local> (raw)

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

                 reply	other threads:[~2014-03-19 10:02 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A9767EA30A62034580BA5B9F61CAECB11158F91D4B@exchg2.gd.local \
    --to=herwig@gdsys.de \
    --cc=crossgcc@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).