From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 2/2] package/gcc: add support for D language
Date: Tue, 1 Oct 2019 08:56:05 +0200 [thread overview]
Message-ID: <20191001085605.501edf8e@windsurf.home> (raw)
In-Reply-To: <20191001055614.GA31145@ned>
Hello,
On Tue, 1 Oct 2019 07:56:14 +0200
Eric Le Bihan <eric.le.bihan.dev@free.fr> wrote:
> The D programming language needs a runtime, named libgphobos. When
> building a toolchain with uclibc-ng as libc, for qemu_aarch64_virt, the
> following error occurs:
>
> ```
> libtool: compile: /home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/build/host-gcc-final-9.2.0/build/./gcc/gdc -B/home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/build/host-gcc-final-9.2.0/build/./gcc/ -B/home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/host/aarch64-buildroot-linux-uclibc/bin/ -B/home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/host/aarch64-buildroot-linux-uclibc/lib/ -isystem /home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/host/aarch64-buildroot-linux-uclibc/include -isystem /home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/host/aarch64-buildroot-linux-uclibc/sys-include -fPIC -O2 -g -nostdinc -I ../../../../libphobos/libdruntime -I . -c ../../../../libphobos/libdruntime/core/internal/abort.d -fversion=Shared -o core/internal/.libs/abort.o
> /home/eric/build/demo-dlang/qemu/aarch64/virt/uclibc/build/host-gcc-final-9.2.0/libphobos/libdruntime/core/sys/posix/sys/types.d:1134:39: error: undefined identifier '__SIZEOF_PTHREAD_ATTR_T'
> 1134 | byte[__SIZEOF_PTHREAD_ATTR_T] __size;
This is off because __SIZEOF_PTHREAD_ATTR_T is defined by uClibc-ng,
for example for AArch64:
libpthread/nptl/sysdeps/unix/sysv/linux/aarch64/bits/pthreadtypes.h:#define __SIZEOF_PTHREAD_ATTR_T 64
libpthread/nptl/sysdeps/unix/sysv/linux/aarch64/bits/pthreadtypes.h: char __size[__SIZEOF_PTHREAD_ATTR_T];
Perhaps there's an include missing in gcc ?
However, musl does not define __SIZEOF_PTHREAD_ATTR_T.
> I haven't dug into uclibc-ng code to find out the cause of the error.
> Hence the restriction to a glibc-based toolchain.
Fair enough, but it should be explained with a short comment above the
dependency.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2019-10-01 6:56 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-29 16:55 [Buildroot] [PATCH 0/2] Add support for the D programming language Eric Le Bihan
2019-09-29 16:56 ` [Buildroot] [PATCH 1/2] toolchain: add support for D language Eric Le Bihan
2019-09-29 16:56 ` [Buildroot] [PATCH 2/2] package/gcc: " Eric Le Bihan
2019-09-30 21:04 ` Thomas Petazzoni
2019-10-01 5:56 ` Eric Le Bihan
2019-10-01 6:56 ` Thomas Petazzoni [this message]
2019-10-06 15:12 ` Eric Le Bihan
2019-10-07 7:10 ` Thomas Petazzoni
2019-10-07 21:09 ` Arnout Vandecappelle
2019-10-07 21:16 ` Thomas Petazzoni
2019-09-30 21:03 ` [Buildroot] [PATCH 0/2] Add support for the D programming language Thomas Petazzoni
2019-10-01 6:03 ` Eric Le Bihan
2019-10-01 6:56 ` Thomas Petazzoni
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=20191001085605.501edf8e@windsurf.home \
--to=thomas.petazzoni@bootlin.com \
--cc=buildroot@busybox.net \
/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