diff options
author | Steve Reinhardt <stever@gmail.com> | 2008-02-11 08:31:26 -0800 |
---|---|---|
committer | Steve Reinhardt <stever@gmail.com> | 2008-02-11 08:31:26 -0800 |
commit | 71835d42df8fb488380be8cc89be4298b268902a (patch) | |
tree | 7c2e91d34de4a2306f45234fefa13ded7ea5d83f /src/base | |
parent | 2f7421b12b4a557ff1a2e4dcebcfd3484778fb95 (diff) | |
parent | 4c7eb211191055f72c6f157913cb384f47cf4334 (diff) | |
download | gem5-71835d42df8fb488380be8cc89be4298b268902a.tar.xz |
Automated merge with file:/home/stever/hg/m5-orig
--HG--
extra : convert_revision : 86a55cd98a9704f756a70aa0cbd2820cf92c821d
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/loader/elf_object.cc | 3 | ||||
-rw-r--r-- | src/base/loader/object_file.hh | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/base/loader/elf_object.cc b/src/base/loader/elf_object.cc index 23df1c5ba..8e41ffd16 100644 --- a/src/base/loader/elf_object.cc +++ b/src/base/loader/elf_object.cc @@ -88,6 +88,8 @@ ElfObject::tryFile(const string &fname, int fd, size_t len, uint8_t *data) arch = ObjectFile::X86; } else if (ehdr.e_ident[EI_CLASS] == ELFCLASS64) { arch = ObjectFile::Alpha; + } else if (ehdr.e_machine == EM_ARM) { + arch = ObjectFile::Arm; } else { warn("Unknown architecture: %d\n", ehdr.e_machine); arch = ObjectFile::UnknownArch; @@ -98,6 +100,7 @@ ElfObject::tryFile(const string &fname, int fd, size_t len, uint8_t *data) { case ELFOSABI_LINUX: + case ELFOSABI_ARM: opSys = ObjectFile::Linux; break; case ELFOSABI_SOLARIS: diff --git a/src/base/loader/object_file.hh b/src/base/loader/object_file.hh index 4f0c17cc8..7f2bef0bf 100644 --- a/src/base/loader/object_file.hh +++ b/src/base/loader/object_file.hh @@ -50,7 +50,8 @@ class ObjectFile SPARC64, SPARC32, Mips, - X86 + X86, + Arm }; enum OpSys { |