On Wed, 17 Jul 2013 16:52:49 +0200
Christophe Lyon <[email protected]> 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?
--
Best regards,
Siarhei Siamashka
_______________________________________________
linaro-toolchain mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/linaro-toolchain