Source-Changes-HG archive

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

[src/trunk]: src/external/gpl3/gcc Apply a fix, extracted from the UCB RISC-V...



details:   https://anonhg.NetBSD.org/src/rev/206327353967
branches:  trunk
changeset: 335039:206327353967
user:      dennis <dennis%NetBSD.org@localhost>
date:      Mon Dec 22 21:15:48 2014 +0000

description:
Apply a fix, extracted from the UCB RISC-V gcc sources, for the (known)
problems with compiling atomics for the riscv64 target with gcc.  Remove
the now-unneeded workarounds for the 2 files in libasan that were formerly
failing to compile with the optimizer turned on.

diffstat:

 external/gpl3/gcc/dist/gcc/config/riscv/sync.md |  2 +-
 external/gpl3/gcc/lib/libasan/Makefile          |  6 ------
 2 files changed, 1 insertions(+), 7 deletions(-)

diffs (26 lines):

diff -r 2ac20b2bef22 -r 206327353967 external/gpl3/gcc/dist/gcc/config/riscv/sync.md
--- a/external/gpl3/gcc/dist/gcc/config/riscv/sync.md   Mon Dec 22 18:09:20 2014 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/riscv/sync.md   Mon Dec 22 21:15:48 2014 +0000
@@ -166,7 +166,7 @@
   rtx result = operands[0];
   rtx mem = operands[1];
   rtx model = operands[2];
-  rtx addr = XEXP (mem, 0);
+  rtx addr = force_reg (Pmode, XEXP (mem, 0));
 
   rtx aligned_addr = gen_reg_rtx (Pmode);
   emit_move_insn (aligned_addr, gen_rtx_AND (Pmode, addr, GEN_INT (-4)));
diff -r 2ac20b2bef22 -r 206327353967 external/gpl3/gcc/lib/libasan/Makefile
--- a/external/gpl3/gcc/lib/libasan/Makefile    Mon Dec 22 18:09:20 2014 +0000
+++ b/external/gpl3/gcc/lib/libasan/Makefile    Mon Dec 22 21:15:48 2014 +0000
@@ -56,10 +56,4 @@
 LIBDPLIBS+=    stdc++ ${.CURDIR}/../libstdc++-v3
 LIBDPLIBS+=    pthread ${.CURDIR}/../../../../../lib/libpthread
 
-# Work around riscv compiler bugs in (at least) gcc 4.8.3
-.if ${MACHINE_ARCH} == "riscv64"
-COPTS.asan_allocator2.cc += -O0
-COPTS.sanitizer_netbsd.cc += -O0
-.endif
-
 .include <bsd.lib.mk>



Home | Main Index | Thread Index | Old Index