Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 301857

Summary: sys-devel/gcc: uclibc targets should build with USE="-nptl"
Product: Gentoo Linux Reporter: Mars Liu <marsliu2000>
Component: [OLD] DevelopmentAssignee: Gentoo Toolchain Maintainers <toolchain>
Status: RESOLVED WONTFIX    
Severity: minor    
Priority: High    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Mars Liu 2010-01-22 17:34:02 UTC
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.
Comment 1 SpanKY gentoo-dev 2010-01-27 08:14:46 UTC
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.