From: Chris Lattner Date: Fri, 27 Apr 2007 17:02:33 +0000 (+0000) Subject: reset errno to zero on entry to the application's main function. This fixes X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=020403209a86a3b4d210a4bc62b37ee5cf49dec8;p=oota-llvm.git reset errno to zero on entry to the application's main function. This fixes MultiSource/Applications/minisat in the JIT. Note that the libsystem stuff should ideally never modify errno. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36508 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 225180b8cae..89e4be6b5f9 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -28,7 +28,7 @@ #include "llvm/System/Process.h" #include "llvm/System/Signals.h" #include - +#include using namespace llvm; namespace { @@ -128,6 +128,10 @@ int main(int argc, char **argv, char * const *envp) { // function later on to make an explicit call, so get the function now. Constant *Exit = Mod->getOrInsertFunction("exit", Type::VoidTy, Type::Int32Ty, NULL); + + // Reset errno to zero on entry to main. + errno = 0; + // Run static constructors. EE->runStaticConstructorsDestructors(false);