diff options
author | Cristian Cadar <cristic@cs.stanford.edu> | 2011-12-11 21:43:19 +0000 |
---|---|---|
committer | Cristian Cadar <cristic@cs.stanford.edu> | 2011-12-11 21:43:19 +0000 |
commit | 719ddd5298b423b1c3037d2351cb35e42f89522d (patch) | |
tree | d68b9fc644190341f39b7d9e20f7dbc4f7c57019 /lib/Core/Executor.cpp | |
parent | 4d12b8c6f4fdbd82585340d4f682f7c8d82f1ae1 (diff) | |
download | klee-719ddd5298b423b1c3037d2351cb35e42f89522d.tar.gz |
Patch by Paul Marinescu that fixes an issue causing KLEE to fail on some platforms with
KLEE: ERROR: unable to load symbol(__dso_handle) while initializing globals. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@146351 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Core/Executor.cpp')
-rw-r--r-- | lib/Core/Executor.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index a768ec38..6abd0234 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -428,6 +428,9 @@ MemoryObject * Executor::addExternalObject(ExecutionState &state, return mo; } + +extern void *__dso_handle __attribute__ ((__weak__)); + void Executor::initializeGlobals(ExecutionState &state) { Module *m = kmodule->module; @@ -532,7 +535,6 @@ void Executor::initializeGlobals(ExecutionState &state) { if (size) { void *addr; if (i->getName() == "__dso_handle") { - extern void *__dso_handle __attribute__ ((__weak__)); addr = &__dso_handle; // wtf ? } else { addr = externalDispatcher->resolveSymbol(i->getName()); |