Source-Changes-HG archive

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

[src/trunk]: src/external/gpl3/gdb/lib/libgdb PR toolchain/54820



details:   https://anonhg.NetBSD.org/src/rev/1afaee3d3f50
branches:  trunk
changeset: 931715:1afaee3d3f50
user:      rin <rin%NetBSD.org@localhost>
date:      Wed Apr 29 11:04:58 2020 +0000

description:
PR toolchain/54820
PR toolchain/54877

GCC 8.4 miscompiles dwarf2expr.c with -O2 or -O1 for earmv7hf{,eb}, which
results in crashes described in the PRs. No upstream fixes up to now. So,
let us disable optimization for this file.

Note that this affects only earmv7hf{,eb} as far as I can see. Crashes do
not occur neither for earmv6hf{,eb} nor earmv7{,eb}.

diffstat:

 external/gpl3/gdb/lib/libgdb/Makefile |  10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diffs (24 lines):

diff -r ee4d176663f6 -r 1afaee3d3f50 external/gpl3/gdb/lib/libgdb/Makefile
--- a/external/gpl3/gdb/lib/libgdb/Makefile     Wed Apr 29 09:54:43 2020 +0000
+++ b/external/gpl3/gdb/lib/libgdb/Makefile     Wed Apr 29 11:04:58 2020 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.21 2019/07/12 22:45:07 christos Exp $
+#      $NetBSD: Makefile,v 1.22 2020/04/29 11:04:58 rin Exp $
 
 NOCTF=
 HOSTPROG_CXX=   1
@@ -58,6 +58,14 @@
 COPTS.dwarf2-frame.c+=-O1
 .endif
 
+.if defined(HAVE_GCC) && ${HAVE_GCC} >= 8 && ${ACTIVE_CC} == "gcc"
+.if !empty(MACHINE_ARCH:Mearmv7hf*)
+# GCC 8.4 miscompiles this with -O2 or -O1 for earmv7hf{,eb}.
+# Neither earmv6hf{,eb} nor earmv7{,eb} are affected.
+COPTS.dwarf2expr.c+=-O0
+.endif
+.endif
+
 # These are generated by implicit rules and are not easy to generate
 CLEANDIRFILES+= \
        ada-exp.c ada-lex.c \



Home | Main Index | Thread Index | Old Index