diff options
author | joerg <joerg@pkgsrc.org> | 2013-04-02 12:00:04 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2013-04-02 12:00:04 +0000 |
commit | b304b0dcd5264823bd8661a48ea4231c8c454cc2 (patch) | |
tree | de788c394e1fe18599e2915713912f52f35641fc /lang/clang | |
parent | de9f0125f49ecbf74128d5696dbddd1074b3f2af (diff) | |
download | pkgsrc-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/distinfo | 3 | ||||
-rw-r--r-- | lang/clang/patches/patch-lib_Target_X86_X86JITInfo.cpp | 25 |
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 |