Currently the mainstream version of uclibc still lacks of support of tls/ntpl, but crossdev always compiles gcc with USE flag "ntpl" regardless the use flag setting in /etc/make.conf or /etc/portage/package.use. Therefore an UND __tls_get_addr will be added to libstdc++.so and some program will fail to compile because of this undefined symbol, like a manually compiled amule. Reproducible: Always Steps to Reproduce: 1.crossdev --target x86_64-pc-linux-uclibc 2.readelf -s /usr/lib/gcc/x86_64-pc-linux-uclibc/4.4.2/libstdc++.so | grep tls_get_addr 3. Actual Results: a UND __tls_get_addr will be shown on the screen Expected Results: nothing should be shown on screen. Now the only solution is to manually re-emerge the cross-compiler gcc with -ntpl option after running crossdev.
considering uClibc may be compiled with nptl, i'm not inclined to change anything here. USE=nptl was added in the first place to let people disable tls.