The nptl use flag will not give a glibc that's capable of nptl if the CHOST is set to i386-pc-linux-gnu. And this should be mentioned in the installation documentation and the kernel 2.6 guides. Reproducible: Always Steps to Reproduce: 1. Set CHOST to i386-pc-linux-gnu 2. Set USE='nptl' 3. emerge --update --deep --newuse world 4. getconf GNU_LIBPTHREAD_VERSION Actual Results: linuxthreads-0.10 Expected Results: There shall either be a warning telling the user that the CHOST value will not produce a NPTL glibc, or this should be mentioned in the documentations.
Do you happen to have a reference for this?
we have an internal check in the ebuild ... when USE=x86, we make sure CHOST is 486 or better
I am afraid that I cannot find any documentation saying NPTL won't work for i386. It looks like it is expected to work rather. However, I was able to reproduce the behavior on 3 different systems: System 1: P4 3.06GHz with HT System 2: Athlon-xp 2000+ System 3: Mobile Pentium II 333MHz Whenever the set the CHOST flag on those systems to 1386-pc-linux-gnu. The compiled glibc has no NPTL support (with USE="nptl" or USE="nptlonly"). And if I change the CHOST flag to i686-pc-linux-gnu (as it should be). Redo a bootstrap, it gives me NPTL. Originally, I think this may be a lack of documentation, but after knowing that NPTL is expected to work under i386, I am starting to feel that it may not just be a lack of documentation. I shall continue searching for information, and I'll keep you updated.
I see, thanks SpanKY. I don't know if I am the only one not realising that I shall set CHOST to >i486. The people initially build the system left CHOST to i386. I was then asked to give the system NPTL capability. I then went into all those trouble. Would it be better if these issue is documented in the handbook and 2.6 kernel guide. Thanks for the help. Really quick response times.
if you build a system with CHOST=i386 but use CFLAGS that target i686 or better, then your system has a good chance of being screwed up as for whether nptl is *supposed* to work on i386 systems, i have no idea, i havent researched this myself, i just looked at the glibc ebuild
I've updated the documentation to inform the users to use i586 or higher.
(In reply to comment #5) > as for whether nptl is *supposed* to work on i386 systems, i have no idea, i havent researched this myself, i just looked at the glibc ebuild ok, just looked this up and indeed, the tls code requires instructions that are available in i486+