Я кросс-компилирую свой код с помощью arm-unknown-linux-gnueabi, и во время компиляции можно увидеть много предупреждений, приведенных ниже.
Unknown EABI object attribute 44
Можно ли игнорировать вышеприведенные предупреждения или я пропускаю некоторые и что означает это предупреждение?
arm-what-gcc — версия и рука-что-как — версия
ubuntu @ ubuntu: ~ / crosstool-ng / crosstool-ng-1.14.0 $ arm-unknown-linux-gnueabi-gcc — версия
arm-unknown-linux-gnueabi-gcc (crosstool-NG 1.14.0) 4.4.1
Copyright (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
Copyright 2007 Free Software Foundation, Inc.
Эта программа является свободным программным обеспечением; Вы можете распространять его в соответствии с условиями
Стандартная общественная лицензия GNU версии 3 или выше.
Эта программа не имеет абсолютно никаких гарантий.
Этот ассемблер был настроен для цели `arm-unknown-linux-gnueabi ‘.
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
Других решений пока нет …