On 17 July 2013 23:16, Siarhei Siamashka <siarhei.siamas...@gmail.com> wrote:
> On Wed, 17 Jul 2013 16:52:49 +0200
> Christophe Lyon <christophe.l...@linaro.org> wrote:
>
>> Hi,
>>
>> Linaro is NOT an alternative to the Yocto project; we are
>> collaborating with them. For instance, there are recipes to build a
>> Yocto distribution using Linaro packages (e.g. the toolchain).
>>
>> Regarding the support of armv5te, if you build your toolchain from the
>> sources we provide, the support is included.
>> It's also present in the binary toolchains we provide, but these ones
>> default to generating code for armv7-a processors: you'll have to
>> force -march=XXX or -mcpu=YYY on your command line.
>
> Are you sure about this? You can try to:
>
> $ echo "int main(int argc,char *argv[]) {return 0xBADF00D/argc;}" >test.c
> $ arm-linux-gnueabihf-gcc -march=armv5te -marm test.c
> $ arm-linux-gnueabihf-objdump -d a.out
> And then have a look at the nice __aeabi_idiv implementation which gets
> linked in:
>
> 00008408 <__aeabi_idiv>:
>     8408:       2900            cmp     r1, #0
>     840a:       f000 813e       beq.w   868a <.divsi3_skip_div0_test+0x27c>
>
> 0000840e <.divsi3_skip_div0_test>:
>     840e:       ea80 0c01       eor.w   ip, r0, r1
>     8412:       bf48            it      mi
>     8414:       4249            negmi   r1, r1
>     8416:       1e4a            subs    r2, r1, #1
>     8418:       f000 811f       beq.w   865a <.divsi3_skip_div0_test+0x24c>
>     841c:       0003            movs    r3, r0
>     841e:       bf48            it      mi
>     8420:       4243            negmi   r3, r0
>     8422:       428b            cmp     r3, r1
>     8424:       f240 811e       bls.w   8664 <.divsi3_skip_div0_test+0x256>
>     8428:       4211            tst     r1, r2
>     842a:       f000 8123       beq.w   8674 <.divsi3_skip_div0_test+0x266>
>     842e:       fab3 f283       clz     r2, r3
>     8432:       fab1 f081       clz     r0, r1
>     8436:       eba0 0202       sub.w   r2, r0, r2
>     843a:       f1c2 021f       rsb     r2, r2, #31
>
> ...
>
> Or maybe you have some plans to eventually provide multiple libgcc
> variants with the same binary toolchain, so that it can select the
> right one based on -march/-mcpu options?

Please check your a.out with
arm-linux-gnueabihf-readelf -A a.out

Linaro arm-linux-gnueabihf binary toolchain does support multilib:

arm-linux-gnueabihf-gcc --print-multi-lib
.;
arm-linux-gnueabi;@marm@march=armv4t@mfloat-abi=soft

But the armv4t is only expected for u-boot, which does not link the c
libraries in toolchain tarball (which is armv7-a).

We have no plan for full multilib support.

Thanks!
-Zhenqiang

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to