Top Description Inners Fields Constructors Methods
jogamp.common.os.elf

public Class SectionArmAttributes

extends Section
Class Inheritance
Static Imports
jogamp.common.os.elf.IOUtils.toHexString, .IOUtils.readUInt32, .IOUtils.getString

ARM EABI attributes within section header SectionHeader#SHT_ARM_ATTRIBUTES.

References:

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
public static enum
public static enum
public static class

Field Summary

Modifier and TypeField and Description
public static final byte
ABI_VFP_ARGS_IS_BASE_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to AAPCS, BASE variant.

public static final byte
ABI_VFP_ARGS_IS_BOTH_BASE_AND_VFP_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to both , BASE and VFP variant.

public static final byte
ABI_VFP_ARGS_IS_CUSTOM_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to custom toolchain.

public static final byte
ABI_VFP_ARGS_IS_VFP_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to AAPCS, VFP variant.

public static final byte
public final List<SectionArmAttributes.VendorAttributes>
Inherited from jogamp.common.os.elf.Section:
datalengthoffsetsh

Constructor Summary

AccessConstructor and Description
pack-priv
SectionArmAttributes(final SectionHeader sh, final byte[] data, final int offset, final int length)

Method Summary

Modifier and TypeMethod and Description
public static final boolean
abiVFPArgsAcceptsVFPVariant(final byte
ULEB128 Value from Tag#ABI_VFP_args attribute
v
)

Returns true if value is either ABI_VFP_ARGS_IS_VFP_VARIANT or ABI_VFP_ARGS_IS_BOTH_BASE_AND_VFP_VARIANT

public final SectionArmAttributes.Attribute
public final List<SectionArmAttributes.Attribute>
get(final String vendor)

pack-priv static final List<SectionArmAttributes.Attribute>
get(final List<SectionArmAttributes.VendorAttributes> vendorAttributesList, final String vendor)

pack-priv static List<SectionArmAttributes.VendorAttributes>
parse(final SectionHeader
TODO
sh
,
final byte[]
byte source buffer to parse
in
,
final int
offset within byte source buffer to start parsing
offset
,
final int
remaining numbers of bytes to parse beginning w/ sb_off, which shall not exceed sb.length - offset.
remaining
)

private static void
parseSub(final boolean
TODO
isBigEndian
,
final byte[]
byte source buffer to parse
in
,
final int
offset within byte source buffer to start parsing
offset
,
final int
remaining numbers of bytes to parse beginning w/ sb_off, which shall not exceed sb.length - offset.
remaining
,
final int[] offset_post, final List<SectionArmAttributes.Attribute> attributes)

public String
toString()

Overrides jogamp.common.os.elf.Section.toString.

Returns a string representation of the object.
Inherited from jogamp.common.os.elf.Section:
toSubString

Field Detail

ABI_VFP_ARGS_IS_BASE_VARIANTback to summary
public static final byte ABI_VFP_ARGS_IS_BASE_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to AAPCS, BASE variant.

ABI_VFP_ARGS_IS_BOTH_BASE_AND_VFP_VARIANTback to summary
public static final byte ABI_VFP_ARGS_IS_BOTH_BASE_AND_VFP_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to both , BASE and VFP variant.

ABI_VFP_ARGS_IS_CUSTOM_VARIANTback to summary
public static final byte ABI_VFP_ARGS_IS_CUSTOM_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to custom toolchain.

ABI_VFP_ARGS_IS_VFP_VARIANTback to summary
public static final byte ABI_VFP_ARGS_IS_VFP_VARIANT

ULEB128 Value for Tag#ABI_VFP_args: FP parameter/result passing conforms to AAPCS, VFP variant.

FORMAT_VERSION_Aback to summary
public static final byte FORMAT_VERSION_A
vendorAttributesListback to summary
public final List<SectionArmAttributes.VendorAttributes> vendorAttributesList

Constructor Detail

SectionArmAttributesback to summary
pack-priv SectionArmAttributes(final SectionHeader sh, final byte[] data, final int offset, final int length) throws IndexOutOfBoundsException, IllegalArgumentException

Method Detail

abiVFPArgsAcceptsVFPVariantback to summary
public static final boolean abiVFPArgsAcceptsVFPVariant(final byte v)

Returns true if value is either ABI_VFP_ARGS_IS_VFP_VARIANT or ABI_VFP_ARGS_IS_BOTH_BASE_AND_VFP_VARIANT

Parameters
v:byte

ULEB128 Value from Tag#ABI_VFP_args attribute

getback to summary
public final SectionArmAttributes.Attribute get(final SectionArmAttributes.Tag tag)
getback to summary
public final List<SectionArmAttributes.Attribute> get(final String vendor)
getback to summary
pack-priv static final List<SectionArmAttributes.Attribute> get(final List<SectionArmAttributes.VendorAttributes> vendorAttributesList, final String vendor)
parseback to summary
pack-priv static List<SectionArmAttributes.VendorAttributes> parse(final SectionHeader sh, final byte[] in, final int offset, final int remaining) throws IndexOutOfBoundsException, IllegalArgumentException
Parameters
sh:SectionHeader

TODO

in:byte[]

byte source buffer to parse

offset:int

offset within byte source buffer to start parsing

remaining:int

remaining numbers of bytes to parse beginning w/ sb_off, which shall not exceed sb.length - offset.

Exceptions
IndexOutOfBoundsException:
if offset + remaining > sb.length.
IllegalArgumentException:
if section parsing failed, i.e. incompatible version or data.
parseSubback to summary
private static void parseSub(final boolean isBigEndian, final byte[] in, final int offset, final int remaining, final int[] offset_post, final List<SectionArmAttributes.Attribute> attributes) throws IndexOutOfBoundsException, IllegalArgumentException
Parameters
isBigEndian:boolean

TODO

in:byte[]

byte source buffer to parse

offset:int

offset within byte source buffer to start parsing

remaining:int

remaining numbers of bytes to parse beginning w/ sb_off, which shall not exceed sb.length - offset.

Exceptions
IndexOutOfBoundsException:
if offset + remaining > sb.length.
IllegalArgumentException:
if section parsing failed, i.e. incompatible version or data.
toStringback to summary
public String toString()

Overrides jogamp.common.os.elf.Section.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override
jogamp.common.os.elf back to summary

public Class SectionArmAttributes.Attribute

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
public final SectionArmAttributes.Tag
private final Object

Constructor Summary

AccessConstructor and Description
pack-priv
Attribute(final SectionArmAttributes.Tag tag, final Object value)

Method Summary

Modifier and TypeMethod and Description
public final String
public final byte
public final boolean
public final boolean
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

tagback to summary
public final SectionArmAttributes.Tag tag
valueback to summary
private final Object value

Constructor Detail

Attributeback to summary
pack-priv Attribute(final SectionArmAttributes.Tag tag, final Object value)

Method Detail

getNTBSback to summary
public final String getNTBS()
getULEB128back to summary
public final byte getULEB128()
isNTBSback to summary
public final boolean isNTBS()
isULEB128back to summary
public final boolean isULEB128()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override
jogamp.common.os.elf back to summary

public final Enum SectionArmAttributes.Tag

extends Enum<SectionArmAttributes.Tag>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
CPU_unaligned_access

with each byte interpreted as an ULEB128 with closing EOS

public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public final int
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public final SectionArmAttributes.Type
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag
public static final SectionArmAttributes.Tag

Constructor Summary

AccessConstructor and Description
private
Tag(final int id, final SectionArmAttributes.Type type)

Method Summary

Modifier and TypeMethod and Description
public static SectionArmAttributes.Tag
get(final int id)

Slow O(n) transition of a native tag value to a Tag.

public static SectionArmAttributes.Tag
public static SectionArmAttributes.Tag[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ABI_align_neededback to summary
public static final SectionArmAttributes.Tag ABI_align_needed
ABI_align_preservedback to summary
public static final SectionArmAttributes.Tag ABI_align_preserved
ABI_enum_sizeback to summary
public static final SectionArmAttributes.Tag ABI_enum_size
ABI_FP_16bit_formatback to summary
public static final SectionArmAttributes.Tag ABI_FP_16bit_format
ABI_FP_denormalback to summary
public static final SectionArmAttributes.Tag ABI_FP_denormal
ABI_FP_exceptionsback to summary
public static final SectionArmAttributes.Tag ABI_FP_exceptions
ABI_FP_number_modelback to summary
public static final SectionArmAttributes.Tag ABI_FP_number_model
ABI_FP_optimization_goalsback to summary
public static final SectionArmAttributes.Tag ABI_FP_optimization_goals
ABI_FP_roundingback to summary
public static final SectionArmAttributes.Tag ABI_FP_rounding
ABI_FP_user_exceptionsback to summary
public static final SectionArmAttributes.Tag ABI_FP_user_exceptions
ABI_HardFP_useback to summary
public static final SectionArmAttributes.Tag ABI_HardFP_use
ABI_optimization_goalsback to summary
public static final SectionArmAttributes.Tag ABI_optimization_goals
ABI_PCS_GOT_useback to summary
public static final SectionArmAttributes.Tag ABI_PCS_GOT_use
ABI_PCS_R9_useback to summary
public static final SectionArmAttributes.Tag ABI_PCS_R9_use
ABI_PCS_RO_databack to summary
public static final SectionArmAttributes.Tag ABI_PCS_RO_data
ABI_PCS_RW_databack to summary
public static final SectionArmAttributes.Tag ABI_PCS_RW_data
ABI_PCS_wchar_tback to summary
public static final SectionArmAttributes.Tag ABI_PCS_wchar_t
ABI_VFP_argsback to summary
public static final SectionArmAttributes.Tag ABI_VFP_args
ABI_WMMX_argsback to summary
public static final SectionArmAttributes.Tag ABI_WMMX_args
Advanced_SIMD_archback to summary
public static final SectionArmAttributes.Tag Advanced_SIMD_arch
also_compatible_withback to summary
public static final SectionArmAttributes.Tag also_compatible_with
ARM_ISA_useback to summary
public static final SectionArmAttributes.Tag ARM_ISA_use
compatibilityback to summary
public static final SectionArmAttributes.Tag compatibility
conformanceback to summary
public static final SectionArmAttributes.Tag conformance
CPU_archback to summary
public static final SectionArmAttributes.Tag CPU_arch
CPU_arch_profileback to summary
public static final SectionArmAttributes.Tag CPU_arch_profile
CPU_nameback to summary
public static final SectionArmAttributes.Tag CPU_name
CPU_raw_nameback to summary
public static final SectionArmAttributes.Tag CPU_raw_name
CPU_unaligned_accessback to summary
public static final SectionArmAttributes.Tag CPU_unaligned_access

with each byte interpreted as an ULEB128 with closing EOS

DIV_useback to summary
public static final SectionArmAttributes.Tag DIV_use
Fileback to summary
public static final SectionArmAttributes.Tag File
FP_archback to summary
public static final SectionArmAttributes.Tag FP_arch
FP_HP_extensionback to summary
public static final SectionArmAttributes.Tag FP_HP_extension
idback to summary
public final int id
MPextension_useback to summary
public static final SectionArmAttributes.Tag MPextension_use
MPextension_use_legacyback to summary
public static final SectionArmAttributes.Tag MPextension_use_legacy
nodefaultsback to summary
public static final SectionArmAttributes.Tag nodefaults
Noneback to summary
public static final SectionArmAttributes.Tag None
PCS_configback to summary
public static final SectionArmAttributes.Tag PCS_config
Sectionback to summary
public static final SectionArmAttributes.Tag Section
Symbolback to summary
public static final SectionArmAttributes.Tag Symbol
T2EE_useback to summary
public static final SectionArmAttributes.Tag T2EE_use
THUMB_ISA_useback to summary
public static final SectionArmAttributes.Tag THUMB_ISA_use
typeback to summary
public final SectionArmAttributes.Type type
undefined69back to summary
public static final SectionArmAttributes.Tag undefined69
Virtualization_useback to summary
public static final SectionArmAttributes.Tag Virtualization_use
WMMX_archback to summary
public static final SectionArmAttributes.Tag WMMX_arch

Constructor Detail

Tagback to summary
private Tag(final int id, final SectionArmAttributes.Type type)

Method Detail

getback to summary
public static SectionArmAttributes.Tag get(final int id)

Slow O(n) transition of a native tag value to a Tag.

valueOfback to summary
public static SectionArmAttributes.Tag valueOf(String name)
valuesback to summary
public static SectionArmAttributes.Tag[] values()
jogamp.common.os.elf back to summary

public final Enum SectionArmAttributes.Type

extends Enum<SectionArmAttributes.Type>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final SectionArmAttributes.Type
None

No Value

public static final SectionArmAttributes.Type
NTBS

Null Terminated Byte-String

public static final SectionArmAttributes.Type
SubSection

A Sub-Section - following the 4 byte sub section total size (tag + size + content) - byte order of the ELF file

public static final SectionArmAttributes.Type

Constructor Summary

AccessConstructor and Description
private
Type()

Method Summary

Modifier and TypeMethod and Description
public static SectionArmAttributes.Type
public static SectionArmAttributes.Type[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

Noneback to summary
public static final SectionArmAttributes.Type None

No Value

NTBSback to summary
public static final SectionArmAttributes.Type NTBS

Null Terminated Byte-String

SubSectionback to summary
public static final SectionArmAttributes.Type SubSection

A Sub-Section - following the 4 byte sub section total size (tag + size + content) - byte order of the ELF file

ULEB128back to summary
public static final SectionArmAttributes.Type ULEB128

Constructor Detail

Typeback to summary
private Type()

Method Detail

valueOfback to summary
public static SectionArmAttributes.Type valueOf(String name)
valuesback to summary
public static SectionArmAttributes.Type[] values()
jogamp.common.os.elf back to summary

public Class SectionArmAttributes.VendorAttributes

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
public final List<SectionArmAttributes.Attribute>
public final String

Constructor Summary

AccessConstructor and Description
pack-priv
VendorAttributes(final String vendor, final List<SectionArmAttributes.Attribute> attributes)

Method Summary

Modifier and TypeMethod and Description
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

attributesback to summary
public final List<SectionArmAttributes.Attribute> attributes
vendorback to summary
public final String vendor

Constructor Detail

VendorAttributesback to summary
pack-priv VendorAttributes(final String vendor, final List<SectionArmAttributes.Attribute> attributes)

Method Detail

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override