ARM: Detect OABI binaries and complain that they're no-longer supported.
authorAli Saidi <saidi@eecs.umich.edu>
Mon, 27 Jul 2009 07:50:55 +0000 (00:50 -0700)
committerAli Saidi <saidi@eecs.umich.edu>
Mon, 27 Jul 2009 07:50:55 +0000 (00:50 -0700)
src/base/loader/elf_object.cc
src/base/loader/object_file.hh
src/sim/process.cc

index 16fc698ddc36f05b9ed4ff79eb10bb076d8eb954..15ad88f762a04716ae899d6774161302c8071c45 100644 (file)
@@ -107,7 +107,6 @@ 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:
@@ -116,6 +115,9 @@ ElfObject::tryFile(const string &fname, int fd, size_t len, uint8_t *data)
           case ELFOSABI_TRU64:
             opSys = ObjectFile::Tru64;
             break;
+          case ELFOSABI_ARM:
+            opSys = ObjectFile::LinuxArmOABI;
+            break;
           default:
             opSys = ObjectFile::UnknownOpSys;
         }
index 73df5caf6da1d7778ead33674ebc213946ff2ac7..e511451b79cc0d1937679f0463e835c1a98f4cb3 100644 (file)
@@ -59,7 +59,8 @@ class ObjectFile
         UnknownOpSys,
         Tru64,
         Linux,
-        Solaris
+        Solaris,
+        LinuxArmOABI
     };
 
   protected:
index c121010694d61c4e74eaf763fb67c9464a576834..55bd2f209b24043de9c910c03611631f28956dff 100644 (file)
@@ -748,7 +748,9 @@ LiveProcess::create(LiveProcessParams * params)
       case ObjectFile::Linux:
         process = new ArmLinuxProcess(params, objFile);
         break;
-
+      case ObjectFile::LinuxArmOABI:
+        fatal("M5 does not support ARM OABI binaries. Please recompile with an"
+              " EABI compiler.");
       default:
         fatal("Unknown/unsupported operating system.");
     }