Package com.sun.jna
Class ELFAnalyser
- java.lang.Object
-
- com.sun.jna.ELFAnalyser
-
class ELFAnalyser extends Object
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 Classes Modifier and Type Class Description (package private) static class
ELFAnalyser.ArmAeabiAttributesTag
(package private) static class
ELFAnalyser.ELFSectionHeaderEntry
(package private) static class
ELFAnalyser.ELFSectionHeaders
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ELFAnalyser
analyse(String filename)
String
getFilename()
boolean
is64Bit()
boolean
isArm()
boolean
isArmEabiAapcsVfp()
boolean
isArmHardFloat()
boolean
isArmHardFloatFlag()
boolean
isArmSoftFloatFlag()
boolean
isBigEndian()
boolean
isELF()
-
-
-
Method Detail
-
analyse
public static ELFAnalyser analyse(String filename) throws IOException
- 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
public String 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
-
-