diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2017-02-12 00:34:27 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2017-02-12 00:34:27 -0300 |
commit | 11f487197951270623cfcb9cd3022d1ad544291c (patch) | |
tree | 82f9fdf32c7d9fbdb149eb1afebb5052d3da404d /libre/clamav/Add-support-for-LLVM-3.9.patch | |
parent | e82f7af6cbb12e9c630e4c408ae1898a4134367b (diff) | |
download | abslibre-11f487197951270623cfcb9cd3022d1ad544291c.tar.gz abslibre-11f487197951270623cfcb9cd3022d1ad544291c.tar.bz2 abslibre-11f487197951270623cfcb9cd3022d1ad544291c.zip |
clamav-0.99.2-3.parabola1: build against current LLVM
Diffstat (limited to 'libre/clamav/Add-support-for-LLVM-3.9.patch')
-rw-r--r-- | libre/clamav/Add-support-for-LLVM-3.9.patch | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/libre/clamav/Add-support-for-LLVM-3.9.patch b/libre/clamav/Add-support-for-LLVM-3.9.patch new file mode 100644 index 000000000..084d41c1a --- /dev/null +++ b/libre/clamav/Add-support-for-LLVM-3.9.patch @@ -0,0 +1,76 @@ +From fef1bbc259bca9cfaac65a85de877f9b7ed27773 Mon Sep 17 00:00:00 2001 +From: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> +Date: Fri, 14 Oct 2016 20:24:56 +0200 +Subject: Add support for LLVM 3.9 + +Changes: +IRBuilder no longer has a preserveNames template argument. +AtomicOrdering is now a strongly typed enum. + +Patch-Name: Add-support-for-LLVM-3.9.patch +--- + libclamav/c++/bytecode2llvm.cpp | 12 +++++++++++- + libclamav/c++/m4/llvm-flags.m4 | 4 ++-- + 2 files changed, 13 insertions(+), 3 deletions(-) + +diff --git a/libclamav/c++/bytecode2llvm.cpp b/libclamav/c++/bytecode2llvm.cpp +index 213847c..252f8f6 100644 +--- a/libclamav/c++/bytecode2llvm.cpp ++++ b/libclamav/c++/bytecode2llvm.cpp +@@ -787,7 +787,11 @@ class RuntimeLimits : public FunctionPass { + AbrtC->setDoesNotThrow(); + #endif + new UnreachableInst(F.getContext(), AbrtBB); ++#if LLVM_VERSION < 39 + IRBuilder<false> Builder(F.getContext()); ++#else ++ IRBuilder<> Builder(F.getContext()); ++#endif + + #if LLVM_VERSION < 38 + Value *Flag = F.arg_begin(); +@@ -825,8 +829,10 @@ class RuntimeLimits : public FunctionPass { + #if LLVM_VERSION < 30 + // store-load barrier: will be a no-op on x86 but not other arches + Builder.CreateCall(LSBarrier, ARRAYREF(Value*, MBArgs, MBArgs+5)); +-#else ++#elif LLVM_VERSION < 39 + Builder.CreateFence(Release); ++#else ++ Builder.CreateFence(AtomicOrdering::Release); + #endif + // Load Flag that tells us we timed out (first byte in bc_ctx) + Value *Cond = Builder.CreateLoad(Flag, true); +@@ -969,7 +975,11 @@ class LLVMCodegen { + Twine BytecodeID; + + TargetFolder Folder; ++#if LLVM_VERSION < 39 + IRBuilder<false, TargetFolder> Builder; ++#else ++ IRBuilder<TargetFolder> Builder; ++#endif + + std::vector<Value*> globals; + DenseMap<unsigned, unsigned> GVoffsetMap; +diff --git a/libclamav/c++/m4/llvm-flags.m4 b/libclamav/c++/m4/llvm-flags.m4 +index 345c7ae..9631d5d 100644 +--- a/libclamav/c++/m4/llvm-flags.m4 ++++ b/libclamav/c++/m4/llvm-flags.m4 +@@ -98,14 +98,14 @@ elif test $llvmver_test -lt 290; then + elif test $llvmver_test -lt 360; then + llvmcomp="jit nativecodegen scalaropts ipo" + AC_MSG_RESULT([ok ($llvmver)]) +-elif test $llvmver_test -lt 390; then ++elif test $llvmver_test -lt 400; then + dnl LLVM 3.6.0 removed jit, so we have to use mcjit + dnl and we're using InitializeNativeTargetAsmParser, so we need the architecture specific parsers + llvmcomp="mcjit nativecodegen scalaropts ipo x86asmparser powerpcasmparser" + AC_MSG_RESULT([ok ($llvmver)]) + else + AC_MSG_RESULT([no ($llvmver)]) +- AC_MSG_ERROR([LLVM < 3.9 required, but "$llvmver"($llvmver_test) found]) ++ AC_MSG_ERROR([LLVM < 4.0 required, but "$llvmver"($llvmver_test) found]) + fi + + dnl aquire the required flags to properly link in external LLVM |