You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
jdk-8u162-linux-arm32-vfp-hflt
readelf -h ./jdk1.8.0_162/bin/java
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: 0x8484
Start of program headers: 52 (bytes into file)
Start of section headers: 2388 (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: 31
Section header string table index: 28
Arm soft/hard float detection does not work because the java exe (ELF header) does not contain the required flags.
In version 4.5.0 ElfAnalyser returned false for both soft and hard float and by luck, the hard float lib was chosen.
In 4.5.1 the detection has slightly changed and now the soft float flag is set to true.
I wonder if a system property can be added (e.g: jna.arm.hardfloat=true) to set the hard/soft flag and to disable runtime detection.
Thanks
The text was updated successfully, but these errors were encountered:
The reasoning is sound from my POV - the ELF ABI is pretty clear in my interpretation: No marker == soft float.
If you know that you are on linux and hardfloat, then you can override detection by setting the system property jna.prefix to linux-arm, if you know you are on linux with softfloat calling conventions set jna.prefix to linux-armel.
readelf -h ./jdk1.8.0_162/bin/java
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: 0x8484
Start of program headers: 52 (bytes into file)
Start of section headers: 2388 (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: 31
Section header string table index: 28
Arm soft/hard float detection does not work because the java exe (ELF header) does not contain the required flags.
In version 4.5.0 ElfAnalyser returned false for both soft and hard float and by luck, the hard float lib was chosen.
In 4.5.1 the detection has slightly changed and now the soft float flag is set to true.
I wonder if a system property can be added (e.g: jna.arm.hardfloat=true) to set the hard/soft flag and to disable runtime detection.
Thanks
The text was updated successfully, but these errors were encountered: