From: <mic...@us...> - 2007-04-20 18:51:50
|
Revision: 76 http://svn.sourceforge.net/pearcolator/?rev=76&view=rev Author: michael_baer Date: 2007-04-20 11:51:50 -0700 (Fri, 20 Apr 2007) Log Message: ----------- Reintroduced symbolic constants for OS ABIs. Modified Paths: -------------- src/org/binarytranslator/generic/os/loader/elf/ELF_Loader.java Modified: src/org/binarytranslator/generic/os/loader/elf/ELF_Loader.java =================================================================== --- src/org/binarytranslator/generic/os/loader/elf/ELF_Loader.java 2007-04-20 18:42:26 UTC (rev 75) +++ src/org/binarytranslator/generic/os/loader/elf/ELF_Loader.java 2007-04-20 18:51:50 UTC (rev 76) @@ -262,11 +262,11 @@ /** * Class to read and hold ELF header indentity information */ - + @SuppressWarnings("unused") private static class ELF_Identity { /** Represents acceptable ELF address sizes. */ - enum AddressSize implements IdentifiedEnum { + private enum AddressSize implements IdentifiedEnum { Size32(1), Size64(2); @@ -282,7 +282,7 @@ } /** Represents accepted ELF byte orders. */ - enum ByteOrder implements IdentifiedEnum { + private enum ByteOrder implements IdentifiedEnum { LittleEndian(1), BigEndian(2); @@ -296,6 +296,22 @@ return identifier; } } + + /* Symbolic names for the most widely used ABIs. This is not an enum, because the list isn't complete. */ + private static final byte ELFOSABI_SYSTEMV = 0; + private static final byte ELFOSABI_HPUX = 1; + private static final byte ELFOSABI_NETBSD = 2; + private static final byte ELFOSABI_LINUX = 3; + private static final byte ELFOSABI_SOLARIS = 6; + private static final byte ELFOSABI_AIX = 7; + private static final byte ELFOSABI_IRIX = 8; + private static final byte ELFOSABI_FREEBSD = 9; + private static final byte ELFOSABI_TRU64 = 10; + private static final byte ELFOSABI_MODESTO = 11; + private static final byte ELFOSABI_OPENBSD = 12; + private static final byte ELFOSABI_OPENVMS = 13; + private static final byte ELFOSABI_NSK = 14; + private static final byte ELFOSABI_ARM = 97; /** * ELF magic values indicating an ELF file @@ -356,13 +372,13 @@ { //read the OS ABI switch (abi) { - case 0: + case ELFOSABI_SYSTEMV: return ABI.SystemV; - case 3: + case ELFOSABI_LINUX: return ABI.Linux; - case 97: + case ELFOSABI_ARM: return ABI.ARM; default: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |