Package com.sun.jna

Class 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.

    • Method Detail

      • 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