This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: building a multilb ARM toolchain for softfp and hard float


On 21 September 2012 04:29, Peter Barada <peter.barada@logicpd.com> wrote:
> On 09/18/2012 10:06 PM, Zhenqiang Chen wrote:
>> On 19 September 2012 01:54, Peter Barada <peter.barada@logicpd.com> wrote:
>>> I'm having a tough time trying to come up with a newer toolchain for
>>> cortex-a8 that has support for both hard and soft floating point.  I've
>>> tried building a toolchain using
>>> crosstool-ng-linaro-1.13.1-2012.08-20120827.tar.bz2 but when I try to
>>> compile u-boot it complains with:
>> Linaro prebuilt toolchain does support both hard and soft floating
>> point. You can get it from
>> https://launchpad.net/linaro-toolchain-binaries/+milestone/2012.08
>>
>> try: ./arm-linux-gnueabihf-gcc -print-multi-lib
>>
>> The default configure is --with-arch=armv7-a --with-tune=cortex-a9
>> --with-fpu=vfpv3-d16 --with-float=hard  --with-mode=thumb
>>
>> To use soft floating, you need options: -marm -march=armv4t -mfloat-abi=soft.
>>
>> In your case, please try to change  -march=armv5 to "-march=armv4t"
>>
>> If you want to change to configure to cortex-a8 and armv5. You need
>> * Change cortex-a9 to cortex-a8 in
>> samples/linaro-arm-linux-gnueabihf/crosstool.config
>> * Change armv4t to armv5 in
>> contrib/linaro/patches/gcc/linaro-4.7-2012.08/multilib.patch,
>>
>> Then follow the instructions to rebuild the toolchain
>> (contrib/linaro/doc/README.txt)
>>
>> BTW: crosstool-ng-linaro does not support multilib for eglibc. It uses
>> the prebuilt sysroot from Ubuntu Precise. If it does not work for you,
>> please use the latest crosstool-ng from http://crosstool-ng.org/.
> Thanks for the response. So far things are building, taking a bit of
> work in LTIB to use this toolchain to build all its packages.  I'll
> shove the result off the cliff when I it (finally) completes building to
> see if it actually runs.
>
> One problem is when running LTIB's base_libs.spec script to create an
> RPM of the toolchain libraries to install on the target rootfs, RPM
> fails with:
>
> error: failed dependencies:
>     ld-linux.so.3(GLIBC_2.4)   is needed by base_libs-1.2-1
>
> Digging into it, RPM can't find ld-linux.so.3 since ld-linux.so.3 is a
> symbolic link to ld-linux-armhf.so.3, but libattr.so.1.1.0 and
> libacl.so.1.1.0 require ld-linux.so.3 (but no other shared object
> library), and no library claims to provide ld-linux.so.3.

ld-linux.so.3 is from libc6:armel.

> Why do libacl and libattr require ld-linux.so.3, but libc.so requires
> ld-2.15.s0?  Is there anyway to modify the build such that libacl and
> libattr require ld-2.15.so (instead of ld-linux.so.3) to fix this?

ld-linux-armhf.so.3 is for applications built with hard float.
ld-linux.so.3 is for applications built with soft/softfp, which
requires libc built with soft/softfp.

Can you build libacl and libattr with hard float?

Thanks!
-Zhenqiang

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]