Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/mips/mips - use correct address to fetch an instruc...



details:   https://anonhg.NetBSD.org/src/rev/b313c0ed2655
branches:  trunk
changeset: 762634:b313c0ed2655
user:      tsutsui <tsutsui%NetBSD.org@localhost>
date:      Thu Feb 24 16:21:50 2011 +0000

description:
- use correct address to fetch an instruction that causes FP trap
  not in BDslot (broken since the first mips64 partial merge)
- also fix leftover confusing comment that should have been removed
  when rev 1.82 was committed back in 1999.

Previously the most ieeefp tests dump core:
---
tp-start: t_except, 6
tc-start: masked_double
tc-end: masked_double, failed, Test program received signal 4 (core dumped)
tc-start: masked_float
tc-end: masked_float, failed, Test program received signal 4 (core dumped)
tc-start: masked_long_double
tc-end: masked_long_double, failed, Test program received signal 4 (core dumped)
tc-start: unmasked_double
tc-end: unmasked_double, failed, Test program received signal 4 (core dumped)
tc-start: unmasked_float
tc-end: unmasked_float, failed, Test program received signal 4 (core dumped)
tc-start: unmasked_long_double
tc-end: unmasked_long_double, failed, Test program received signal 4 (core dumped)
tp-end: t_except
 :
tp-start: t_subnormal, 2
tc-start: test_double
tc-end: test_double, failed, Test program received signal 4 (core dumped)
tc-start: test_float
tc-end: test_float, failed, Test program received signal 4 (core dumped)
tp-end: t_subnormal
---

Now they fail differently:
---
tp-start: t_except, 6
tc-start: masked_double
tc-end: masked_double, failed, Test program received signal 4 (core dumped)
tc-start: masked_float
tc-end: masked_float, passed
tc-start: masked_long_double
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:227: ex1 & t->mask != t->mask
tc-end: masked_long_double, failed, 1 checks failed; see output for more details
tc-start: unmasked_double
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:269: sicode != t->sicode
tc-end: unmasked_double, failed, 1 checks failed; see output for more details
tc-start: unmasked_float
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:269: sicode != t->sicode
tc-end: unmasked_float, failed, 1 checks failed; see output for more details
tc-start: unmasked_long_double
tc-se:*** Check failed: /usr/src/tests/lib/libc/ieeefp/t_except.c:269: sicode != t->sicode
tc-end: unmasked_long_double, failed, 1 checks failed; see output for more details
tp-end: t_except
 :
tp-start: t_subnormal, 2
tc-start: test_double
tc-end: test_double, failed, Test program received signal 4 (core dumped)
tc-start: test_float
tc-end: test_float, failed, Test program received signal 4 (core dumped)
tp-end: t_subnormal
---

diffstat:

 sys/arch/mips/mips/locore.S |  7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diffs (23 lines):

diff -r 265d345d95d9 -r b313c0ed2655 sys/arch/mips/mips/locore.S
--- a/sys/arch/mips/mips/locore.S       Thu Feb 24 15:52:23 2011 +0000
+++ b/sys/arch/mips/mips/locore.S       Thu Feb 24 16:21:50 2011 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.180 2011/02/24 15:52:23 tsutsui Exp $     */
+/*     $NetBSD: locore.S,v 1.181 2011/02/24 16:21:50 tsutsui Exp $     */
 
 /*
  * Copyright (c) 1992, 1993
@@ -635,11 +635,10 @@
        b               2f
         INT_L          a0, 4(a0)               # a0 = coproc instruction
 /*
- * This is not in the branch delay slot so calculate the resulting
- * PC (epc + 4) into v0 and continue to MachEmulateFP().
+ * This is not in the branch delay slot.
  */
 1:
-       INT_L           a0, 4(a0)               # a0 = coproc instruction
+       INT_L           a0, 0(a0)               # a0 = coproc instruction
 2:
 
 /*



Home | Main Index | Thread Index | Old Index