On Wed, Aug 3, 2011 at 4:57 AM, Bernhard Rosenkranzer
<bernhard.rosenkran...@linaro.org> wrote:
> Hi,
> ld in the current (4.6-2011.07-0-8-2011-07-25_12-42-06) Android
> toolchain fails to link uboot:
>
> arm-eabi-ld: 
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/libgeneric.o:
> Unknown mandatory EABI object attribute 44
> arm-eabi-ld: failed to merge target specific data of file
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/crc16.o
> arm-eabi-ld: 
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/libgeneric.o:
> Unknown mandatory EABI object attribute 44
> arm-eabi-ld: failed to merge target specific data of file
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/crc32.o
> arm-eabi-ld: 
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/ctype.o:
> Unknown mandatory EABI object attribute 44
> arm-eabi-ld: failed to merge target specific data of file
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/ctype.o
> arm-eabi-ld: 
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/div64.o:
> Unknown mandatory EABI object attribute 44
> arm-eabi-ld: failed to merge target specific data of file
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/div64.o
> arm-eabi-ld: 
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/errno.o:
> Unknown mandatory EABI object attribute 44
> arm-eabi-ld: failed to merge target specific data of file
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/errno.o
> arm-eabi-ld: 
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/ldiv.o:
> Unknown mandatory EABI object attribute 44
> arm-eabi-ld: failed to merge target specific data of file
> /mnt/user/bero/android-iMX53-20110716151649/out/target/product/iMX53/obj/u-boot/lib/ldiv.o
>
> I believe this is already fixed in upstream binutils (or at least in
> hjl's 2.21.52.0.2 release from kernel.org /pub/linux/devel/binutils).

Hi Bernhard.  The list of EABI attributes is in
bintuils/include/elf/arm.h.  Attribute 44 is 'DIV use', which is set
if the idiv/sdiv instructions are used.  These exist in the Cortex-M,
Cortex-R, and the Cortex-A15 but not in the A8 or A9.  This attribute
is set by the assembler automatically based on the architecture being
compiled for.

You can check the attributes set on a function using
arm-linux-gnueabi-readelf -A object-file-name.o.

I don't know which version of binutils you are using.  Support was
added to the assembler in May 2010 and updated for ARM mode in
September 2010.

-- Michael

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

Reply via email to