Hello,
I was investigating the recent build failures of the libbluray package
in Buildroot, which occur on the Microblaze, Blackfin and m68k
architecture (at least), using the latest uClibc-ng release. The
failure looks like this:
http://autobuild.buildroot.net/results/941/941c06e29f6542e258f20799dc6f3f94…
Relevant part:
In file included from
/home/buildroot/autobuild/run/instance-3/output/host/usr/microblazeel-buildroot-linux-uclibc/sysroot/usr/include/pthread.h:686:0,
from src/util/mutex.c:32:
/home/buildroot/autobuild/run/instance-3/output/host/usr/microblazeel-buildroot-linux-uclibc/sysroot/usr/include/bits/sigthread.h:31:14:
error: unknown type name '__sigset_t'
const __sigset_t *__restrict __newmask,
^
/home/buildroot/autobuild/run/instance-3/output/host/usr/microblazeel-buildroot-linux-uclibc/sysroot/usr/include/bits/sigthread.h:32:8:
error: unknown type name '__sigset_t'
__sigset_t *__restrict __oldmask)__THROW;
And indeed, one can reproduce this problem with a very simple test case:
====
#include <pthread.h>
int main(void) { return 0; }
====
If you build it with the Microblaze/uClibc compiler with no special
flags, it works just fine:
$ ./output/host/usr/bin/microblazeel-linux-gcc -o test test.c
$
However, as soon as you start adding the -std=c99 flag, the build fails:
$ ./output/host/usr/bin/microblazeel-linux-gcc -std=c99 -o test test.c
In file included from
/home/thomas/projets/buildroot/output/host/usr/microblazeel-buildroot-linux-uclibc/sysroot/usr/include/pthread.h:686:0,
from pouet.c:1:
/home/thomas/projets/buildroot/output/host/usr/microblazeel-buildroot-linux-uclibc/sysroot/usr/include/bits/sigthread.h:31:14:
error: unknown type name ‘__sigset_t’
const __sigset_t *__restrict __newmask,
^
/home/thomas/projets/buildroot/output/host/usr/microblazeel-buildroot-linux-uclibc/sysroot/usr/include/bits/sigthread.h:32:8:
error: unknown type name ‘__sigset_t’
__sigset_t *__restrict __oldmask)__THROW;
^
Is this problem already known?
Best regards,
Thomas Petazzoni
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com