about summary refs log tree commit diff homepage
path: root/lib
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2014-09-14 13:16:08 -0700
committerDaniel Dunbar <daniel@zuster.org>2014-09-14 13:22:29 -0700
commit251a32eba660615bc1583fd7e328dde7641499c1 (patch)
treeafa57922d86bf19972df456aa58c85cef748c591 /lib
parentcaf503da40a515e2239e925eebc8822cc77e0fae (diff)
downloadklee-251a32eba660615bc1583fd7e328dde7641499c1.tar.gz
[Core] Remove support for "--use-asm-addresses".
 - I suspect no one is using this feature, and I'm not sure it is well conceived
   either. Ripping it out for now in lieu of bothering to maintain it.
Diffstat (limited to 'lib')
-rw-r--r--lib/Core/Executor.cpp31
1 files changed, 2 insertions, 29 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp
index d2978642..545218f9 100644
--- a/lib/Core/Executor.cpp
+++ b/lib/Core/Executor.cpp
@@ -139,10 +139,6 @@ namespace {
               cl::init(false));
  
   cl::opt<bool>
-  UseAsmAddresses("use-asm-addresses",
-                  cl::init(false));
- 
-  cl::opt<bool>
   RandomizeFork("randomize-fork",
                 cl::init(false),
 		cl::desc("Randomly swap the true and false states on a fork (default=off)"));
@@ -580,32 +576,9 @@ void Executor::initializeGlobals(ExecutionState &state) {
     } else {
       LLVM_TYPE_Q Type *ty = i->getType()->getElementType();
       uint64_t size = kmodule->targetData->getTypeStoreSize(ty);
-      MemoryObject *mo = 0;
-
-#if LLVM_VERSION_CODE < LLVM_VERSION(3, 3)
-      if (UseAsmAddresses && i->getName()[0]=='\01') {
-#else
-      if (UseAsmAddresses && !i->getName().empty()) {
-#endif
-        char *end;
-#if LLVM_VERSION_CODE < LLVM_VERSION(3, 3)
-        uint64_t address = ::strtoll(i->getName().str().c_str()+1, &end, 0);
-#else
-        uint64_t address = ::strtoll(i->getName().str().c_str(), &end, 0);
-#endif
-
-        if (end && *end == '\0') {
-          klee_message("NOTE: allocated global at asm specified address: %#08llx"
-                       " (%llu bytes)",
-                       (long long) address, (unsigned long long) size);
-          mo = memory->allocateFixed(address, size, &*i);
-          mo->isUserSpecified = true; // XXX hack;
-        }
-      }
-
+      MemoryObject *mo = memory->allocate(size, false, true, &*i);
       if (!mo)
-        mo = memory->allocate(size, false, true, &*i);
-      assert(mo && "out of memory");
+        llvm::report_fatal_error("out of memory");
       ObjectState *os = bindObjectInState(state, mo, false);
       globalObjects.insert(std::make_pair(i, mo));
       globalAddresses.insert(std::make_pair(i, mo->getBaseExpr()));