diff options
author | William Pitcock <nenolod@dereferenced.org> | 2010-12-17 09:57:10 +0000 |
---|---|---|
committer | William Pitcock <nenolod@dereferenced.org> | 2010-12-17 09:58:27 +0000 |
commit | d73d15596971d1271b19edd2e90f2b4ce47646a6 (patch) | |
tree | 5462e3b3f06f37752d82a1176df30c73e89e5dbf /testing/llvm/llvm-uclibc-errno-fsckery.patch | |
parent | 9b611b5a4bc24ae04ff1e0bc98d87de3aad3cc24 (diff) | |
download | aports-d73d15596971d1271b19edd2e90f2b4ce47646a6.tar.bz2 aports-d73d15596971d1271b19edd2e90f2b4ce47646a6.tar.xz |
testing/llvm: new aport.
clang is included with this port, but does not generate PIC on x86_64. on
i386, this is not a problem so clang should, in theory, be working fully there.
Diffstat (limited to 'testing/llvm/llvm-uclibc-errno-fsckery.patch')
-rw-r--r-- | testing/llvm/llvm-uclibc-errno-fsckery.patch | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/testing/llvm/llvm-uclibc-errno-fsckery.patch b/testing/llvm/llvm-uclibc-errno-fsckery.patch new file mode 100644 index 000000000..a7335f268 --- /dev/null +++ b/testing/llvm/llvm-uclibc-errno-fsckery.patch @@ -0,0 +1,86 @@ +--- llvm-2.8/lib/Support/CommandLine.cpp ++++ llvm-2.8.mod/lib/Support/CommandLine.cpp +@@ -31,7 +31,10 @@ + #include "llvm/ADT/StringMap.h" + #include "llvm/ADT/Twine.h" + #include "llvm/Config/config.h" +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + #include <cstdlib> + using namespace llvm; + using namespace cl; +--- llvm-2.8/lib/Support/raw_ostream.cpp ++++ llvm-2.8.mod/lib/Support/raw_ostream.cpp +@@ -22,7 +22,10 @@ + #include "llvm/System/Signals.h" + #include "llvm/ADT/STLExtras.h" + #include <cctype> +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + #include <sys/stat.h> + #include <sys/types.h> + +--- llvm-2.8/lib/System/Errno.cpp ++++ llvm-2.8.mod/lib/System/Errno.cpp +@@ -14,13 +14,11 @@ + #include "llvm/System/Errno.h" + #include "llvm/Config/config.h" // Get autoconf configuration settings + ++extern __thread int errno; ++ + #if HAVE_STRING_H + #include <string.h> + +-#if HAVE_ERRNO_H +-#include <errno.h> +-#endif +- + //===----------------------------------------------------------------------===// + //=== WARNING: Implementation here must contain only TRULY operating system + //=== independent code. +@@ -29,11 +27,9 @@ + namespace llvm { + namespace sys { + +-#if HAVE_ERRNO_H + std::string StrError() { + return StrError(errno); + } +-#endif // HAVE_ERRNO_H + + std::string StrError(int errnum) { + const int MaxErrStrLen = 2000; +--- llvm-2.8/lib/System/Unix/Unix.h ++++ llvm-2.8.mod/lib/System/Unix/Unix.h +@@ -24,7 +24,10 @@ + #include <cstdlib> + #include <cstdio> + #include <cstring> +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + #include <string> + #include <algorithm> + +--- llvm-2.8/utils/TableGen/TGLexer.cpp ++++ llvm-2.8.mod/utils/TableGen/TGLexer.cpp +@@ -19,7 +19,10 @@ + #include <cstdio> + #include <cstdlib> + #include <cstring> +-#include <cerrno> ++ ++#include <asm-generic/errno-base.h> ++extern __thread int errno; ++ + using namespace llvm; + + TGLexer::TGLexer(SourceMgr &SM) : SrcMgr(SM) { |