summaryrefslogtreecommitdiff
path: root/base/loader
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-05-14 23:55:07 -0400
committerGabe Black <gblack@eecs.umich.edu>2006-05-14 23:55:07 -0400
commitb91b877e9ac51ef22e54c8d161580b6889428792 (patch)
tree1ccccd448808ecc1bd87ee51fc075d7b5335c2ff /base/loader
parent9955ebd03c987077adf577c6d0b0b3a1667bade5 (diff)
downloadgem5-b91b877e9ac51ef22e54c8d161580b6889428792.tar.xz
Made EM_SPARC32PLUS be recognized as belonging to the SPARC architecture. Programs which have this set will not work because the stack works differently, so this should probably throw an error and quit.
--HG-- extra : convert_revision : b770045cad02d30445de0d7cc4d8c611a0ac931f
Diffstat (limited to 'base/loader')
-rw-r--r--base/loader/elf_object.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/base/loader/elf_object.cc b/base/loader/elf_object.cc
index a104719af..9f30a1bbe 100644
--- a/base/loader/elf_object.cc
+++ b/base/loader/elf_object.cc
@@ -82,7 +82,8 @@ ElfObject::tryFile(const string &fname, int fd, size_t len, uint8_t *data)
//what it must be.
if (ehdr.e_machine == EM_SPARC64 ||
ehdr.e_machine == EM_SPARC ||
- ehdr.e_machine == EM_SPARCV9) {
+ ehdr.e_machine == EM_SPARCV9 ||
+ ehdr.e_machine == EM_SPARC32PLUS) {
arch = ObjectFile::SPARC;
} else if (ehdr.e_machine == EM_MIPS
&& ehdr.e_ident[EI_CLASS] == ELFCLASS32) {