[Bug bootstrap/11169] bootstrap failure after passing configure options
jeroen.dobbelaere@acunia.com
gcc-bugzilla@gcc.gnu.org
Thu Jun 12 16:56:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11169
------- Additional Comments From jeroen.dobbelaere@acunia.com 2003-06-12 16:56 -------
> The problem here is more complex. Unfortunately, arm-linux objects are
> marked as as soft-float even though they do in fact contain FPA
> instructions (more precisely they are not marked as hard-float, since
> not-marked => soft-float). This becomes a problem when you try to link
Hmm. My experience dissagrees :
root:/tmp# gcc -c helloworld.c -o t-hardfpu1.o
root:/tmp# gcc -msoft-float -c helloworld.c -o t-softfpu1.o
root:/tmp# readelf -h t-hardfpu1.o
ELF Header:
Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: ARM
ABI Version: 0
Type: REL (Relocatable file)
Machine: ARM
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 156 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 8
Section header string table index: 5
root:/tmp# readelf -h t-softfpu1.o
ELF Header:
Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: ARM
ABI Version: 0
Type: REL (Relocatable file)
Machine: ARM
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 156 (bytes into file)
Flags: 0x200, GNU EABI, software FP
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 8
Section header string table index: 5
-msoft-float explicitely adds 0x200 to the flags,
hmm. following is strange :
root:/tmp# gcc -mcpu=xscale -c helloworld.c -o t-xscalefpu1.o
root:/tmp# readelf -h t-xscalefpu1.o
ELF Header:
Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: ARM
ABI Version: 0
Type: REL (Relocatable file)
Machine: ARM
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 156 (bytes into file)
Flags: 0x400, GNU EABI, <unknown>
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 8
Section header string table index: 5
and :
root:/tmp# gcc -mcpu=xscale -msoft-float -c helloworld.c -o t-xscalesoftfpu1.o
root:/tmp# readelf -h t-xscalesoftfpu1.o
ELF Header:
Magic: 7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: ARM
ABI Version: 0
Type: REL (Relocatable file)
Machine: ARM
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 156 (bytes into file)
Flags: 0x200, GNU EABI, software FP
Size of this header: 52 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 40 (bytes)
Number of section headers: 8
Section header string table index: 5
0x400 seems to indicate 'vfp', as this flag is also set when passing
'-Wa,-mfpu=vfp'
(gcc-3.0.4, binutils 2.14.90.0.4)
So, the default (no flag) means 'fpa', 0x200 means software floating point and
0x400 means vfp.
More information about the Gcc-bugs
mailing list