diff options
Diffstat (limited to 'main/llvm/llvm-0001-fix-shared-build.patch')
-rw-r--r-- | main/llvm/llvm-0001-fix-shared-build.patch | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/main/llvm/llvm-0001-fix-shared-build.patch b/main/llvm/llvm-0001-fix-shared-build.patch deleted file mode 100644 index 492c4399ac..0000000000 --- a/main/llvm/llvm-0001-fix-shared-build.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0d03d2ea17b66d8cb0f6ca5f2181237228535845 Mon Sep 17 00:00:00 2001 -From: Sanjoy Das <sanjoy at azulsystems.com> -Date: Thu Jun 19 15:38:02 2014 -0700 -Subject: Fix the --enable-shared build. - -Currently a build configured with ./configure --enable-shared breaks -with an undefined "llvm::cl::parser<llvm::PassInfo -const*>::getOption(unsigned int) const" symbol when linking opt. This -body for this symbol gets emitted into Pass.o (along with the destructor -for PassNameParser), but gets linked into libLLVM-3.5svn.so with local -visibility, causing the link error. - -This fix uses the existing EXTERN_TEMPLATE machinery to force a globally -visible definition for the functions in parser<const PassInfo *> into -Pass.o. ---- - include/llvm/IR/LegacyPassNameParser.h | 2 ++ - lib/IR/Pass.cpp | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h -index e2e4912..a07e3fd 100644 ---- a/include/llvm/IR/LegacyPassNameParser.h -+++ b/include/llvm/IR/LegacyPassNameParser.h -@@ -95,6 +95,8 @@ private: - } - }; - -+EXTERN_TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>); -+ - ///===----------------------------------------------------------------------===// - /// FilteredPassNameParser class - Make use of the pass registration - /// mechanism to automatically add a command line argument to opt for -diff --git a/lib/IR/Pass.cpp b/lib/IR/Pass.cpp -index 91d86ae..00ce223 100644 ---- a/lib/IR/Pass.cpp -+++ b/lib/IR/Pass.cpp -@@ -234,6 +234,8 @@ PassNameParser::~PassNameParser() { - // attempting to remove the registration listener is an error. - } - -+TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>); -+ - //===----------------------------------------------------------------------===// - // AnalysisUsage Class Implementation - // --- -2.1.4 |