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 |
crossdev problem
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 |
crossdev problem
Hi Mike,
Thanks for looking into this. I hadn't much time to investigate this recently but found the issue today. The problem was that a symlink for /usr was created which caused some trouble. After moving this to a separate partition and mounting during boot crossdev works again (among other things). Currently the latest versions of gcc,binutils,glibc and kernel are used. These are the same ones on the host system. Thomas On 10/14/11 01:14, Mike Frysinger wrote: > 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 |
| All times are GMT. The time now is 06:31 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.