[Buildroot] [PATCH 3/5] Added the libpth package.

Gustavo Zacarias gustavo at zacarias.com.ar
Fri May 11 23:11:18 UTC 2012


On 2012-05-11 19:52, Arnout Vandecappelle wrote:

>> depends on BR2_TOOLCHAIN_EXTERNAL_GLIBC || BR2_TOOLCHAIN_CTNG_glibc 
>> || BR2_TOOLCHAIN_CTNG_eglibc
>> pth doesn't work with uClibc...
>
>  Why do you say that?  I've just tried it with a default
> uClibc-0.9.33.1 config
> on i486 and the pth tests run fine.
>
>  It probably won't work on NOMMU, however: I see some fork calls in
> there that
> are not configured out.
>
>  Regards,
>  Arnout

Because it only works for i386 uclibc, see pth_mctx.c lines 464-485, 
snip:

*****
intern int pth_mctx_set(
     pth_mctx_t *mctx, void (*func)(void), char *sk_addr_lo, char 
*sk_addr_hi)
{
     pth_mctx_save(mctx);
#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
     sigemptyset(&mctx->sigs);
     mctx->error = 0;
     return TRUE;
}
*****

Regards.




More information about the buildroot mailing list