2
votes

I am cross-compiling my code by arm-unknown-linux-gnueabi and during compilation lot of below warnings can be seen

Unknown EABI object attribute 44

Is above warnings can be ignored or am I missing some and what does this warning mean?

arm-whatever-gcc --version and arm-whatever-as --version is

ubuntu@ubuntu:~/crosstool-ng/crosstool-ng-1.14.0$ arm-unknown-linux-gnueabi-gcc --version arm-unknown-linux-gnueabi-gcc (crosstool-NG 1.14.0) 4.4.1 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

ubuntu@ubuntu:~/crosstool-ng/crosstool-ng-1.14.0$ arm-unknown-linux-gnueabi-as --version GNU assembler (crosstool-NG 1.14.0) 2.19.1 Copyright 2007 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or later. This program has absolutely no warranty. This assembler was configured for a target of `arm-unknown-linux-gnueabi'.

1
the compiler is adding a bunch of stuff that the assembler is not aware of you can move to a newer version of binutils, or hand edit out those lines. if these are both gnu tools (vs say using clang and binutils which is where I found this the first time) gcc and binutils then they are possibly out of sync so apt-get update your arm whatever binutils and see if that helps.old_timer
There's not really enough information here to answer the question. Usually this sort of error would indicate you are not using the same version of compiler and toolchain; or mixing object files from different compiler versionsM.M
when you do arm-whatever-gcc --version and arm-whatever-as --version what do you get? (post them in your question).old_timer
@old_timer , a/c first comment, i need to update binutils of cross compilerIqbal Haider
@old_timer, Edit question for about your second commentIqbal Haider

1 Answers

2
votes
unsigned int fun ( unsigned int x )
{
    return(x+0x1000);
}

arm-whatever-gcc -O2 -c --save-temps so.c -o so.o

cat so.s

cat so.s 
    .cpu arm7tdmi
    .fpu softvfp
    .eabi_attribute 20, 1
    .eabi_attribute 21, 1
    .eabi_attribute 23, 3
    .eabi_attribute 24, 1
    .eabi_attribute 25, 1
    .eabi_attribute 26, 1
    .eabi_attribute 30, 2
    .eabi_attribute 34, 0
    .eabi_attribute 18, 4
    .file   "so.c"
    .text
    .align  2
    .global fun
    .type   fun, %function

Your binutils doesnt know on one of the .eabi_attribute lines produced by the compiler.

arm-whatever-gcc -O2 -S so.c

also works to see the eabi_attribute directive