AnsweredAssumed Answered

arm hard float point

Question asked by Allen Kim on Mar 1, 2017
Latest reply on Mar 1, 2017 by Yuri Muhin

Dear Community 

 

i have a question about arm hard float point option 

 

we need arm float point option on LTIB tool chain 

 

i write some example code and compile with  LTIB , yocto 

 

binary that compiled with LTIB has no FLAGS (  hard-float ABI

binary that compiled with yocto  has a  hard-float ABI FLAGS

 

LTIB latest toolchain ( 20130816 version ) 

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-gcc -c float_sum.cpp  -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-gcc  -o float_test float_sum.o float_test.cpp  -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 -lpthread

 

allen_kim@host:~/test_hf/src$ readelf  -h float_test

ELF Header:

  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

  Class:                             ELF32

  Data:                              2's complement, little endian

  Version:                           1 (current)

  OS/ABI:                            UNIX - System V

  ABI Version:                       0

  Type:                              EXEC (Executable file)

  Machine:                           ARM

  Version:                           0x1

  Entry point address:               0x83c4

  Start of program headers:          52 (bytes into file)

  Start of section headers:          2396 (bytes into file)

  Flags:                             0x5000002, has entry point, Version5 EABI

  Size of this header:               52 (bytes)

  Size of program headers:           32 (bytes)

  Number of program headers:         8

  Size of section headers:           40 (bytes)

  Number of section headers:         30

  Section header string table index: 27

 

 

 

yocto 4.1.15 toolchain

/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -c float_sum.cpp -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/fsl-imx-fb/4.1.15-

1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/
/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -o float_test_yocto float_sum.o float_test.cpp -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 -lpthread --sysroot=/opt/fsl-imx-fb/4.1.15-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/

 

allen_kim@host:~/test_hf/src$ readelf  -h float_test_yocto

ELF Header:

  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

  Class:                             ELF32

  Data:                              2's complement, little endian

  Version:                           1 (current)

  OS/ABI:                            UNIX - System V

  ABI Version:                       0

  Type:                              EXEC (Executable file)

  Machine:                           ARM

  Version:                           0x1

  Entry point address:               0x10444

  Start of program headers:          52 (bytes into file)

  Start of section headers:          9228 (bytes into file)

  Flags:                             0x5000402, has entry point, Version5 EABI, hard-float ABI

  Size of this header:               52 (bytes)

  Size of program headers:           32 (bytes)

  Number of program headers:         8

  Size of section headers:           40 (bytes)

  Number of section headers:         39

  Section header string table index: 36

 

how can i support hard-float ABI in LTIB crosstool chain ?

 

 

please guide me 

 

 

Thanks BR

Outcomes