summaryrefslogtreecommitdiff
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
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
-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) {