summaryrefslogtreecommitdiff
path: root/packages/gcc/4.9.4
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2022-02-14 08:11:42 (GMT)
committerGitHub <noreply@github.com>2022-02-14 08:11:42 (GMT)
commit681aaef1f1ff39c341fdc529e0db2c14639a58d8 (patch)
treece98c2b3d9648db065d27add325370392a35d584 /packages/gcc/4.9.4
parentba680a3e5b8c62a7c1554e71f6d09903dac95a2f (diff)
parent86c2982568de1ad4d4cc12a65b19231331484405 (diff)
Merge pull request #1674 from stilor/master
Updates to make `ct-ng build-all` pass
Diffstat (limited to 'packages/gcc/4.9.4')
-rw-r--r--packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch8
-rw-r--r--packages/gcc/4.9.4/0034-c++17-build-failure.patch21
2 files changed, 27 insertions, 2 deletions
diff --git a/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch b/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch
index 398f904..26df26b 100644
--- a/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch
+++ b/packages/gcc/4.9.4/0033-fix-c6x-internal-compiler-error-and-multilib.patch
@@ -5,6 +5,12 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57295
Fix c6x mulitibs build for uclinux
Reported by: Dan Tejada <dan.tejada@cantada.com>
+---
+ gcc/config/c6x/c6x.md | 2 +-
+ gcc/config/c6x/predicates.md | 13 +++++++++++++
+ gcc/config/c6x/t-c6x-uclinux | 4 +++-
+ 3 files changed, 17 insertions(+), 2 deletions(-)
+
--- a/gcc/config/c6x/c6x.md
+++ b/gcc/config/c6x/c6x.md
@@ -775,7 +775,7 @@
@@ -16,7 +22,6 @@ Reported by: Dan Tejada <dan.tejada@cantada.com>
{
emit_insn (gen_movmisalign<mode>_store (operands[0], operands[1]));
DONE;
-
--- a/gcc/config/c6x/predicates.md
+++ b/gcc/config/c6x/predicates.md
@@ -224,3 +224,16 @@
@@ -36,7 +41,6 @@ Reported by: Dan Tejada <dan.tejada@cantada.com>
+ (if_then_else (match_test "reload_in_progress")
+ (match_test "strict_memory_address_p (mode, XEXP (op, 0))")
+ (match_test "memory_address_p (mode, XEXP (op, 0))")))))
-
--- a/gcc/config/c6x/t-c6x-uclinux
+++ b/gcc/config/c6x/t-c6x-uclinux
@@ -1,3 +1,5 @@
diff --git a/packages/gcc/4.9.4/0034-c++17-build-failure.patch b/packages/gcc/4.9.4/0034-c++17-build-failure.patch
new file mode 100644
index 0000000..f545c85
--- /dev/null
+++ b/packages/gcc/4.9.4/0034-c++17-build-failure.patch
@@ -0,0 +1,21 @@
+Fixes
+
+.../gcc/reload1.c:89:24: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17
+
+Fixed upstream in GCC6+ in d57c99458933.
+
+---
+ gcc/reload.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/gcc/reload.h
++++ b/gcc/reload.h
+@@ -166,7 +166,7 @@
+ value indicates the level of indirect addressing supported, e.g., two
+ means that (MEM (MEM (REG n))) is also valid if (REG n) does not get
+ a hard register. */
+- bool x_spill_indirect_levels;
++ unsigned char x_spill_indirect_levels;
+
+ /* True if caller-save has been reinitialized. */
+ bool x_caller_save_initialized_p;