From: Tobias Platen <trisquel@platen-software.de>
To: "Ludovic Courtès" <ludo@gnu.org>,
"Efraim Flashner" <efraim@flashner.co.il>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: Patch adding POWER9 cross compile support
Date: Wed, 13 Mar 2019 08:28:02 +0100 [thread overview]
Message-ID: <413c3784-3144-2b3f-9738-351a6283d8fa@platen-software.de> (raw)
In-Reply-To: <87pnqwchee.fsf@gnu.org>
I had to work on the core-updates branch, or in the past on the wip-gcc7
branch. I mentioned this some month ago. The current branch has an
outdated gcc version.
On 03/12/2019 03:10 PM, Ludovic Courtès wrote:
> Hi!
>
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
>> On Sun, Mar 10, 2019 at 09:20:04PM +0100, Tobias Platen wrote:
>>> I ran configure on my Talos II, and got the following error message.
>>>
>>> checking for the Guix system type... powerpc64le-linux
>
> Sure but that’s the next step. My question was about the triplet you
> passed to ‘--target’ when cross-compiling from your Intel(?) machine,
> but I think I can derive the answer now:
>
> guix build --target=powerpc64le-linux-gnu …
>
>>> Guix already knows about this architecture, but building glibc will fail if
>>> gcc does not have the float128 datatype. Once I saw this link[1] on the guix
>>> mailing list, I knew how to solve the build error.
>>>
>>> For the second question I could not find an answer.
>>>
>>> [1] http://lists.busybox.net/pipermail/buildroot/2017-September/201379.html
>
> Alright.
>
> Thanks for the info.
>
>> In the off chance we ever wish to support powerpc64 big endian, I
>> suggest instead using (string-prefix? "powerpc64*-" target)
>
> Yes.
>
> Unfortunately, with just this extra --with-long-double-128, this:
>
> guix build sed --target=powerpc64le-linux-gnu
>
> eventually leads to a glibc build failure:
>
> --8<---------------cut here---------------start------------->8---
> running configure fragment for sysdeps/unix/sysv/linux/powerpc
> checking whether powerpc64le-linux-gnu-gcc -g -O2 -mlong-double-128 uses IBM extended format... yes
> running configure fragment for sysdeps/unix/sysv/linux
> checking installed Linux kernel header files... 3.2.0 or later
> configure: WARNING: minimum kernel version reset to 3.10.0
> checking for kernel header at least 3.10.0... ok
> running configure fragment for sysdeps/gnu
> running configure fragment for sysdeps/powerpc/powerpc64/le
> checking if powerpc64le-linux-gnu-gcc supports binary128 floating point type... no
> checking if the target machine is at least POWER8... yes
> configure: error: *** binary128 floating point type (GCC >= 6.2) is required on powerpc64le.
> --8<---------------cut here---------------end--------------->8---
>
> See ‘config.log’ excerpt below. Do you happen to have an additional
> change needed?
>
> Thanks,
> Ludo’.
>
> --8<---------------cut here---------------start------------->8---
> configure:6698: result: running configure fragment for sysdeps/powerpc/powerpc64/le
> configure:5: checking if powerpc64le-linux-gnu-gcc supports binary128 floating point type
> configure:31: powerpc64le-linux-gnu-gcc -c -g -O2 -Werror -mfloat128 conftest.c >&5
> powerpc64le-linux-gnu-gcc: error: unrecognized command line option '-mfloat128'
> configure:31: $? = 1
> configure: failed program was:
> | /* confdefs.h */
> | #define PACKAGE_NAME "GNU C Library"
> | #define PACKAGE_TARNAME "glibc"
> | #define PACKAGE_VERSION "(see version.h)"
> | #define PACKAGE_STRING "GNU C Library (see version.h)"
> | #define PACKAGE_BUGREPORT "https://sourceware.org/bugzilla/"
> | #define PACKAGE_URL "http://www.gnu.org/software/glibc/"
> | #define PKGVERSION "(GNU libc) "
> | #define REPORT_BUGS_TO "<http://www.gnu.org/software/libc/bugs.html>"
> | #define HAVE_TUNABLES 1
> | #define HAVE_CC_NO_STACK_PROTECTOR 1
> | #define STACK_PROTECTOR_LEVEL 0
> | #define USE_MULTIARCH 1
> | #define HAVE_ASM_SET_DIRECTIVE 1
> | #define HAVE_SDATA_SECTION 1
> | #define NO_CTORS_DTORS_SECTIONS 1
> | #define HAVE_Z_COMBRELOC 1
> | #define HAVE_CC_INHIBIT_LOOP_TO_LIBCALL 1
>
> | #define HAVE_EHDR_START 1
> | #define HAVE_BUILTIN_TRAP 1
> | #define HAVE_ELFV2_ABI 1
> | #define __LINUX_KERNEL_VERSION (3 * 65536 + 10 * 256 + 0)
> | #define __ABI_TAG_VERSION 2,6,32
> | #define HAVE_INLINED_SYSCALLS 1
> | /* end confdefs.h. */
> |
> | __float128 a, b, c, d, e;
> | int i;
> |
> | __float128
> | foobar (__float128 x)
> | {
> | a = __builtin_nansq ("0");
> | b = __builtin_huge_valq ();
> | c = __builtin_infq ();
> | d = __builtin_fabsq (x);
> | e = __builtin_nanq ("0");
> | i = __builtin_signbit (x);
> | return __builtin_copysignq (x, x);
> | }
> |
> configure:39: result: no
> configure:47: checking if the target machine is at least POWER8
> configure:61: powerpc64le-linux-gnu-gcc -c -g -O2 conftest.c >&5
> configure:61: $? = 0
> configure:68: result: yes
> configure:75: error: *** binary128 floating point type (GCC >= 6.2) is required on powerpc64le.
> --8<---------------cut here---------------end--------------->8---
>
prev parent reply other threads:[~2019-03-13 7:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-27 18:29 Patch adding POWER9 cross compile support Tobias Platen
2019-02-27 21:24 ` Jonathan Brielmaier
2019-03-01 6:04 ` Tobias Platen
2019-03-06 13:54 ` Ludovic Courtès
2019-03-06 17:56 ` Tobias Platen
2019-03-10 17:27 ` Ludovic Courtès
2019-03-10 20:20 ` Tobias Platen
2019-03-11 7:52 ` Efraim Flashner
2019-03-12 14:10 ` Ludovic Courtès
2019-03-12 14:10 ` Ludovic Courtès
2019-03-13 7:28 ` Tobias Platen [this message]
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=413c3784-3144-2b3f-9738-351a6283d8fa@platen-software.de \
--to=trisquel@platen-software.de \
--cc=efraim@flashner.co.il \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
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).