Module Name: src Committed By: jdc Date: Sat Nov 24 19:02:14 UTC 2012
Modified Files: src/doc [netbsd-6-0]: HACKS src/lib/libc/softfloat [netbsd-6-0]: Makefile.inc Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.122.2.1 -r1.122.2.1.4.1 src/doc/HACKS cvs rdiff -u -r1.10 -r1.10.10.1 src/lib/libc/softfloat/Makefile.inc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/doc/HACKS diff -u src/doc/HACKS:1.122.2.1 src/doc/HACKS:1.122.2.1.4.1 --- src/doc/HACKS:1.122.2.1 Mon Mar 5 20:59:25 2012 +++ src/doc/HACKS Sat Nov 24 19:02:14 2012 @@ -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.1.4.1 2012/11/24 19:02:14 jdc Exp $ # # This file is intended to document workarounds for currently unsolved # (mostly) compiler bugs. @@ -554,6 +554,24 @@ port arm 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 Index: src/lib/libc/softfloat/Makefile.inc diff -u src/lib/libc/softfloat/Makefile.inc:1.10 src/lib/libc/softfloat/Makefile.inc:1.10.10.1 --- src/lib/libc/softfloat/Makefile.inc:1.10 Mon Jul 4 02:53:15 2011 +++ src/lib/libc/softfloat/Makefile.inc Sat Nov 24 19:02:14 2012 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.inc,v 1.10 2011/07/04 02:53:15 mrg Exp $ +# $NetBSD: Makefile.inc,v 1.10.10.1 2012/11/24 19:02:14 jdc Exp $ SOFTFLOAT_BITS?=64 .PATH: ${ARCHDIR}/softfloat \ @@ -20,9 +20,12 @@ SRCS.softfloat+=eqsf2.c nesf2.c gtsf2.c 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