From 020403209a86a3b4d210a4bc62b37ee5cf49dec8 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 27 Apr 2007 17:02:33 +0000 Subject: 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 --- tools/lli/lli.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tools/lli') diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 225180b8ca..89e4be6b5f 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); -- cgit v1.2.3