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