[dragonegg/epel7] Add missing patches.
Eric Smith
brouhaha at fedoraproject.org
Sat Aug 30 06:51:18 UTC 2014
commit ea001cb39ce7bff82d7f408e5b61c8bdee674713
Author: Eric Smith <eric at localhost.localdomain>
Date: Sat Aug 30 00:51:18 2014 -0600
Add missing patches.
dragonegg-3.3-arm-target.patch | 87 ++++++++++++++++++++++++++++++
dragonegg-3.4-latest-gcc-build-fix.patch | 19 +++++++
2 files changed, 106 insertions(+), 0 deletions(-)
---
diff --git a/dragonegg-3.3-arm-target.patch b/dragonegg-3.3-arm-target.patch
new file mode 100644
index 0000000..85cc36e
--- /dev/null
+++ b/dragonegg-3.3-arm-target.patch
@@ -0,0 +1,87 @@
+--- dragonegg-20140114/include/arm/dragonegg/Target.h 2014-01-13 06:00:27.000000000 -0500
++++ dragonegg-20140114.new/include/arm/dragonegg/Target.h 2014-02-02 13:23:55.192714621 -0500
+@@ -31,7 +31,7 @@
+ (isVoid || hasArgList). */
+
+ /* from TARGET_AAPCS_BASED */
+-#define DEFAULT_TARGET_AAPCS_BASED(ARM_DEFAULT_ABI != ARM_ABI_APCS && \
++#define DEFAULT_TARGET_AAPCS_BASED (ARM_DEFAULT_ABI != ARM_ABI_APCS && \
+ ARM_DEFAULT_ABI != ARM_ABI_ATPCS)
+
+ #define TARGET_ADJUST_LLVM_CC(CC, type) \
+@@ -40,38 +40,38 @@
+ if (TARGET_VFP && TARGET_HARD_FLOAT_ABI && \
+ ((TYPE_ARG_TYPES(type) == 0) || \
+ (TREE_VALUE(tree_last(TYPE_ARG_TYPES(type))) == void_type_node))) \
+- CC = CallingConv::ARM_AAPCS_VFP; \
++ CC = llvm::CallingConv::ARM_AAPCS_VFP; \
+ else if (!DEFAULT_TARGET_AAPCS_BASED) \
+- CC = CallingConv::ARM_AAPCS; \
++ CC = llvm::CallingConv::ARM_AAPCS; \
+ } else if (DEFAULT_TARGET_AAPCS_BASED) { \
+- CC = CallingConv::ARM_APCS; \
++ CC = llvm::CallingConv::ARM_APCS; \
+ } \
+ }
+
+ #ifdef DRAGONEGG_ABI_H
+
+ extern bool llvm_arm_should_pass_aggregate_in_mixed_regs(
+- tree_node *, Type *Ty, CallingConv::ID, std::vector<Type *> &);
++ tree_node *, llvm::Type *Ty, llvm::CallingConv::ID, std::vector<llvm::Type *> &);
+
+ #define LLVM_SHOULD_PASS_AGGREGATE_IN_MIXED_REGS(T, TY, CC, E) \
+ llvm_arm_should_pass_aggregate_in_mixed_regs((T), (TY), (CC), (E))
+
+ struct DefaultABIClient;
+ extern bool llvm_arm_try_pass_aggregate_custom(
+- tree_node *, std::vector<Type *> &, CallingConv::ID CC,
++ tree_node *, std::vector<llvm::Type *> &, llvm::CallingConv::ID CC,
+ struct DefaultABIClient *);
+
+ #define LLVM_TRY_PASS_AGGREGATE_CUSTOM(T, E, CC, C) \
+ llvm_arm_try_pass_aggregate_custom((T), (E), (CC), (C))
+
+ extern bool llvm_arm_aggregate_partially_passed_in_regs(
+- std::vector<Type *> &, std::vector<Type *> &, CallingConv::ID CC);
++ std::vector<llvm::Type *> &, std::vector<llvm::Type *> &, llvm::CallingConv::ID CC);
+
+ #define LLVM_AGGREGATE_PARTIALLY_PASSED_IN_REGS(E, SE, ISR, CC) \
+ llvm_arm_aggregate_partially_passed_in_regs((E), (SE), (CC))
+
+-extern Type *
+-llvm_arm_aggr_type_for_struct_return(tree_node *type, CallingConv::ID CC);
++extern llvm::Type *
++llvm_arm_aggr_type_for_struct_return(tree_node *type, llvm::CallingConv::ID CC);
+
+ /* LLVM_AGGR_TYPE_FOR_STRUCT_RETURN - Return LLVM Type if X can be
+ returned as an aggregate, otherwise return NULL. */
+@@ -79,7 +79,7 @@
+ llvm_arm_aggr_type_for_struct_return((X), (CC))
+
+ extern void llvm_arm_extract_multiple_return_value(
+- Value *Src, Value *Dest, bool isVolatile, LLVMBuilder &B);
++ llvm::Value *Src, llvm::Value *Dest, bool isVolatile, LLVMBuilder &B);
+
+ /* LLVM_EXTRACT_MULTIPLE_RETURN_VALUE - Extract multiple return value from
+ SRC and assign it to DEST. */
+@@ -87,7 +87,7 @@
+ llvm_arm_extract_multiple_return_value((Src), (Dest), (V), (B))
+
+ extern bool llvm_arm_should_pass_or_return_aggregate_in_regs(
+- tree_node *TreeType, CallingConv::ID CC);
++ tree_node *TreeType, llvm::CallingConv::ID CC);
+
+ /* LLVM_SHOULD_NOT_USE_SHADOW_RETURN = Return true is the given type should
+ not be returned via a shadow parameter with the given calling conventions. */
+--- dragonegg-20140114/src/arm/Target.cpp 2014-01-13 06:00:27.000000000 -0500
++++ dragonegg-20140114.new/src/arm/Target.cpp 2014-02-02 13:27:17.567777336 -0500
+@@ -55,6 +55,8 @@
+ // Trees header.
+ #include "dragonegg/Trees.h"
+
++using namespace llvm;
++
+ static LLVMContext &Context = getGlobalContext();
+
+ // "Fundamental Data Types" according to the AAPCS spec. These are used
diff --git a/dragonegg-3.4-latest-gcc-build-fix.patch b/dragonegg-3.4-latest-gcc-build-fix.patch
new file mode 100644
index 0000000..3e36dd2
--- /dev/null
+++ b/dragonegg-3.4-latest-gcc-build-fix.patch
@@ -0,0 +1,19 @@
+diff -Nur dragonegg-20140114/src/x86/ABIHack.inc dragonegg-20140114.new/src/x86/ABIHack.inc
+--- dragonegg-20140114/src/x86/ABIHack.inc 2014-01-13 06:00:27.000000000 -0500
++++ dragonegg-20140114.new/src/x86/ABIHack.inc 2014-02-02 14:17:55.520313440 -0500
+@@ -1631,7 +1631,6 @@
+ tree (*ix86_veclib_handler)(enum built_in_function, tree, tree) = NULL;
+ static tree ix86_veclibabi_svml (enum built_in_function, tree, tree);
+ static tree ix86_veclibabi_acml (enum built_in_function, tree, tree);
+-#endif
+
+ /* Processor target table, indexed by processor number */
+ struct ptt
+@@ -1689,6 +1688,7 @@
+ "amdfam10"
+ };
+
++#endif
+
+ /* Return the "natural" mode for TYPE. In most cases, this is just TYPE_MODE.
+ But in the case of vector types, it is some vector mode.
More information about the scm-commits
mailing list