On Fri, Apr 1, 2011 at 3:09 PM, Barry Song 21cnbao@gmail.com wrote:
2011/3/30 Michael Hope michael.hope@linaro.org:
I couldn't reproduce this, sorry. I built nbench using gcc-linaro-4.5-2011.03-0 using both -O3 -mtune=cortex-a9 -mfpu=vfpv3-d16 and -O3 -mtune=cortex-a9 -mfpu=neon and in both cases ASSIGNMENT completes.
Thanks. i will check whether it is our chip issue.
here one question: how much arm-linux-gnueabi-gcc depends on glibc version?
i run apt-get linaro 4.4, then got linaro 4.5 too. i found 4.5 was using glibc 2.12, but old 4.4 was using 2.11. apt-get 4.5 modified glibc from 2.11 to 2.12. But 4.4 could still use new glibc to compile and we haven't had any problem by now. I even recompiled a glibc 2.13 to replace current 2.12, but i didn't recompile gcc based on the glibc, the toolchain 4.4 and 4.5 can still work.
As i know, we compile arm-linux-gnueabi-gcc by following steps:
- compile gcc 1, bootstrap in fact
- compile glibc by gcc1
- compile gcc2 based on glibc from step 2.
why can toolchain still work well by the steps?
- keep arm-linux-gnueabi-gcc unchanged
- replace glibc
So i am not sure whether any hidden problem exist by replacing glibc simply.
You should be OK as glibc supports versioned symbols. Providing your glibc is newer, any functions that have changed in functionality should include a versioned, backwards compatible version.
Ask youself why you are doing this though. If it's just to save time, then I wouldn't recommend it. It adds another variable to your product which may bite you later on.
one more question, my ubuntu 10.10 always said "/lib/libc.so.6: file not recognized: File format not recognized" if i enabled c++ language when compiling linaro gcc 4.4 and 4.5. Then i can't install libstdc++-v3 with errors like: /bin/sh: line 3: cd: arm-none-linux-gnueabi/libstdc++-v3: No such file or directory make[1]: *** [install-target-libstdc++-v3] Error 1
This is probably due to a configuration problem. The ARM build is picking up the x86 libc6 from the host machine and rightly complaining that it's incompatible. Try adding '--enable-poison-system-directories' to your configure options. That should help track it down.
-- Michael