[Buildroot] [PATCH 1/3] uclibc: adapt thread implementation selection to uClibc-ng

Yann E. MORIN yann.morin.1998 at free.fr
Sun Mar 8 08:45:16 UTC 2015


Thomas, All,

On 2015-03-08 08:40 +0100, Thomas Petazzoni spake thusly:
> On Sat, 7 Mar 2015 18:39:28 +0100, Yann E. MORIN wrote:
> > >  	config BR2_UCLIBC_NG_VERSION_1_0_0
> > >  		bool "uClibc-ng 1.0.0"
> > > +		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS \
> > > +		       if BR2_arc || BR2_m68k
> > > +		select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD \
> > > +		       if BR2_arc || BR2_bfin || BR2_m68k
> > > +		select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
> > > +		       if !BR2_arc && !BR2_bfin && !BR2_x86_i386
> > 
> > From what I can see, uclibc-ng on branch 1.0 :
> > 
> >                 LT.old  LT      NPTL    Notes
> >     arc         -       -       Y
> 
> Ah, right, I missed that. So it means that right now we can't build an
> ARC toolchain with uClibc-ng in Buildroot: the ARC compiler version we
> use does not have TLS support, which is required for NPTL. So ARC +
> uClibc-ng is not possible right now.
> 
> >     arm         Y       -       Y
> 
> Yes, but Waldemar's wish is basically to not use LT or LT.old when
> there is NPTL support available. Which I believe makes sense. See his
> patch at http://patchwork.ozlabs.org/patch/446288/ where he was making
> LT and LT.old not available on ARM and ARMeb.

Eh, I never said we _had_ to have LT/LT.old when NPTL is available. ;-)

> >     bfin        Y       Y       -
> 
> Correct. That needs to be fixed in my patch.
> 
> >     i386        -       -       -
> >     i?86        -       -       Y       except i386
> >     m68k        Y       Y       -
> >     microblaze  Y       Y       -       not used in BR
> >     mips        -       -       Y
> >     nios2       Y       Y       -       not used in BR
> >     powerpc     -       -       Y
> >     sh          -       -       Y
> >     sparc       -       -       Y
> >     x86_64      -       -       Y
> >     xtensa      -       -       Y
> >     
> > 
> > So, I guess your selection is incorrect, and you should have:
> > 
> >     select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS \
> >         if BR2_bfin || BR2_m68k
> >     select BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD \
> >         if BR2_bfin || BR2_m68k || BR2_arm || BR2_armeb
> >     select BR2_UCLIBC_VERSION_SUPPORTS_NPTL \
> >         if !BR2_bfin && !BR2_m68k && !BR2_x86_i386
> 
> Ok, except the ARM case where I disagree (see above), and handling the
> ARC situation, I'm OK with your proposal.

OK. One more thing: since uClibc-ng supports microblaze and nios2, we
could enable uClibc (as in "uClibc in Buildroot") to build Buildroot
toolchains for those two archs, no?

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