summaryrefslogtreecommitdiff
path: root/lang/clang
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2013-04-02 12:00:04 +0000
committerjoerg <joerg@pkgsrc.org>2013-04-02 12:00:04 +0000
commitb304b0dcd5264823bd8661a48ea4231c8c454cc2 (patch)
treede788c394e1fe18599e2915713912f52f35641fc /lang/clang
parentde9f0125f49ecbf74128d5696dbddd1074b3f2af (diff)
downloadpkgsrc-b304b0dcd5264823bd8661a48ea4231c8c454cc2.tar.gz
Add a workaround for the extern "C" vs static issue still in discussion
on the LLVM lists.
Diffstat (limited to 'lang/clang')
-rw-r--r--lang/clang/distinfo3
-rw-r--r--lang/clang/patches/patch-lib_Target_X86_X86JITInfo.cpp25
2 files changed, 27 insertions, 1 deletions
diff --git a/lang/clang/distinfo b/lang/clang/distinfo
index d8aed72a65e..641dafa02ff 100644
--- a/lang/clang/distinfo
+++ b/lang/clang/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.15 2013/01/03 15:36:01 adam Exp $
+$NetBSD: distinfo,v 1.16 2013/04/02 12:00:04 joerg Exp $
SHA1 (clang-3.2.src.tar.gz) = b0515298c4088aa294edc08806bd671f8819f870
RMD160 (clang-3.2.src.tar.gz) = 99468c17f3262d8af5dd5a6672fb958a72963ffc
@@ -9,6 +9,7 @@ Size (llvm-3.2.src.tar.gz) = 12275252 bytes
SHA1 (patch-ab) = 8dd0da6d47a57ac25eea358996cf874dd3289e08
SHA1 (patch-ac) = 7fce5070338dcee073aa429b70b47855cd213ec4
SHA1 (patch-ad) = f563a1016b17632afaa68639d59ee427b6c760f5
+SHA1 (patch-lib_Target_X86_X86JITInfo.cpp) = 8090d84a164a85ac3d2fccc475d2eeb541574f56
SHA1 (patch-tools_clang_lib_Driver_ToolChains.cpp) = 1e184e83636b4089e694a079e168188cb60b7e9c
SHA1 (patch-tools_clang_lib_Driver_Tools.cpp) = 5359329457a2acf7854beef19369679074b44f43
SHA1 (patch-tools_clang_lib_Frontend_InitHeaderSearch.cpp) = 3c85154a49d0b762fc367584d0faee169516d2b9
diff --git a/lang/clang/patches/patch-lib_Target_X86_X86JITInfo.cpp b/lang/clang/patches/patch-lib_Target_X86_X86JITInfo.cpp
new file mode 100644
index 00000000000..76f91830551
--- /dev/null
+++ b/lang/clang/patches/patch-lib_Target_X86_X86JITInfo.cpp
@@ -0,0 +1,25 @@
+$NetBSD: patch-lib_Target_X86_X86JITInfo.cpp,v 1.1 2013/04/02 12:00:05 joerg Exp $
+
+It is not yet decided whether extern "C" applies to static functions, so
+be explicit for now.
+
+--- lib/Target/X86/X86JITInfo.cpp.orig 2013-04-01 12:16:22.000000000 +0000
++++ lib/Target/X86/X86JITInfo.cpp
+@@ -342,6 +342,17 @@ extern "C" {
+ /// must locate the start of the stub or call site and pass it into the JIT
+ /// compiler function.
+ extern "C" {
++
++#if !(defined (X86_64_JIT) && defined(_MSC_VER))
++ // the following function is called only from this translation unit,
++ // unless we are under 64bit Windows with MSC, where there is
++ // no support for inline assembly
++static
++#endif
++void LLVM_ATTRIBUTE_USED
++X86CompilationCallback2(intptr_t *StackPtr, intptr_t RetAddr)
++__asm__("X86CompilationCallback2");
++
+ #if !(defined (X86_64_JIT) && defined(_MSC_VER))
+ // the following function is called only from this translation unit,
+ // unless we are under 64bit Windows with MSC, where there is