summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSukneet Basuta2012-06-23 16:38:18 -0400
committerSukneet Basuta2012-06-23 16:38:18 -0400
commite7679ce1fd3d7d9ead34a814926c493fc50da80f (patch)
treead6b2ab6c61c548e379da0241b886515ce6b033c
parent8e7105254239f062ea664b2514768b6fedc205bd (diff)
llvm: fix compilation on gcc 4.7
Still compiles on gcc 4.6
-rw-r--r--devel/llvm/HISTORY4
-rwxr-xr-xdevel/llvm/PRE_BUILD5
-rw-r--r--devel/llvm/gcc-4.7.patch10
3 files changed, 18 insertions, 1 deletions
diff --git a/devel/llvm/HISTORY b/devel/llvm/HISTORY
index 25a7a93582..10ef26bd25 100644
--- a/devel/llvm/HISTORY
+++ b/devel/llvm/HISTORY
@@ -1,3 +1,7 @@
+2012-06-23 Sukneet Basuta <sukneet@sourcemage.org>
+ * PRE_BUILD: apply patch for gcc 4.7
+ * gcc-4.7: added, patch to fix compilation on gcc 4.7
+
2011-09-26 Justin Boffemmyer <flux@sourcemage.org>
* DETAILS, PRE_BUILD: converted clang sources to also use upstream
signature checking, and corrected source numbering (clang source
diff --git a/devel/llvm/PRE_BUILD b/devel/llvm/PRE_BUILD
index f4248b8c4d..b07d8e6132 100755
--- a/devel/llvm/PRE_BUILD
+++ b/devel/llvm/PRE_BUILD
@@ -3,4 +3,7 @@ if [[ "$LLVM_WITH_CLANG" == y ]]; then
cd ${SOURCE_DIRECTORY}/tools &&
unpack_file 3 &&
mv clang-${VERSION} clang
-fi
+fi &&
+
+cd $SOURCE_DIRECTORY &&
+patch -p1 < $SPELL_DIRECTORY/gcc-4.7.patch
diff --git a/devel/llvm/gcc-4.7.patch b/devel/llvm/gcc-4.7.patch
new file mode 100644
index 0000000000..8989b7ea90
--- /dev/null
+++ b/devel/llvm/gcc-4.7.patch
@@ -0,0 +1,10 @@
+--- a/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:11:46.956180361 +0200
++++ b/lib/ExecutionEngine/JIT/Intercept.cpp 2012-05-17 16:14:35.256184996 +0200
+@@ -52,6 +52,7 @@
+ #include <sys/stat.h>
+ #endif
+ #include <fcntl.h>
++#include <unistd.h>
+ /* stat functions are redirecting to __xstat with a version number. On x86-64
+ * linking with libc_nonshared.a and -Wl,--export-dynamic doesn't make 'stat'
+ * available as an exported symbol, so we have to add it explicitly.