Не важно, есть ли FP. Все зависит от ключей компиляции. Пример:
файл x.c
Код
void x()
{
}
Код
arm-elf-gcc -c -msoft-float -o xs.o x.c
arm-elf-gcc -c -mhard-float -o xh.o x.c
Дизассемблер файлов xs.o и xh.o дает одинаковый результат. А вот
Код
arm-elf-objdump -x xs.o
xs.o: file format elf32-littlearm
xs.o
architecture: arm, flags 0x00000010:
HAS_SYMS
start address 0x00000000
private flags = 200: [APCS-32] [FPA float format] [software FP]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000010 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00000000 00000000 00000044 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 00000044 2**0
ALLOC
3 .comment 00000012 00000000 00000000 00000044 2**0
CONTENTS, READONLY
SYMBOL TABLE:
00000000 l df *ABS* 00000000 x.c
00000000 l d .text 00000000
00000000 l d .data 00000000
00000000 l d .bss 00000000
00000000 l F .text 00000000 $a
00000000 l d .comment 00000000
00000000 g F .text 00000010 x
Код
arm-elf-objdump -x xh.o
xh.o: file format elf32-littlearm
xh.o
architecture: arm, flags 0x00000010:
HAS_SYMS
start address 0x00000000
private flags = 0: [APCS-32] [FPA float format]
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000010 00000000 00000000 00000034 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .data 00000000 00000000 00000000 00000044 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .bss 00000000 00000000 00000000 00000044 2**0
ALLOC
3 .comment 00000012 00000000 00000000 00000044 2**0
CONTENTS, READONLY
SYMBOL TABLE:
00000000 l df *ABS* 00000000 x.c
00000000 l d .text 00000000
00000000 l d .data 00000000
00000000 l d .bss 00000000
00000000 l F .text 00000000 $a
00000000 l d .comment 00000000
00000000 g F .text 00000010 x
Обратите внимание на строчку private flags.