From 4c6604e730ee786709e8c39ab9e54eec06990e49 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 1 Jan 2022 16:23:19 -0800 Subject: Remove gcc-oracle-4.8-44.0.5 GCC 4.8 and its prerequisites have been removed by 04dce680, 41d4583a and e4221734; as a result, 4.8-based version of gcc-oracle became unbuildable (no valid versions for the prerequisites). Update the samples to use 4.9.4; which however fails to build on a modern host GCC. Build fix backported to gcc-4.9 and gcc-5 versions. Fix binutils-oracle build with host GCC11. Signed-off-by: Alexey Neyman --- packages/gcc/4.9.4/0034-c++17-build-failure.patch | 17 +++++++++++++++++ packages/gcc/5.5.0/0035-c++17-build-failure.patch | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 packages/gcc/4.9.4/0034-c++17-build-failure.patch create mode 100644 packages/gcc/5.5.0/0035-c++17-build-failure.patch (limited to 'packages/gcc') 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 00000000..cc56acab --- /dev/null +++ b/packages/gcc/4.9.4/0034-c++17-build-failure.patch @@ -0,0 +1,17 @@ +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-4.9.4/gcc/reload.h 2022-01-01 15:51:43.293254281 -0800 ++++ gcc-4.9.4/gcc/reload.h 2022-01-01 15:51:58.437424873 -0800 +@@ -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; diff --git a/packages/gcc/5.5.0/0035-c++17-build-failure.patch b/packages/gcc/5.5.0/0035-c++17-build-failure.patch new file mode 100644 index 00000000..a99af49e --- /dev/null +++ b/packages/gcc/5.5.0/0035-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 +@@ -168,7 +168,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; -- cgit v1.2.3