[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