[dragonegg] rebase to latest git for llvm 3.4
Dave Airlie
airlied at fedoraproject.org
Tue Jan 14 06:38:14 UTC 2014
commit 244189594330c4812a1a8d5577acb4bb007451d3
Author: Dave Airlie <airlied at redhat.com>
Date: Tue Jan 14 16:38:13 2014 +1000
rebase to latest git for llvm 3.4
.gitignore | 1 +
backend-build-fix.patch | 27 +++++++++++++++++++++++++++
dragonegg-3.3rc2-dyn.patch | 17 +++++++++--------
dragonegg.spec | 18 +++++++++++++-----
sources | 2 +-
5 files changed, 51 insertions(+), 14 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index abc326e..5d00905 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
/dragonegg-3.3rc2-source.tar.gz
/dragonegg-source-3.3rc3.tar.gz
/dragonegg-3.3.src.tar.gz
+/dragonegg-20140114.tar.xz
diff --git a/backend-build-fix.patch b/backend-build-fix.patch
new file mode 100644
index 0000000..4de1192
--- /dev/null
+++ b/backend-build-fix.patch
@@ -0,0 +1,27 @@
+diff -up dragonegg-20140114/src/Backend.cpp.dave dragonegg-20140114/src/Backend.cpp
+--- dragonegg-20140114/src/Backend.cpp.dave 2014-01-14 16:27:05.000000000 +1000
++++ dragonegg-20140114/src/Backend.cpp 2014-01-14 16:27:08.000000000 +1000
+@@ -31,13 +31,12 @@
+ // LLVM headers
+ #include "llvm/ADT/STLExtras.h"
+ #include "llvm/ADT/StringExtras.h"
++#include "llvm/Assembly/PrintModulePass.h"
+ #include "llvm/Bitcode/ReaderWriter.h"
+ #include "llvm/CodeGen/RegAllocRegistry.h"
+ #include "llvm/IR/DataLayout.h"
+-#include "llvm/IR/IRPrintingPasses.h"
+ #include "llvm/IR/LLVMContext.h"
+ #include "llvm/IR/Module.h"
+-#include "llvm/IR/Verifier.h"
+ #include "llvm/MC/SubtargetFeature.h"
+ #include "llvm/PassManager.h"
+ #include "llvm/Support/ManagedStatic.h"
+@@ -773,7 +772,7 @@ static void createPerModuleOptimizationP
+ // Emit an LLVM .ll file to the output. This is used when passed
+ // -emit-llvm -S to the GCC driver.
+ InitializeOutputStreams(false);
+- PerModulePasses->add(createPrintModulePass(*OutStream));
++ PerModulePasses->add(createPrintModulePass(OutStream));
+ } else {
+ // If there are passes we have to run on the entire module, we do codegen
+ // as a separate "pass" after that happens.
diff --git a/dragonegg-3.3rc2-dyn.patch b/dragonegg-3.3rc2-dyn.patch
index 670e93e..c9b60a8 100644
--- a/dragonegg-3.3rc2-dyn.patch
+++ b/dragonegg-3.3rc2-dyn.patch
@@ -1,7 +1,7 @@
-diff -up dragonegg.src/Makefile.dyn dragonegg.src/Makefile
---- dragonegg.src/Makefile.dyn 2013-05-21 10:16:37.000000000 -0600
-+++ dragonegg.src/Makefile 2013-06-03 12:10:55.990785316 -0600
-@@ -95,7 +95,7 @@ ifneq ($(GCC_MINOR), 5)
+diff -up dragonegg-20140114/Makefile.dave dragonegg-20140114/Makefile
+--- dragonegg-20140114/Makefile.dave 2014-01-14 16:20:34.000000000 +1000
++++ dragonegg-20140114/Makefile 2014-01-14 16:21:38.000000000 +1000
+@@ -94,7 +94,7 @@ ifneq ($(GCC_MINOR), 5)
endif
endif
@@ -10,21 +10,22 @@ diff -up dragonegg.src/Makefile.dyn dragonegg.src/Makefile
LLVM_COMPONENTS=ipo scalaropts target
ifdef ENABLE_LLVM_PLUGINS
-@@ -134,8 +134,7 @@ $(TARGET_UTIL_OBJECTS): %.o : $(TOP_DIR)
+@@ -132,9 +132,7 @@ $(TARGET_UTIL_OBJECTS): %.o : $(TOP_DIR)
$(TARGET_UTIL): $(TARGET_UTIL_OBJECTS)
@echo Linking $@
-- $(QUIET)$(CXX) -o $@ $^ $(shell $(LLVM_CONFIG) --libs support) \
+- $(QUIET)$(CXX) -o $@ $^ \
+- $(shell $(LLVM_CONFIG) --libs support --system-libs) \
- $(LD_OPTIONS)
+ $(QUIET)$(CXX) -o $@ $^ $(LD_OPTIONS)
%.o : $(SRC_DIR)/%.cpp $(TARGET_UTIL)
@echo Compiling $*.cpp
-@@ -150,8 +149,6 @@ $(PLUGIN): $(PLUGIN_OBJECTS) $(TARGET_OB
+@@ -149,8 +147,6 @@ $(PLUGIN): $(PLUGIN_OBJECTS) $(TARGET_OB
@echo Linking $@
$(QUIET)$(CXX) -o $@ $(LOADABLE_MODULE_OPTIONS) $(CXXFLAGS) \
$(PLUGIN_OBJECTS) $(TARGET_OBJECT) \
-- $(shell $(LLVM_CONFIG) --libs $(LLVM_COMPONENTS) \
+- $(shell $(LLVM_CONFIG) --libs $(LLVM_COMPONENTS) --system-libs \
- $(shell $(TARGET_UTIL) -p)) \
$(LD_OPTIONS)
diff --git a/dragonegg.spec b/dragonegg.spec
index 45d5617..9f03c90 100644
--- a/dragonegg.spec
+++ b/dragonegg.spec
@@ -51,15 +51,15 @@
# Upstream bug: http://llvm.org/bugs/show_bug.cgi?id=16829
ExcludeArch: armv7hl
-#global prerel rc3
+%global prerel rc0
%global downloadurl http://llvm.org/%{?prerel:pre-}releases/%{version}%{?prerel:/%{prerel}}
%global gcc_plugins_dir %(gcc --print-file-name=plugin)
Name: dragonegg
-Version: 3.3
-Release: %{?prerel:0.}12%{?prerel:.}%{?prerel}%{?dist}
+Version: 3.4
+Release: %{?prerel:0.}1%{?prerel:.}%{?prerel}%{?dist}
Summary: GCC plugin to use LLVM optimizers and code generators
Group: Development/Languages
@@ -71,7 +71,9 @@ URL: http://dragonegg.llvm.org/
# dragonegg-source-version.tar.gz,
# dragonegg-version-source.tar.gz
# dragonegg-version.src.tar.gz
-Source0: %{downloadurl}/%{name}-%{version}%{?prerel}.src.tar.gz
+#Source0: %{downloadurl}/%{name}-%{version}%{?prerel}.src.tar.gz
+
+Source0: dragonegg-20140114.tar.xz
# As supplied, the DragonEgg Makefile uses llvm-config to get linker options,
# which try to link the static LLVM libraries. We want the shared library
@@ -83,6 +85,8 @@ Patch0: dragonegg-3.3rc2-dyn.patch
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=715424
Patch1: dragonegg-3.3-arm-target.patch
+Patch2: backend-build-fix.patch
+
BuildRequires: llvm-devel = %{version}
BuildRequires: llvm-libs = %{version}
BuildRequires: gcc-plugin-devel
@@ -99,9 +103,10 @@ DragonEgg is a GCC plugin that replaces GCC's optimizers and code generators
with those from the LLVM project.
%prep
-%setup -q -n %{name}-%{version}.src
+%setup -q -n %{name}-20140114
%patch0 -p1 -b .dyn
%patch1 -p1 -b .arm-target
+%patch2 -p1 -b .backend
%build
echo "gcc_vr = %{gcc_vr}"
@@ -120,6 +125,9 @@ install -m 755 dragonegg.so %{buildroot}%{gcc_plugins_dir}
%changelog
+* Tue Jan 14 2014 Dave Airlie <airlied at redhat.com> 3.4-0.1
+- rebase to latest git for llvm 3.4
+
* Tue Dec 31 2013 Eric Smith <spacewar at gmail.com> - 3.3-12
- Rebuild for gcc-4.8.2-7.
diff --git a/sources b/sources
index 9804550..6c9f172 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-797df8d1af8355b556e8b6060946a17e dragonegg-3.3.src.tar.gz
+2fcdc327eb99a7ad4719b4e1b34aa5d1 dragonegg-20140114.tar.xz
More information about the scm-commits
mailing list