Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/usr.bin/xlint/lint1 GCC git commit 91f66e78cc141da77ff9e0e3c...



details:   https://anonhg.NetBSD.org/src/rev/83e3879a5d7b
branches:  trunk
changeset: 1022118:83e3879a5d7b
user:      hgutch <hgutch%NetBSD.org@localhost>
date:      Mon Jul 05 10:34:25 2021 +0000

description:
GCC git commit 91f66e78cc141da77ff9e0e3c8519e1af3f26c07[1] introduced
a regression in sh.  In addition to the intended change (based on the
commit message), an apparently unintended change was made, inverting a
comparison.  This broke sh builds and our workaround (so far) was to
compile xlint/lint1 with -O0.

Revert the comparison to what it was before and remove the -O0 hack
from xlint/lint1.

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=91f66e78cc141da77ff9e0e3c8519e1af3f26c07

diffstat:

 external/gpl3/gcc.old/dist/gcc/config/sh/sh.md |  2 +-
 external/gpl3/gcc/dist/gcc/config/sh/sh.md     |  2 +-
 usr.bin/xlint/lint1/Makefile                   |  8 +-------
 3 files changed, 3 insertions(+), 9 deletions(-)

diffs (46 lines):

diff -r ebe4d2c2987a -r 83e3879a5d7b external/gpl3/gcc.old/dist/gcc/config/sh/sh.md
--- a/external/gpl3/gcc.old/dist/gcc/config/sh/sh.md    Mon Jul 05 10:00:22 2021 +0000
+++ b/external/gpl3/gcc.old/dist/gcc/config/sh/sh.md    Mon Jul 05 10:34:25 2021 +0000
@@ -842,7 +842,7 @@
   if (SUBREG_P (reg))
     reg = SUBREG_REG (reg);
   gcc_assert (REG_P (reg));
-  if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) != NULL_RTX)
+  if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) == NULL_RTX)
     FAIL;
 
   /* FIXME: Maybe also search the predecessor basic blocks to catch
diff -r ebe4d2c2987a -r 83e3879a5d7b external/gpl3/gcc/dist/gcc/config/sh/sh.md
--- a/external/gpl3/gcc/dist/gcc/config/sh/sh.md        Mon Jul 05 10:00:22 2021 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/sh/sh.md        Mon Jul 05 10:34:25 2021 +0000
@@ -842,7 +842,7 @@
   if (SUBREG_P (reg))
     reg = SUBREG_REG (reg);
   gcc_assert (REG_P (reg));
-  if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) != NULL_RTX)
+  if (find_regno_note (curr_insn, REG_DEAD, REGNO (reg)) == NULL_RTX)
     FAIL;
 
   /* FIXME: Maybe also search the predecessor basic blocks to catch
diff -r ebe4d2c2987a -r 83e3879a5d7b usr.bin/xlint/lint1/Makefile
--- a/usr.bin/xlint/lint1/Makefile      Mon Jul 05 10:00:22 2021 +0000
+++ b/usr.bin/xlint/lint1/Makefile      Mon Jul 05 10:34:25 2021 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.77 2021/07/04 09:13:59 rillig Exp $
+#      $NetBSD: Makefile,v 1.78 2021/07/05 10:34:26 hgutch Exp $
 
 .include <bsd.own.mk>
 
@@ -26,12 +26,6 @@
 
 COPTS.err.c+=  ${${ACTIVE_CC} == "clang":? -Wno-format-nonliteral :}
 
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101177
-.if ${HAVE_GCC:U0} >= 9 &&     \
-       (${MACHINE_ARCH} == "sh3el" || ${MACHINE_ARCH} == "sh3eb")
-COPTS.lex.c+=  -O0
-.endif
-
 BINDIR=                /usr/libexec
 
 CLEANFILES+=   ${MAN}



Home | Main Index | Thread Index | Old Index