From: Ross Burton Date: Thu, 9 Nov 2017 21:41:44 +0000 (+0000) Subject: Revert "gcc: fix miscompilation on mips64" X-Git-Tag: uninative-1.8~1121 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=3937c9ed534398ede1576abff8934a67a4017343;p=openembedded-core.git Revert "gcc: fix miscompilation on mips64" This reverts commit b656fd9267b1f36d46ca20a1c0bcfaedbf7df438. --- diff --git a/meta/recipes-devtools/gcc/gcc-7.2.inc b/meta/recipes-devtools/gcc/gcc-7.2.inc index 02b8e03482..a2cb288ba0 100644 --- a/meta/recipes-devtools/gcc/gcc-7.2.inc +++ b/meta/recipes-devtools/gcc/gcc-7.2.inc @@ -75,7 +75,6 @@ SRC_URI = "\ file://0048-gcc-Enable-static-PIE.patch \ file://fix-segmentation-fault-precompiled-hdr.patch \ file://0050-RISC-V-Handle-non-legitimate-address-in-riscv_legiti.patch \ - file://fix-miscompilation-for-O1-on-mips64el.patch \ ${BACKPORTS} \ " BACKPORTS = "\ diff --git a/meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch b/meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch deleted file mode 100644 index 28020b0e3b..0000000000 --- a/meta/recipes-devtools/gcc/gcc-7.2/fix-miscompilation-for-O1-on-mips64el.patch +++ /dev/null @@ -1,35 +0,0 @@ -This patch comes from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81803 - -Author: mpf - -This patch hasn't been merged into gcc. But it does solve the problem of -strange behaviour of `systemd status ' on qemumips64. - -Upstream-Status: Pending [Taken from gcc bugzilla's attachment] - -Signed-off-by: Chen Qi ---- - gcc/lra-constraints.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c -index c8bc9b9a66f..6d319662b09 100644 ---- a/gcc/lra-constraints.c -+++ b/gcc/lra-constraints.c -@@ -4235,7 +4235,12 @@ curr_insn_transform (bool check_only_p) - && (goal_alt[i] == NO_REGS - || (simplify_subreg_regno - (ira_class_hard_regs[goal_alt[i]][0], -- GET_MODE (reg), byte, mode) >= 0))))) -+ GET_MODE (reg), byte, mode) >= 0)))) -+ || (type != OP_IN -+ && GET_MODE_PRECISION (mode) -+ < GET_MODE_PRECISION (GET_MODE (reg)) -+ && GET_MODE_SIZE (GET_MODE (reg)) <= UNITS_PER_WORD -+ && WORD_REGISTER_OPERATIONS)) - { - /* An OP_INOUT is required when reloading a subreg of a - mode wider than a word to ensure that data beyond the --- -2.13.0 -