[Buildroot] [arc-buildroot] [autobuild.buildroot.net] arc build results for 2015-08-11

Yann E. MORIN yann.morin.1998 at free.fr
Thu Aug 13 20:04:56 UTC 2015


Alexey, All,

On 2015-08-13 17:21 +0000, Alexey Brodkin spake thusly:
> On Wed, 2015-08-12 at 08:30 +0200, Thomas Petazzoni wrote:
> >          arc |                libpthsem-2.0.8 | NOK | 
> > http://autobuild.buildroot.net/results/a4cde804f769f8b4bbebc4d6ab5ec0e1e7e01afe/
> 
> That one is interesting.

Indeed! ;-)

If you look closely, those failures only occur on Nathaniel's
autobuilder instance:
    http://autobuild.buildroot.org/?reason=libpthsem-2.0.8

I've tried to reproduce the build failures, and I even deboostrapped the
same envirnoment as Nathaniel's, but to not avail. I not able to
reproduce... :-(

So, we do have an issue with this package.

> Definitely not ARC-specific, the same failure I see building for ARM:
> ----------------------------->8-----------------------
> pth_mctx.c: In function '__pth_mctx_set':
> pth_mctx.c:480:2: error: #error "Unsupported Linux (g)libc version and/or platform"
>  #error "Unsupported Linux (g)libc version and/or platform"
>   ^
> Makefile:995: recipe for target 'pth_mctx.lo' failed
> ----------------------------->8-----------------------
> 
> That happens here
> ----------------------------->8-----------------------
> #if defined(__GLIBC__) && defined(__GLIBC_MINOR__) \
>     && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 0 && defined(JB_PC) && defined(JB_SP)
>     mctx->jb[0].__jmpbuf[JB_PC] = (int)func;
>     mctx->jb[0].__jmpbuf[JB_SP] = (int)sk_addr_hi;
> #elif defined(__GLIBC__) && defined(__GLIBC_MINOR__) \
>     && __GLIBC__ >= 2 && __GLIBC_MINOR__ >= 0 && defined(__mc68000__)
>     mctx->jb[0].__jmpbuf[0].__aregs[0] = (long int)func;
>     mctx->jb[0].__jmpbuf[0].__sp = (int *)sk_addr_hi;
> #elif defined(__GNU_LIBRARY__) && defined(__i386__)
>     mctx->jb[0].__jmpbuf[0].__pc = (char *)func;
>     mctx->jb[0].__jmpbuf[0].__sp = sk_addr_hi;
> #else
> #error "Unsupported Linux (g)libc version and/or platform"
> #endif
> ----------------------------->8-----------------------
> 
> Looks like this library relies on some symbols that are not supported in some tools or
> even architectures.
> 
> So we need either add missing parts in both libc and libpthsem for arches we're
> interested in or disable libpthsem for some arches.
> 
> I would assume that the best approach is to define __jump_buf structure
> with meaningful members like __pc and __sp for example in the same way as MIPS guys did,
> see http://git.uclibc.org/uClibc/tree/libc/sysdeps/linux/mips/bits/setjmp.h#n34

That's not the only problem with libpthsem. Its configure step compiles
and tries to run a lot of programs to detect for some features.
Obviously, that can not work in cross-compilation... :-(

The best solution would be to fix the configure script, but it looks
like upstream is dead; quoting:

    This page (and the software described on it) is no longer
    maintained. It is archived for reference purposes.

So we won't be able to push our changes...

So, the next-best solution is to define the proper ac_cv_XXX variables
to override the checks, and feed it the proper values (should be always
the same, whatever the architecture: stack grows an such...)

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list