summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Lenharth <andrewl@lenharth.org>2005-08-13 05:09:50 +0000
committerAndrew Lenharth <andrewl@lenharth.org>2005-08-13 05:09:50 +0000
commit7ac17529d2d00554ccc3fffd3691f924f7b4019a (patch)
tree55c111dd5395bbf8e196e5f46156dad942557ac3
parent0ae380a8ac48cbf3131f96318a15dc5dae8a6c78 (diff)
downloadllvm-7ac17529d2d00554ccc3fffd3691f924f7b4019a.tar.gz
llvm-7ac17529d2d00554ccc3fffd3691f924f7b4019a.tar.bz2
llvm-7ac17529d2d00554ccc3fffd3691f924f7b4019a.tar.xz
Fix oversized GOT problem with gcc-4 on alpha
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22777 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--Makefile.rules6
-rw-r--r--lib/VMCore/Makefile4
2 files changed, 10 insertions, 0 deletions
diff --git a/Makefile.rules b/Makefile.rules
index a0897a5ec8..53bfa6dbd8 100644
--- a/Makefile.rules
+++ b/Makefile.rules
@@ -625,6 +625,12 @@ endif
# (defined by the user's project) and "LLVM" libs (defined
# by the # LLVM project).
#---------------------------------------------------------
+#some versions of gcc on alpha produce to many symbols, so use a .a file
+ifeq ($(ARCH),Alpha)
+USEDLIBS := $(subst LLVMCore, LLVMCore.a, $(USEDLIBS))
+LLVMLIBS := $(subst LLVMCore, LLVMCore.a, $(LLVMLIBS))
+endif
+
ProjLibsOptions := $(patsubst %.a.o, -l%, $(addsuffix .o, $(USEDLIBS)))
ProjLibsOptions := $(patsubst %.o, $(LibDir)/%.o, $(ProjLibsOptions))
LLVMLibsOptions := $(patsubst %.a.o, -l%, $(addsuffix .o, $(LLVMLIBS)))
diff --git a/lib/VMCore/Makefile b/lib/VMCore/Makefile
index d3df2bfe78..8c95e08d8e 100644
--- a/lib/VMCore/Makefile
+++ b/lib/VMCore/Makefile
@@ -9,5 +9,9 @@
LEVEL = ../..
LIBRARYNAME = LLVMCore
+ifeq ($(ARCH),Alpha)
+BUILD_ARCHIVE = 1
+endif
+
include $(LEVEL)/Makefile.common