Source-Changes-HG archive

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

[src/netbsd-6]: src Pull up revisions:



details:   https://anonhg.NetBSD.org/src/rev/02bed9daec3e
branches:  netbsd-6
changeset: 775515:02bed9daec3e
user:      jdc <jdc%NetBSD.org@localhost>
date:      Sat Nov 24 19:02:09 2012 +0000

description:
Pull up revisions:
  src/lib/libc/softfloat/Makefile.inc         1.11-1.12 via patch
  src/doc/HACKS                               1.124 via patch
(requested by msaitoh in ticket #703).

For arm, add -fno-tree-vrp to COPTS when compiling softfloat.c.
Without -fno-tree-vrp, -INF + -INF returns 0 by adddf3.
Fixes PR#46953.

diffstat:

 doc/HACKS                       |  20 +++++++++++++++++++-
 lib/libc/softfloat/Makefile.inc |  11 +++++++----
 2 files changed, 26 insertions(+), 5 deletions(-)

diffs (59 lines):

diff -r 367ca8218bda -r 02bed9daec3e doc/HACKS
--- a/doc/HACKS Sat Nov 24 18:15:22 2012 +0000
+++ b/doc/HACKS Sat Nov 24 19:02:09 2012 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: HACKS,v 1.122.2.1 2012/03/05 20:59:25 sborrill Exp $
+# $NetBSD: HACKS,v 1.122.2.2 2012/11/24 19:02:10 jdc Exp $
 #
 # This file is intended to document workarounds for currently unsolved
 # (mostly) compiler bugs.
@@ -554,6 +554,24 @@
                http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48863#c4
        kcah
 
+       hack    gcc-4.5 arm without -fno-tree-vrp generate broken code
+       cdate   Wed Nov 14 13:02:02 JST 2012
+       who     msaitoh
+       file    lib/libc/softfloat/Makefile.inc
+       pr      46953
+       regress src/tests/lib/libm/t_cbrt
+       regress src/tests/lib/libm/t_ceil
+       regress src/tests/lib/libm/t_exp
+       regress src/tests/lib/libm/t_log
+       regress src/tests/lib/libm/t_scalbn
+       regress src/tests/lib/libm/t_sinh
+       regress src/tests/lib/libm/t_sqrt
+       descr   Gcc has a bug in tree optimization. For adddf3,
+               -INF + -INF returns 0 without -fno-tree-vrp.
+               Debugging with -fdump-tree-all shows that
+               softfloat.c.021t.cleanup_cfg is ok but softfloat.c.023t.ssa
+               is broken.
+       kcah
 
 port   sh3
 
diff -r 367ca8218bda -r 02bed9daec3e lib/libc/softfloat/Makefile.inc
--- a/lib/libc/softfloat/Makefile.inc   Sat Nov 24 18:15:22 2012 +0000
+++ b/lib/libc/softfloat/Makefile.inc   Sat Nov 24 19:02:09 2012 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $
+#      $NetBSD: Makefile.inc,v 1.10.4.1 2012/11/24 19:02:09 jdc Exp $
 
 SOFTFLOAT_BITS?=64
 .PATH:         ${ARCHDIR}/softfloat \
@@ -20,9 +20,12 @@
 SRCS+=         ${SRCS.softfloat}
 
 # XXX
-.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45 && \
-    (${MACHINE_CPU} == "arm" || \
-     ${MACHINE_CPU} == "mips" || \
+.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
+.if (${MACHINE_CPU} == "arm")
+# See doc/HACKS for more information.
+COPTS.softfloat.c+=    -Wno-enum-compare -fno-tree-vrp
+.elif (${MACHINE_CPU} == "mips" || \
      ${MACHINE_CPU} == "sh3")
 COPTS.softfloat.c+=    -Wno-enum-compare
 .endif
+.endif



Home | Main Index | Thread Index | Old Index