我正在通过arm-unknown-linux-gnueabi交叉编译我的代码,并且在编译期间可以看到很多以下警告
Unknown EABI object attribute 44
以上警告可以忽略,或者我错过了一些警告意味着什么?
arm-whatever-gcc --version和arm-whatever-as --version
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 版权所有(C)2009 Free Software Foundation,Inc。 这是免费软件;查看复制条件的来源。没有 保证;甚至不适用于适销性或特定用途的适用性。
ubuntu @ ubuntu:〜/ crosstool-ng / crosstool-ng-1.14.0 $ arm-unknown-linux-gnueabi-as --version GNU汇编程序(crosstool-NG 1.14.0)2.19.1 版权所有2007 Free Software Foundation,Inc。 这个程序是免费软件;你可以根据条款重新分配 GNU通用公共许可证版本3或更高版本。 该计划绝对没有保修。 这个汇编程序配置为`arm-unknown-linux-gnueabi'的目标。
答案 0 :(得分:1)
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
您的binutils不知道编译器生成的.eabi_attribute行之一。
arm-whatever-gcc -O2 -S so.c
也可以查看eabi_attribute指令