Package com.sun.jna
Class ELFAnalyser
- java.lang.Object
-
- com.sun.jna.ELFAnalyser
-
class ELFAnalyser extends java.lang.ObjectAnalyse 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 classELFAnalyser.ArmAeabiAttributesTag(package private) static classELFAnalyser.ELFSectionHeaderEntry(package private) static classELFAnalyser.ELFSectionHeaders
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ELFAnalyseranalyse(java.lang.String filename)java.lang.StringgetFilename()booleanis64Bit()booleanisArm()booleanisArmEabiAapcsVfp()booleanisArmHardFloat()booleanisArmHardFloatFlag()booleanisArmSoftFloatFlag()booleanisBigEndian()booleanisELF()
-
-
-
Method Detail
-
analyse
public static ELFAnalyser analyse(java.lang.String filename) throws java.io.IOException
- Throws:
java.io.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 java.lang.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
-
-