Package com.sun.jna
Class ELFAnalyser
java.lang.Object
com.sun.jna.ELFAnalyser
Analyse an ELF file for platform specific attributes.
Primary use-case: Detect whether the java binary is arm hardfloat or softfloat.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
(package private) static class
-
Method Summary
Modifier and TypeMethodDescriptionstatic ELFAnalyser
boolean
is64Bit()
boolean
isArm()
boolean
boolean
boolean
boolean
boolean
boolean
isELF()
-
Method Details
-
analyse
- Throws:
IOException
-
isELF
public boolean isELF()- Returns:
- true if the parsed file was detected to be an ELF file
-
is64Bit
public boolean is64Bit()- Returns:
- true if the parsed file was detected to be for a 64bit architecture and pointers are expected to be 8byte wide
-
isBigEndian
public boolean isBigEndian()- Returns:
- true if the parsed file is detected to be big endian, false if the file is little endian
-
getFilename
- Returns:
- filename of the parsed file
-
isArmHardFloat
public boolean isArmHardFloat() -
isArmEabiAapcsVfp
public boolean isArmEabiAapcsVfp()- Returns:
- true if file was detected to specify, that FP parameters/result passing conforms to AAPCS, VFP variant (hardfloat)
-
isArmHardFloatFlag
public boolean isArmHardFloatFlag()- Returns:
- true if file was detected to conform to the hardware floating-point procedure-call standard via ELF flags
-
isArmSoftFloatFlag
public boolean isArmSoftFloatFlag()- Returns:
- true if file was detected to conform to the software floating-point procedure-call standard via ELF flags
-
isArm
public boolean isArm()- Returns:
- true if the parsed file was detected to be build for the arm architecture
-