未知的EABI对象属性44

时间:2017-11-06 02:43:13

标签: c++ c++11 arm cross-compiling binutils

我正在通过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'的目标。

1 个答案:

答案 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指令