aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdwin Török <edwintorok@gmail.com>2008-04-06 12:42:29 +0000
committerEdwin Török <edwintorok@gmail.com>2008-04-06 12:42:29 +0000
commit35594fa0a567342e31437b8a3bb812091fe61ac5 (patch)
tree10fe9f126b2c3392179181b8079b0eca68f45e61
parent1da2d4e9fb009203cfa2db8a1a0a93dd36a5c644 (diff)
downloadexternal_llvm-35594fa0a567342e31437b8a3bb812091fe61ac5.zip
external_llvm-35594fa0a567342e31437b8a3bb812091fe61ac5.tar.gz
external_llvm-35594fa0a567342e31437b8a3bb812091fe61ac5.tar.bz2
-fPIC is required on x86-64 when building shared objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49274 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/bugpoint/Miscompilation.cpp2
-rw-r--r--tools/bugpoint/ToolRunner.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/tools/bugpoint/Miscompilation.cpp b/tools/bugpoint/Miscompilation.cpp
index 9f4d2ef..f2b1c72 100644
--- a/tools/bugpoint/Miscompilation.cpp
+++ b/tools/bugpoint/Miscompilation.cpp
@@ -907,7 +907,7 @@ bool BugDriver::debugCodeGenerator() {
#if defined(sparc) || defined(__sparc__) || defined(__sparcv9)
<< " -G" // Compile a shared library, `-G' for Sparc
#else
- << " -shared" // `-shared' for Linux/X86, maybe others
+ << " -fPIC -shared" // `-shared' for Linux/X86, maybe others
#endif
<< " -fno-strict-aliasing\n";
diff --git a/tools/bugpoint/ToolRunner.cpp b/tools/bugpoint/ToolRunner.cpp
index aa3caff..d1e058e 100644
--- a/tools/bugpoint/ToolRunner.cpp
+++ b/tools/bugpoint/ToolRunner.cpp
@@ -572,7 +572,7 @@ int GCC::MakeSharedObject(const std::string &InputFile, FileType fileType,
GCCArgs.push_back("-shared"); // `-shared' for Linux/X86, maybe others
#endif
-#if defined(__ia64__) || defined(__alpha__)
+#if defined(__ia64__) || defined(__alpha__) || defined(__amd64__)
GCCArgs.push_back("-fPIC"); // Requires shared objs to contain PIC
#endif
#ifdef __sparc__