A grammar for Executable and Linkable Format (ELF) files. (This is a work in progress and may be incomplete or incorrect) The initial bytes mark the file as an object file and provide machine-independent data with which to decode and interpret the file’s contents NSX seems to shove some garbage in the padding which should according to the specifications be all 0x00. This member identifies the object file type. Although the core file contents are unspecified, type ET_CORE is reserved to mark the file. Values from ET_LOPROC through ET_HIPROC (inclusive) are reserved for processor-specific semantics. Other values are reserved and will be assigned to new object file types as necessary This member’s value specifies the required architecture for an individual file. Other values are reserved and will be assigned to new machines as necessary. Processor-specific ELF names use the machine name to distinguish them. For example, the flags mentioned below use the prefix EF_; a flag named WIDGET for the EM_XYZ machine would be called EF_XYZ_WIDGET This member identifies the object file version. The value 1 signifies the original file format; extensions will create new versions with higher numbers. The value of EV_CURRENT, though given as 1 above, will change as necessary to reflect the current version number