Skip navigation links
JNA API 5.6.0
com.sun.jna

Class ELFAnalyser



  • class ELFAnalyser
    extends java.lang.Object
    Analyse an ELF file for platform specific attributes.

    Primary use-case: Detect whether the java binary is arm hardfloat or softfloat.

    • 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
JNA API 5.6.0

Copyright © 2007-2018 Timothy Wall. All Rights Reserved.