Mailing List Archive

crossdev problem
Hi,

recently I tried to use crossdev to build a toolchain for
"armv7a-softfloat-linux-gnueabi".
The build fails for glibc with

* Messages for package
cross-armv7a-softfloat-linux-gnueabi/glibc-2.12.2:
* Could not find a gcc that supports the __thread directive!
* Please update your binutils/gcc and try again.
* ERROR: cross-armv7a-softfloat-linux-gnueabi/glibc-2.12.2 failed
(unpack phase):
* No __thread support in gcc!

What fails is a compilation test executed in

/usr/portage/sys-libs/glibc/files/eblits/src_unpack.eblit - function
"check_nptl_support".
-> /usr/portage/sys-libs/glibc/files/eblits/common.eblit - function
"want__thread"
-> /usr/portage/eclass/toolchain-funcs.eclass - function
"tc-has-tls" -> "tc-getCC"

I haven't found a log showing the outcome of the compilation making the
available information
restricted somehow.

I tried different approaches for crossdev starting with

crossdev -t armv7a-softfloat-linux-gnueabi

then stated the versions of the host system on the command line:

crossdev -t armv7a-softfloat-linux-gnueabi --g 4.4.5 --l 2.12.2 --k
2.6.39 --b 2.21.1

and browsed the web for a couple of suggested combinations. So far none
worked on my machine.

I wonder if ThreadLocalStorage is supported for ArmV7a or maybe I'm
missing an environment variable ?

Regards,
Thomas
Re: crossdev problem [ In reply to ]
On Saturday 10 September 2011 12:01:10 Thomas Drueke wrote:
> I haven't found a log showing the outcome of the compilation making the
> available information
> restricted somehow.

it's farily simple code. if your gcc can't build this:
int foo(int *i) {
static __thread int j = 0;
return *i ? j : *i;
}

it is broken

> then stated the versions of the host system on the command line:
>
> crossdev -t armv7a-softfloat-linux-gnueabi --g 4.4.5 --l 2.12.2 --k
> 2.6.39 --b 2.21.1

what version of gcc was actually used ? the versions you give to crossdev
merely say "these are the latest i want to use". if they aren't available,
portage will use whatever is available which is often times older than
requested.
-mike