You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(11) |
|
2
|
3
|
4
|
5
(4) |
6
(21) |
7
(14) |
8
(14) |
|
9
(16) |
10
(19) |
11
(18) |
12
(17) |
13
(14) |
14
(21) |
15
(15) |
|
16
(10) |
17
(7) |
18
(15) |
19
(20) |
20
(20) |
21
(14) |
22
(7) |
|
23
(2) |
24
(8) |
25
(15) |
26
(11) |
27
(6) |
28
(10) |
|
|
From: Rich C. <rc...@wi...> - 2014-02-26 04:05:30
|
valgrind revision: 13839 VEX revision: 2825 C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1) Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1 C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537) uname -mrs: Linux 3.7.9-1.1-desktop x86_64 Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t). Nightly build on ultra ( gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] Linux 3.7.9-1.1-desktop x86_64 ) Started at 2014-02-25 21:30:01 CST Ended at 2014-02-25 22:05:20 CST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 666 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-25 21:48:13.363944177 -0600 +++ mssnapshot.stderrB.out 2014-02-25 21:54:29.323354774 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-25 21:31:44.514768004 -0600 +++ mssnapshot.stderrB.out 2014-02-25 21:36:52.467113947 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue |
|
From: Rich C. <rc...@wi...> - 2014-02-26 03:26:51
|
valgrind revision: 13839
VEX revision: 2825
C compiler: gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
GDB: GNU gdb (GDB; openSUSE Factory) 7.6.50.20130731-cvs
Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18 (git )
uname -mrs: Linux 3.11.4-3-desktop x86_64
Vendor version: Welcome to openSUSE 13.1 "Bottle" Beta 1 - Kernel %r (%t).
Nightly build on rodan ( Linux 3.11.4-3-desktop x86_64 )
Started at 2014-02-25 19:22:01 CST
Ended at 2014-02-25 21:26:35 CST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 588 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/dw4 (stderr)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-25 20:25:17.780956153 -0600
+++ hackedbz2.stderr.out 2014-02-25 21:25:18.258723326 -0600
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-new/memcheck/tests/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-02-25 20:25:44.462265669 -0600
+++ dw4.stderr.out 2014-02-25 20:43:50.868868477 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-new/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-02-25 20:25:43.865258743 -0600
+++ err_disable3.stderr.out 2014-02-25 20:43:57.530945710 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-02-25 20:25:46.242286318 -0600
+++ err_disable4.stderr.out 2014-02-25 20:44:01.743994584 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-02-25 20:25:43.867258766 -0600
+++ threadname.stderr.out 2014-02-25 20:49:44.742973577 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-02-25 20:25:46.790292675 -0600
+++ threadname_xml.stderr.out 2014-02-25 20:49:46.740996755 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-25 19:22:18.240111768 -0600
+++ hackedbz2.stderr.out 2014-02-25 20:22:20.616900970 -0600
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-old/memcheck/tests/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-02-25 19:23:04.323646358 -0600
+++ dw4.stderr.out 2014-02-25 19:40:59.337117001 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-old/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-02-25 19:23:02.741628006 -0600
+++ err_disable3.stderr.out 2014-02-25 19:41:05.884192950 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-02-25 19:23:04.804651938 -0600
+++ err_disable4.stderr.out 2014-02-25 19:41:10.754249445 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-02-25 19:23:02.743628029 -0600
+++ threadname.stderr.out 2014-02-25 19:46:52.754216799 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-02-25 19:23:05.799663480 -0600
+++ threadname_xml.stderr.out 2014-02-25 19:46:54.747239919 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Rich C. <rc...@wi...> - 2014-02-25 23:31:20
|
valgrind revision: 13839
VEX revision: 2825
C compiler: gcc (SUSE Linux) 4.8.1 20130909 [gcc-4_8-branch revision 202388]
GDB: GNU gdb (GDB; openSUSE Factory) 7.6.50.20130731-cvs
Assembler: GNU assembler (GNU Binutils; openSUSE Factory) 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18 (git )
uname -mrs: Linux 3.11.4-3-desktop x86_64
Vendor version: Welcome to openSUSE 13.1 "Bottle" Beta 1 - Kernel %r (%t).
Nightly build on rodan ( Linux 3.11.4-3-desktop x86_64 )
Started at 2014-02-25 15:23:11 CST
Ended at 2014-02-25 17:31:08 CST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 588 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
memcheck/tests/dw4 (stderr)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
exp-sgcheck/tests/hackedbz2 (stderr)
=================================================
./valgrind-new/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-25 16:28:05.755858218 -0600
+++ hackedbz2.stderr.out 2014-02-25 17:29:46.706790924 -0600
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-new/memcheck/tests/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-02-25 16:28:46.354329178 -0600
+++ dw4.stderr.out 2014-02-25 16:47:56.969676837 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-new/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-02-25 16:28:35.834207140 -0600
+++ err_disable3.stderr.out 2014-02-25 16:48:03.642754248 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-02-25 16:28:46.265328146 -0600
+++ err_disable4.stderr.out 2014-02-25 16:48:09.542822692 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-02-25 16:28:46.360329248 -0600
+++ threadname.stderr.out 2014-02-25 16:53:55.470835563 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-02-25 16:28:35.831207105 -0600
+++ threadname_xml.stderr.out 2014-02-25 16:53:57.502859135 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/exp-sgcheck/tests/hackedbz2.stderr.diff-glibc28-amd64
=================================================
--- hackedbz2.stderr.exp-glibc28-amd64 2014-02-25 15:24:09.429355093 -0600
+++ hackedbz2.stderr.out 2014-02-25 16:25:16.423893890 -0600
@@ -1,7 +1,6 @@
Invalid read of size 1
- at 0x........: vex_strlen (hackedbz2.c:1006)
- by 0x........: add_to_myprintf_buf (hackedbz2.c:1284)
+ at 0x........: add_to_myprintf_buf (hackedbz2.c:1006)
by 0x........: vex_printf (hackedbz2.c:1155)
by 0x........: BZ2_compressBlock (hackedbz2.c:4039)
by 0x........: handle_compress (hackedbz2.c:4761)
=================================================
./valgrind-old/memcheck/tests/dw4.stderr.diff
=================================================
--- dw4.stderr.exp 2014-02-25 15:23:29.675893935 -0600
+++ dw4.stderr.out 2014-02-25 15:43:35.377880624 -0600
@@ -1,3 +1,11 @@
+
+parse_type_DIE: confused by:
+ <1><492>: DW_TAG_structure_type
+ DW_AT_signature : 8 byte signature: 9b d0 55 13 bb 1e e9 37
+
+WARNING: Serious error when reading debug info
+When reading debug info from /usr/local/src/valgrind/nightly/valgrind-old/memcheck/tests/dw4:
+parse_type_DIE: confused by the above DIE
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:49)
@@ -8,12 +16,10 @@
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:51)
- Location 0x........ is 0 bytes inside S2[0].i,
- a global variable declared at dw4.c:42
+ Address 0x........ is 4 bytes inside data symbol "S2"
Uninitialised byte(s) found during client check request
at 0x........: croak (dw4.c:27)
by 0x........: main (dw4.c:52)
- Location 0x........ is 0 bytes inside local.i,
- declared at dw4.c:46, in frame #1 of thread 1
+ Address 0x........ is on thread 1's stack
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-02-25 15:23:28.738883065 -0600
+++ err_disable3.stderr.out 2014-02-25 15:43:42.137959044 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-02-25 15:23:31.084910280 -0600
+++ err_disable4.stderr.out 2014-02-25 15:43:46.337007755 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-02-25 15:23:32.709929131 -0600
+++ threadname.stderr.out 2014-02-25 15:49:30.989005874 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:53)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:53)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:38)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:26)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-02-25 15:23:28.003874539 -0600
+++ threadname_xml.stderr.out 2014-02-25 15:49:33.020029435 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Timur I. <tim...@go...> - 2014-02-25 18:21:22
|
Valgrind is still going to be single threaded, right? 25 февр. 2014 г. 22:10 пользователь "Denis Steckelmacher" < ste...@ya...> написал: > On 02/25/2014 04:50 PM, John Criswell wrote: > >> >> I think a more interesting idea would be to use LLVM to perform >> instrumentation and then to use Valgrind to instrument third-party >> libraries linked into the program. >> >> What I'm imagining is this: Let's say you instrument a program with >> SAFECode or Asan to find memory safety errors. When you run the program >> under Valgrind, the portion of the code instrumented by SAFECode or Asan >> runs natively without dynamic binary instrumentation because it's >> already been instrumented. When the program calls uninstrumented code >> (e.g., code in a dynamic library), Valgrind starts dynamic binary >> instrumentation to do instrumentation. >> >> A really neat thing you could do with this is to share run-time data >> structures between the LLVM and Valgrind instrumentation. For example, >> Valgrind could use SAFECode's meta-data on object allocations and >> vice-versa. >> >> > Someone proposed to cache the results of a JIT compilation. Caching LLVM > bitcode is easy (and the LLVM optimizations operate on bitcode, so they > don't need to be re-run on bitcode reload), and may be a good way to fasten > Valgrind. Caching native binary code is more difficult and would only be > useful if LLVM's codegen is slow (I think that the codegen can be > configured to be fast, for instance by using a simpler register allocator). > > If every .so is cached in a separate bitcode file, loading an application > would only require the generation of bitcode for the application itself, > not the libraries it uses, provided that they didn't change since another > application using them was analyzed. That may speed up the start-up of > Valgrind. > _______________________________________________ > LLVM Developers mailing list > LL...@cs... http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > |
|
From: <sv...@va...> - 2014-02-25 15:27:08
|
Author: dejanj
Date: Tue Feb 25 15:26:52 2014
New Revision: 13839
Log:
mips32: Add tests for mips32 floating point compare instructions.
Tests that are testing mips instructions c.cond.s and c.cond.d have been added in none/tests/mips32.
Added:
trunk/none/tests/mips32/fpu_branches.c
trunk/none/tests/mips32/fpu_branches.stderr.exp
trunk/none/tests/mips32/fpu_branches.stdout.exp
trunk/none/tests/mips32/fpu_branches.vgtest
Modified:
trunk/none/tests/mips32/ (props changed)
trunk/none/tests/mips32/Makefile.am
Modified: trunk/none/tests/mips32/Makefile.am
==============================================================================
--- trunk/none/tests/mips32/Makefile.am (original)
+++ trunk/none/tests/mips32/Makefile.am Tue Feb 25 15:26:52 2014
@@ -33,7 +33,8 @@
test_fcsr.stdout.exp test_fcsr.stderr.exp test_fcsr.vgtest \
test_math.stdout.exp test_math.stderr.exp test_math.vgtest \
round_fpu64.stdout.exp round_fpu64.stdout.exp-fpu32 \
- round_fpu64.stderr.exp round_fpu64.vgtest
+ round_fpu64.stderr.exp round_fpu64.vgtest \
+ fpu_branches.stdout.exp fpu_branches.stderr.exp fpu_branches.vgtest
check_PROGRAMS = \
allexec \
@@ -54,7 +55,8 @@
unaligned_load_store \
test_fcsr \
test_math \
- round_fpu64
+ round_fpu64 \
+ fpu_branches
AM_CFLAGS += @FLAG_M32@
AM_CXXFLAGS += @FLAG_M32@
Added: trunk/none/tests/mips32/fpu_branches.c
==============================================================================
--- trunk/none/tests/mips32/fpu_branches.c (added)
+++ trunk/none/tests/mips32/fpu_branches.c Tue Feb 25 15:26:52 2014
@@ -0,0 +1,317 @@
+#include <stdio.h>
+
+#define MAX_ARR 24
+
+const float fs_f[] = {
+ 0, 456.25, 3, -1,
+ 1384.5, -7.25, 1000000000, -5786.5,
+ 1752, 0.015625, 0.03125, -248562.75,
+ -45786.5, 456, 34.03125, 45786.75,
+ 1752065, 107, -45667.25, -7,
+ -347856.5, 356047.5, -1.0, 23.0625
+};
+
+const float ft_f[] = {
+ -4578.5, 456.25, 34.03125, 4578.75,
+ 175, 107, -456.25, -7.25,
+ -3478.5, 356.5, -1.0, 23.0625,
+ 0, 456.25, 3, -1,
+ 1384.5, -7, 100, -5786.5,
+ 1752, 0.015625, 0.03125, -248562.75
+};
+
+const double fs_d[] = {
+ 0, 456.25, 3, -1,
+ 1384.5, -7.25, 1000000000, -5786.5,
+ 1752, 0.015625, 0.03125, -248562.75,
+ -45786.5, 456, 34.03125, 45786.75,
+ 1752065, 107, -45667.25, -7,
+ -347856.5, 356047.5, -1.0, 23.0625
+};
+
+const double ft_d[] = {
+ -45786.5, 456.25, 34.03125, 45786.75,
+ 1752065, 107, -45667.25, -7.25,
+ -347856.5, 356047.5, -1.0, 23.0625,
+ 0, 456.25, 3, -1,
+ 1384.5, -7, 1000000000, -5786.5,
+ 1752, 0.015625, 0.03125, -248562.75
+};
+
+/* Conditional macros.*/
+#define TESTINST1s(instruction, RDval) \
+{ \
+ float outf = 0; \
+ __asm__ __volatile__( \
+ ".set noreorder" "\n\t" \
+ "mov.s $f0, %1" "\n\t" \
+ "mov.s $f2, %2" "\n\t" \
+ "c.eq.s $f0, $f2" "\n\t" \
+ instruction" end"instruction"s"#RDval "\n\t" \
+ "nop" "\n\t" \
+ "add.s $f0, $f0, $f2" "\n\t" \
+ "end"instruction"s"#RDval":" "\n\t" \
+ "mov.s %0, $f0" "\n\t" \
+ ".set reorder" "\n\t" \
+ : "=f" (outf) \
+ : "f" (fs_f[i]) , "f" (ft_f[i]) \
+ : "$f0", "$f2" \
+ ); \
+ printf("%s, c.eq.s out=%f, fs=%f, ft=%f\n", \
+ instruction, outf, fs_f[i], ft_f[i]); \
+}
+
+#define TESTINST1d(instruction, RDval) \
+{ \
+ double outd = 0; \
+ __asm__ __volatile__( \
+ ".set noreorder" "\n\t" \
+ "mov.d $f0, %1" "\n\t" \
+ "mov.d $f2, %2" "\n\t" \
+ "c.eq.d $f0, $f2" "\n\t" \
+ instruction" end"instruction"d"#RDval "\n\t" \
+ "nop" "\n\t" \
+ "add.d $f0, $f0, $f2" "\n\t" \
+ "end"instruction"d"#RDval":" "\n\t" \
+ "mov.d %0, $f0" "\n\t" \
+ ".set reorder" "\n\t" \
+ : "=f" (outd) \
+ : "f" (fs_d[i]) , "f" (ft_d[i]) \
+ : "$f0", "$f1", "$f2", "$f3" \
+ ); \
+ printf("%s, c.eq.d out=%f, fs=%f, ft=%f\n", \
+ instruction, outd, fs_d[i], ft_d[i]); \
+}
+
+#define TESTINST2s(instruction, RDval) \
+{ \
+ float outf = 0; \
+ __asm__ __volatile__( \
+ ".set noreorder" "\n\t" \
+ "mov.s $f0, %1" "\n\t" \
+ "mov.s $f2, %2" "\n\t" \
+ "c.eq.s $f0, $f2" "\n\t" \
+ instruction" end"instruction"s"#RDval "\n\t" \
+ "add.s $f0, $f0, $f2" "\n\t" \
+ "end"instruction"s"#RDval":" "\n\t" \
+ "mov.s %0, $f0" "\n\t" \
+ ".set reorder" "\n\t" \
+ : "=f" (outf) \
+ : "f" (fs_f[i]) , "f" (ft_f[i]) \
+ : "$f0", "$f2" \
+ ); \
+ printf("%s, c.eq.s out=%f, fs=%f, ft=%f\n", \
+ instruction, outf, fs_f[i], ft_f[i]); \
+}
+
+#define TESTINST2d(instruction, RDval) \
+{ \
+ double outd = 0; \
+ __asm__ __volatile__( \
+ ".set noreorder" "\n\t" \
+ "mov.d $f0, %1" "\n\t" \
+ "mov.d $f2, %2" "\n\t" \
+ "c.eq.d $f0, $f2" "\n\t" \
+ instruction" end"instruction"d"#RDval "\n\t" \
+ "add.d $f0, $f0, $f2" "\n\t" \
+ "end"instruction"d"#RDval":" "\n\t" \
+ "mov.d %0, $f0" "\n\t" \
+ ".set reorder" "\n\t" \
+ : "=f" (outd) \
+ : "f" (fs_d[i]) , "f" (ft_d[i]) \
+ : "$f0", "$f1", "$f2", "$f3" \
+ ); \
+ printf("%s, c.eq.d out=%f, fs=%f, ft=%f\n", \
+ instruction, outd, fs_d[i], ft_d[i]); \
+}
+
+#define TESTINST_CONDs(instruction, RDval) \
+{ \
+ float outf = 0; \
+ __asm__ __volatile__( \
+ ".set noreorder" "\n\t" \
+ "mov.s $f0, %1" "\n\t" \
+ "mov.s $f2, %2" "\n\t" \
+ instruction" $f0, $f2" "\n\t" \
+ "bc1f end"instruction"s"#RDval "\n\t" \
+ "nop" "\n\t" \
+ "add.s $f0, $f0, $f2" "\n\t" \
+ "end"instruction"s"#RDval":" "\n\t" \
+ "mov.s %0, $f0" "\n\t" \
+ ".set reorder" "\n\t" \
+ : "=f" (outf) \
+ : "f" (fs_f[i]) , "f" (ft_f[i]) \
+ : "$f0", "$f1", "$f2" \
+ ); \
+ printf("%s, bc1f out=%f, fs=%f, ft=%f\n", \
+ instruction, outf, fs_f[i], ft_f[i]); \
+}
+
+#define TESTINST_CONDd(instruction, RDval) \
+{ \
+ double outd = 0; \
+ __asm__ __volatile__( \
+ ".set noreorder" "\n\t" \
+ "mov.d $f0, %1" "\n\t" \
+ "mov.d $f2, %2" "\n\t" \
+ instruction" $f0, $f2" "\n\t" \
+ "bc1f end"instruction"d"#RDval "\n\t" \
+ "nop" "\n\t" \
+ "add.d $f0, $f0, $f2" "\n\t" \
+ "end"instruction"d"#RDval":" "\n\t" \
+ "mov.d %0, $f0" "\n\t" \
+ ".set reorder" "\n\t" \
+ : "=f" (outd) \
+ : "f" (fs_d[i]) , "f" (ft_d[i]) \
+ : "$f0", "$f1", "$f2", "$f2" \
+ ); \
+ printf("%s, bc1f out=%f, fs=%f, ft=%f\n", \
+ instruction, outd, fs_d[i], ft_d[i]); \
+}
+
+int main()
+{
+ int i = 0;
+
+ printf("--- BC1F --- if fs != ft then " \
+ "out = fs else out = fs + ft\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST1s("bc1f", i);
+ TESTINST1d("bc1f", i);
+ }
+
+ printf("--- BC1T --- if fs == ft then " \
+ "out = fs else out = fs + ft\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST1s("bc1t", i);
+ TESTINST1d("bc1t", i);
+ }
+
+ printf("--- BC1FL --- if fs == ft then " \
+ "out = ft else out = fs + ft\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST2s("bc1fl", i);
+ TESTINST2d("bc1fl", i);
+ }
+
+ printf("--- BC1TL --- if fs != ft then " \
+ "out = fs else out = fs + ft\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST2s("bc1tl", i);
+ TESTINST2d("bc1tl", i);
+ }
+
+ printf("--- C.F.S/D --- if false then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.f.s", i);
+ TESTINST_CONDd("c.f.d", i);
+ }
+
+ printf("--- C.UN.S/D --- if unordered(fs, ft) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.un.s", i);
+ TESTINST_CONDd("c.un.d", i);
+ }
+
+ printf("--- C.EQ.S/D --- if fs == ft then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.eq.s", i);
+ TESTINST_CONDd("c.eq.d", i);
+ }
+
+ printf("--- C.UEQ.S/D --- if (unordered(fs, ft) or (fs == ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ueq.s", i);
+ TESTINST_CONDd("c.ueq.d", i);
+ }
+
+ printf("--- C.OLT.S/D --- if (ordered(fs, ft) or (fs < ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.olt.s", i);
+ TESTINST_CONDd("c.olt.d", i);
+ }
+
+ printf("--- C.ULT.S/D --- if (unordered(fs, ft) or (fs < ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ult.s", i);
+ TESTINST_CONDd("c.ult.d", i);
+ }
+
+ printf("--- C.OLE.S/D --- if (ordered(fs, ft) or (fs <= ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ole.s", i);
+ TESTINST_CONDd("c.ole.d", i);
+ }
+
+ printf("--- C.ULE.S/D --- if (unordered(fs, ft) or (fs <= ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ule.s", i);
+ TESTINST_CONDd("c.ule.d", i);
+ }
+
+ printf("--- C.SF.S/D --- if signaling false then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.sf.s", i);
+ TESTINST_CONDd("c.sf.d", i);
+ }
+
+ printf("--- C.NGLE.S/D --- if not ((fs > ft) or (fs <= ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ngle.s", i);
+ TESTINST_CONDd("c.ngle.d", i);
+ }
+
+ printf("--- C.SEQ.S/D --- if signaling equal then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.seq.s", i);
+ TESTINST_CONDd("c.seq.d", i);
+ }
+
+ printf("--- C.NGL.S/D --- if not ((fs > ft) or (fs < ft)) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ngl.s", i);
+ TESTINST_CONDd("c.ngl.d", i);
+ }
+
+ printf("--- C.LT.S/D --- if fs < ft then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.lt.s", i);
+ TESTINST_CONDd("c.lt.d", i);
+ }
+
+ printf("--- C.NGE.S/D --- if not (fs >= ft) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.nge.s", i);
+ TESTINST_CONDd("c.nge.d", i);
+ }
+
+ printf("--- C.LE.S/D --- if fs <= ft then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.le.s", i);
+ TESTINST_CONDd("c.le.d", i);
+ }
+
+ printf("--- C.NGT.S/D --- if not (fs > ft) then " \
+ "out = fs + ft else out = fs\n");
+ for (i = 0; i < MAX_ARR; i++) {
+ TESTINST_CONDs("c.ngt.s", i);
+ TESTINST_CONDd("c.ngt.d", i);
+ }
+ return 0;
+}
+
Added: trunk/none/tests/mips32/fpu_branches.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/mips32/fpu_branches.stdout.exp
==============================================================================
--- trunk/none/tests/mips32/fpu_branches.stdout.exp (added)
+++ trunk/none/tests/mips32/fpu_branches.stdout.exp Tue Feb 25 15:26:52 2014
@@ -0,0 +1,980 @@
+--- BC1F --- if fs != ft then out = fs else out = fs + ft
+bc1f, c.eq.s out=0.000000, fs=0.000000, ft=-4578.500000
+bc1f, c.eq.d out=0.000000, fs=0.000000, ft=-45786.500000
+bc1f, c.eq.s out=912.500000, fs=456.250000, ft=456.250000
+bc1f, c.eq.d out=912.500000, fs=456.250000, ft=456.250000
+bc1f, c.eq.s out=3.000000, fs=3.000000, ft=34.031250
+bc1f, c.eq.d out=3.000000, fs=3.000000, ft=34.031250
+bc1f, c.eq.s out=-1.000000, fs=-1.000000, ft=4578.750000
+bc1f, c.eq.d out=-1.000000, fs=-1.000000, ft=45786.750000
+bc1f, c.eq.s out=1384.500000, fs=1384.500000, ft=175.000000
+bc1f, c.eq.d out=1384.500000, fs=1384.500000, ft=1752065.000000
+bc1f, c.eq.s out=-7.250000, fs=-7.250000, ft=107.000000
+bc1f, c.eq.d out=-7.250000, fs=-7.250000, ft=107.000000
+bc1f, c.eq.s out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+bc1f, c.eq.d out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+bc1f, c.eq.s out=-5786.500000, fs=-5786.500000, ft=-7.250000
+bc1f, c.eq.d out=-5786.500000, fs=-5786.500000, ft=-7.250000
+bc1f, c.eq.s out=1752.000000, fs=1752.000000, ft=-3478.500000
+bc1f, c.eq.d out=1752.000000, fs=1752.000000, ft=-347856.500000
+bc1f, c.eq.s out=0.015625, fs=0.015625, ft=356.500000
+bc1f, c.eq.d out=0.015625, fs=0.015625, ft=356047.500000
+bc1f, c.eq.s out=0.031250, fs=0.031250, ft=-1.000000
+bc1f, c.eq.d out=0.031250, fs=0.031250, ft=-1.000000
+bc1f, c.eq.s out=-248562.750000, fs=-248562.750000, ft=23.062500
+bc1f, c.eq.d out=-248562.750000, fs=-248562.750000, ft=23.062500
+bc1f, c.eq.s out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1f, c.eq.d out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1f, c.eq.s out=456.000000, fs=456.000000, ft=456.250000
+bc1f, c.eq.d out=456.000000, fs=456.000000, ft=456.250000
+bc1f, c.eq.s out=34.031250, fs=34.031250, ft=3.000000
+bc1f, c.eq.d out=34.031250, fs=34.031250, ft=3.000000
+bc1f, c.eq.s out=45786.750000, fs=45786.750000, ft=-1.000000
+bc1f, c.eq.d out=45786.750000, fs=45786.750000, ft=-1.000000
+bc1f, c.eq.s out=1752065.000000, fs=1752065.000000, ft=1384.500000
+bc1f, c.eq.d out=1752065.000000, fs=1752065.000000, ft=1384.500000
+bc1f, c.eq.s out=107.000000, fs=107.000000, ft=-7.000000
+bc1f, c.eq.d out=107.000000, fs=107.000000, ft=-7.000000
+bc1f, c.eq.s out=-45667.250000, fs=-45667.250000, ft=100.000000
+bc1f, c.eq.d out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+bc1f, c.eq.s out=-7.000000, fs=-7.000000, ft=-5786.500000
+bc1f, c.eq.d out=-7.000000, fs=-7.000000, ft=-5786.500000
+bc1f, c.eq.s out=-347856.500000, fs=-347856.500000, ft=1752.000000
+bc1f, c.eq.d out=-347856.500000, fs=-347856.500000, ft=1752.000000
+bc1f, c.eq.s out=356047.500000, fs=356047.500000, ft=0.015625
+bc1f, c.eq.d out=356047.500000, fs=356047.500000, ft=0.015625
+bc1f, c.eq.s out=-1.000000, fs=-1.000000, ft=0.031250
+bc1f, c.eq.d out=-1.000000, fs=-1.000000, ft=0.031250
+bc1f, c.eq.s out=23.062500, fs=23.062500, ft=-248562.750000
+bc1f, c.eq.d out=23.062500, fs=23.062500, ft=-248562.750000
+--- BC1T --- if fs == ft then out = fs else out = fs + ft
+bc1t, c.eq.s out=-4578.500000, fs=0.000000, ft=-4578.500000
+bc1t, c.eq.d out=-45786.500000, fs=0.000000, ft=-45786.500000
+bc1t, c.eq.s out=456.250000, fs=456.250000, ft=456.250000
+bc1t, c.eq.d out=456.250000, fs=456.250000, ft=456.250000
+bc1t, c.eq.s out=37.031250, fs=3.000000, ft=34.031250
+bc1t, c.eq.d out=37.031250, fs=3.000000, ft=34.031250
+bc1t, c.eq.s out=4577.750000, fs=-1.000000, ft=4578.750000
+bc1t, c.eq.d out=45785.750000, fs=-1.000000, ft=45786.750000
+bc1t, c.eq.s out=1559.500000, fs=1384.500000, ft=175.000000
+bc1t, c.eq.d out=1753449.500000, fs=1384.500000, ft=1752065.000000
+bc1t, c.eq.s out=99.750000, fs=-7.250000, ft=107.000000
+bc1t, c.eq.d out=99.750000, fs=-7.250000, ft=107.000000
+bc1t, c.eq.s out=999999552.000000, fs=1000000000.000000, ft=-456.250000
+bc1t, c.eq.d out=999954332.750000, fs=1000000000.000000, ft=-45667.250000
+bc1t, c.eq.s out=-5793.750000, fs=-5786.500000, ft=-7.250000
+bc1t, c.eq.d out=-5793.750000, fs=-5786.500000, ft=-7.250000
+bc1t, c.eq.s out=-1726.500000, fs=1752.000000, ft=-3478.500000
+bc1t, c.eq.d out=-346104.500000, fs=1752.000000, ft=-347856.500000
+bc1t, c.eq.s out=356.515625, fs=0.015625, ft=356.500000
+bc1t, c.eq.d out=356047.515625, fs=0.015625, ft=356047.500000
+bc1t, c.eq.s out=-0.968750, fs=0.031250, ft=-1.000000
+bc1t, c.eq.d out=-0.968750, fs=0.031250, ft=-1.000000
+bc1t, c.eq.s out=-248539.687500, fs=-248562.750000, ft=23.062500
+bc1t, c.eq.d out=-248539.687500, fs=-248562.750000, ft=23.062500
+bc1t, c.eq.s out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1t, c.eq.d out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1t, c.eq.s out=912.250000, fs=456.000000, ft=456.250000
+bc1t, c.eq.d out=912.250000, fs=456.000000, ft=456.250000
+bc1t, c.eq.s out=37.031250, fs=34.031250, ft=3.000000
+bc1t, c.eq.d out=37.031250, fs=34.031250, ft=3.000000
+bc1t, c.eq.s out=45785.750000, fs=45786.750000, ft=-1.000000
+bc1t, c.eq.d out=45785.750000, fs=45786.750000, ft=-1.000000
+bc1t, c.eq.s out=1753449.500000, fs=1752065.000000, ft=1384.500000
+bc1t, c.eq.d out=1753449.500000, fs=1752065.000000, ft=1384.500000
+bc1t, c.eq.s out=100.000000, fs=107.000000, ft=-7.000000
+bc1t, c.eq.d out=100.000000, fs=107.000000, ft=-7.000000
+bc1t, c.eq.s out=-45567.250000, fs=-45667.250000, ft=100.000000
+bc1t, c.eq.d out=999954332.750000, fs=-45667.250000, ft=1000000000.000000
+bc1t, c.eq.s out=-5793.500000, fs=-7.000000, ft=-5786.500000
+bc1t, c.eq.d out=-5793.500000, fs=-7.000000, ft=-5786.500000
+bc1t, c.eq.s out=-346104.500000, fs=-347856.500000, ft=1752.000000
+bc1t, c.eq.d out=-346104.500000, fs=-347856.500000, ft=1752.000000
+bc1t, c.eq.s out=356047.500000, fs=356047.500000, ft=0.015625
+bc1t, c.eq.d out=356047.515625, fs=356047.500000, ft=0.015625
+bc1t, c.eq.s out=-0.968750, fs=-1.000000, ft=0.031250
+bc1t, c.eq.d out=-0.968750, fs=-1.000000, ft=0.031250
+bc1t, c.eq.s out=-248539.687500, fs=23.062500, ft=-248562.750000
+bc1t, c.eq.d out=-248539.687500, fs=23.062500, ft=-248562.750000
+--- BC1FL --- if fs == ft then out = ft else out = fs + ft
+bc1fl, c.eq.s out=-4578.500000, fs=0.000000, ft=-4578.500000
+bc1fl, c.eq.d out=-45786.500000, fs=0.000000, ft=-45786.500000
+bc1fl, c.eq.s out=456.250000, fs=456.250000, ft=456.250000
+bc1fl, c.eq.d out=456.250000, fs=456.250000, ft=456.250000
+bc1fl, c.eq.s out=37.031250, fs=3.000000, ft=34.031250
+bc1fl, c.eq.d out=37.031250, fs=3.000000, ft=34.031250
+bc1fl, c.eq.s out=4577.750000, fs=-1.000000, ft=4578.750000
+bc1fl, c.eq.d out=45785.750000, fs=-1.000000, ft=45786.750000
+bc1fl, c.eq.s out=1559.500000, fs=1384.500000, ft=175.000000
+bc1fl, c.eq.d out=1753449.500000, fs=1384.500000, ft=1752065.000000
+bc1fl, c.eq.s out=99.750000, fs=-7.250000, ft=107.000000
+bc1fl, c.eq.d out=99.750000, fs=-7.250000, ft=107.000000
+bc1fl, c.eq.s out=999999552.000000, fs=1000000000.000000, ft=-456.250000
+bc1fl, c.eq.d out=999954332.750000, fs=1000000000.000000, ft=-45667.250000
+bc1fl, c.eq.s out=-5793.750000, fs=-5786.500000, ft=-7.250000
+bc1fl, c.eq.d out=-5793.750000, fs=-5786.500000, ft=-7.250000
+bc1fl, c.eq.s out=-1726.500000, fs=1752.000000, ft=-3478.500000
+bc1fl, c.eq.d out=-346104.500000, fs=1752.000000, ft=-347856.500000
+bc1fl, c.eq.s out=356.515625, fs=0.015625, ft=356.500000
+bc1fl, c.eq.d out=356047.515625, fs=0.015625, ft=356047.500000
+bc1fl, c.eq.s out=-0.968750, fs=0.031250, ft=-1.000000
+bc1fl, c.eq.d out=-0.968750, fs=0.031250, ft=-1.000000
+bc1fl, c.eq.s out=-248539.687500, fs=-248562.750000, ft=23.062500
+bc1fl, c.eq.d out=-248539.687500, fs=-248562.750000, ft=23.062500
+bc1fl, c.eq.s out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1fl, c.eq.d out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1fl, c.eq.s out=912.250000, fs=456.000000, ft=456.250000
+bc1fl, c.eq.d out=912.250000, fs=456.000000, ft=456.250000
+bc1fl, c.eq.s out=37.031250, fs=34.031250, ft=3.000000
+bc1fl, c.eq.d out=37.031250, fs=34.031250, ft=3.000000
+bc1fl, c.eq.s out=45785.750000, fs=45786.750000, ft=-1.000000
+bc1fl, c.eq.d out=45785.750000, fs=45786.750000, ft=-1.000000
+bc1fl, c.eq.s out=1753449.500000, fs=1752065.000000, ft=1384.500000
+bc1fl, c.eq.d out=1753449.500000, fs=1752065.000000, ft=1384.500000
+bc1fl, c.eq.s out=100.000000, fs=107.000000, ft=-7.000000
+bc1fl, c.eq.d out=100.000000, fs=107.000000, ft=-7.000000
+bc1fl, c.eq.s out=-45567.250000, fs=-45667.250000, ft=100.000000
+bc1fl, c.eq.d out=999954332.750000, fs=-45667.250000, ft=1000000000.000000
+bc1fl, c.eq.s out=-5793.500000, fs=-7.000000, ft=-5786.500000
+bc1fl, c.eq.d out=-5793.500000, fs=-7.000000, ft=-5786.500000
+bc1fl, c.eq.s out=-346104.500000, fs=-347856.500000, ft=1752.000000
+bc1fl, c.eq.d out=-346104.500000, fs=-347856.500000, ft=1752.000000
+bc1fl, c.eq.s out=356047.500000, fs=356047.500000, ft=0.015625
+bc1fl, c.eq.d out=356047.515625, fs=356047.500000, ft=0.015625
+bc1fl, c.eq.s out=-0.968750, fs=-1.000000, ft=0.031250
+bc1fl, c.eq.d out=-0.968750, fs=-1.000000, ft=0.031250
+bc1fl, c.eq.s out=-248539.687500, fs=23.062500, ft=-248562.750000
+bc1fl, c.eq.d out=-248539.687500, fs=23.062500, ft=-248562.750000
+--- BC1TL --- if fs != ft then out = fs else out = fs + ft
+bc1tl, c.eq.s out=0.000000, fs=0.000000, ft=-4578.500000
+bc1tl, c.eq.d out=0.000000, fs=0.000000, ft=-45786.500000
+bc1tl, c.eq.s out=912.500000, fs=456.250000, ft=456.250000
+bc1tl, c.eq.d out=912.500000, fs=456.250000, ft=456.250000
+bc1tl, c.eq.s out=3.000000, fs=3.000000, ft=34.031250
+bc1tl, c.eq.d out=3.000000, fs=3.000000, ft=34.031250
+bc1tl, c.eq.s out=-1.000000, fs=-1.000000, ft=4578.750000
+bc1tl, c.eq.d out=-1.000000, fs=-1.000000, ft=45786.750000
+bc1tl, c.eq.s out=1384.500000, fs=1384.500000, ft=175.000000
+bc1tl, c.eq.d out=1384.500000, fs=1384.500000, ft=1752065.000000
+bc1tl, c.eq.s out=-7.250000, fs=-7.250000, ft=107.000000
+bc1tl, c.eq.d out=-7.250000, fs=-7.250000, ft=107.000000
+bc1tl, c.eq.s out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+bc1tl, c.eq.d out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+bc1tl, c.eq.s out=-5786.500000, fs=-5786.500000, ft=-7.250000
+bc1tl, c.eq.d out=-5786.500000, fs=-5786.500000, ft=-7.250000
+bc1tl, c.eq.s out=1752.000000, fs=1752.000000, ft=-3478.500000
+bc1tl, c.eq.d out=1752.000000, fs=1752.000000, ft=-347856.500000
+bc1tl, c.eq.s out=0.015625, fs=0.015625, ft=356.500000
+bc1tl, c.eq.d out=0.015625, fs=0.015625, ft=356047.500000
+bc1tl, c.eq.s out=0.031250, fs=0.031250, ft=-1.000000
+bc1tl, c.eq.d out=0.031250, fs=0.031250, ft=-1.000000
+bc1tl, c.eq.s out=-248562.750000, fs=-248562.750000, ft=23.062500
+bc1tl, c.eq.d out=-248562.750000, fs=-248562.750000, ft=23.062500
+bc1tl, c.eq.s out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1tl, c.eq.d out=-45786.500000, fs=-45786.500000, ft=0.000000
+bc1tl, c.eq.s out=456.000000, fs=456.000000, ft=456.250000
+bc1tl, c.eq.d out=456.000000, fs=456.000000, ft=456.250000
+bc1tl, c.eq.s out=34.031250, fs=34.031250, ft=3.000000
+bc1tl, c.eq.d out=34.031250, fs=34.031250, ft=3.000000
+bc1tl, c.eq.s out=45786.750000, fs=45786.750000, ft=-1.000000
+bc1tl, c.eq.d out=45786.750000, fs=45786.750000, ft=-1.000000
+bc1tl, c.eq.s out=1752065.000000, fs=1752065.000000, ft=1384.500000
+bc1tl, c.eq.d out=1752065.000000, fs=1752065.000000, ft=1384.500000
+bc1tl, c.eq.s out=107.000000, fs=107.000000, ft=-7.000000
+bc1tl, c.eq.d out=107.000000, fs=107.000000, ft=-7.000000
+bc1tl, c.eq.s out=-45667.250000, fs=-45667.250000, ft=100.000000
+bc1tl, c.eq.d out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+bc1tl, c.eq.s out=-7.000000, fs=-7.000000, ft=-5786.500000
+bc1tl, c.eq.d out=-7.000000, fs=-7.000000, ft=-5786.500000
+bc1tl, c.eq.s out=-347856.500000, fs=-347856.500000, ft=1752.000000
+bc1tl, c.eq.d out=-347856.500000, fs=-347856.500000, ft=1752.000000
+bc1tl, c.eq.s out=356047.500000, fs=356047.500000, ft=0.015625
+bc1tl, c.eq.d out=356047.500000, fs=356047.500000, ft=0.015625
+bc1tl, c.eq.s out=-1.000000, fs=-1.000000, ft=0.031250
+bc1tl, c.eq.d out=-1.000000, fs=-1.000000, ft=0.031250
+bc1tl, c.eq.s out=23.062500, fs=23.062500, ft=-248562.750000
+bc1tl, c.eq.d out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.F.S/D --- if false then out = fs + ft else out = fs
+c.f.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.f.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.f.s, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.f.d, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.f.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.f.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.f.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.f.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.f.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.f.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.f.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.f.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.f.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.f.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.f.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.f.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.f.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.f.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.f.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.f.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.f.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.f.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.f.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.f.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.f.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.f.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.f.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.f.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.f.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.f.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.f.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.f.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.f.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.f.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.f.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.f.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.f.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.f.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+c.f.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.f.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.f.s, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.f.d, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.f.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.f.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.f.s, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.f.d, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.f.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.f.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.UN.S/D --- if unordered(fs, ft) then out = fs + ft else out = fs
+c.un.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.un.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.un.s, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.un.d, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.un.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.un.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.un.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.un.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.un.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.un.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.un.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.un.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.un.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.un.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.un.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.un.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.un.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.un.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.un.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.un.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.un.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.un.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.un.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.un.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.un.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.un.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.un.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.un.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.un.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.un.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.un.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.un.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.un.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.un.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.un.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.un.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.un.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.un.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+c.un.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.un.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.un.s, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.un.d, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.un.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.un.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.un.s, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.un.d, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.un.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.un.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.EQ.S/D --- if fs == ft then out = fs + ft else out = fs
+c.eq.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.eq.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.eq.s, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.eq.d, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.eq.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.eq.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.eq.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.eq.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.eq.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.eq.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.eq.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.eq.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.eq.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.eq.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.eq.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.eq.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.eq.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.eq.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.eq.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.eq.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.eq.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.eq.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.eq.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.eq.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.eq.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.eq.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.eq.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.eq.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.eq.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.eq.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.eq.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.eq.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.eq.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.eq.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.eq.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.eq.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.eq.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.eq.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+c.eq.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.eq.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.eq.s, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.eq.d, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.eq.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.eq.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.eq.s, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.eq.d, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.eq.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.eq.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.UEQ.S/D --- if (unordered(fs, ft) or (fs == ft)) then out = fs + ft else out = fs
+c.ueq.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.ueq.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.ueq.s, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.ueq.d, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.ueq.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.ueq.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.ueq.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.ueq.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.ueq.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.ueq.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.ueq.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.ueq.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.ueq.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.ueq.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.ueq.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.ueq.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.ueq.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.ueq.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.ueq.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.ueq.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.ueq.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ueq.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ueq.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.ueq.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.ueq.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ueq.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ueq.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.ueq.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.ueq.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ueq.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ueq.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ueq.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ueq.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ueq.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ueq.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ueq.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ueq.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.ueq.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+c.ueq.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ueq.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ueq.s, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.ueq.d, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.ueq.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ueq.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ueq.s, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.ueq.d, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.ueq.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.ueq.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.OLT.S/D --- if (ordered(fs, ft) or (fs < ft)) then out = fs + ft else out = fs
+c.olt.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.olt.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.olt.s, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.olt.d, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.olt.s, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.olt.d, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.olt.s, bc1f out=4577.750000, fs=-1.000000, ft=4578.750000
+c.olt.d, bc1f out=45785.750000, fs=-1.000000, ft=45786.750000
+c.olt.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.olt.d, bc1f out=1753449.500000, fs=1384.500000, ft=1752065.000000
+c.olt.s, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.olt.d, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.olt.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.olt.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.olt.s, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.olt.d, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.olt.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.olt.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.olt.s, bc1f out=356.515625, fs=0.015625, ft=356.500000
+c.olt.d, bc1f out=356047.515625, fs=0.015625, ft=356047.500000
+c.olt.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.olt.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.olt.s, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.olt.d, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.olt.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.olt.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.olt.s, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.olt.d, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.olt.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.olt.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.olt.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.olt.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.olt.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.olt.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.olt.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.olt.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.olt.s, bc1f out=-45567.250000, fs=-45667.250000, ft=100.000000
+c.olt.d, bc1f out=999954332.750000, fs=-45667.250000, ft=1000000000.000000
+c.olt.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.olt.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.olt.s, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.olt.d, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.olt.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.olt.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.olt.s, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.olt.d, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.olt.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.olt.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.ULT.S/D --- if (unordered(fs, ft) or (fs < ft)) then out = fs + ft else out = fs
+c.ult.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.ult.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.ult.s, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.ult.d, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.ult.s, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.ult.d, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.ult.s, bc1f out=4577.750000, fs=-1.000000, ft=4578.750000
+c.ult.d, bc1f out=45785.750000, fs=-1.000000, ft=45786.750000
+c.ult.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.ult.d, bc1f out=1753449.500000, fs=1384.500000, ft=1752065.000000
+c.ult.s, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.ult.d, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.ult.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.ult.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.ult.s, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.ult.d, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.ult.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.ult.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.ult.s, bc1f out=356.515625, fs=0.015625, ft=356.500000
+c.ult.d, bc1f out=356047.515625, fs=0.015625, ft=356047.500000
+c.ult.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ult.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ult.s, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.ult.d, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.ult.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ult.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ult.s, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.ult.d, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.ult.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ult.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ult.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ult.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ult.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ult.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ult.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ult.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ult.s, bc1f out=-45567.250000, fs=-45667.250000, ft=100.000000
+c.ult.d, bc1f out=999954332.750000, fs=-45667.250000, ft=1000000000.000000
+c.ult.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ult.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ult.s, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.ult.d, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.ult.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ult.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ult.s, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.ult.d, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.ult.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.ult.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.OLE.S/D --- if (ordered(fs, ft) or (fs <= ft)) then out = fs + ft else out = fs
+c.ole.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.ole.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.ole.s, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.ole.d, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.ole.s, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.ole.d, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.ole.s, bc1f out=4577.750000, fs=-1.000000, ft=4578.750000
+c.ole.d, bc1f out=45785.750000, fs=-1.000000, ft=45786.750000
+c.ole.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.ole.d, bc1f out=1753449.500000, fs=1384.500000, ft=1752065.000000
+c.ole.s, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.ole.d, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.ole.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.ole.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.ole.s, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.ole.d, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.ole.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.ole.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.ole.s, bc1f out=356.515625, fs=0.015625, ft=356.500000
+c.ole.d, bc1f out=356047.515625, fs=0.015625, ft=356047.500000
+c.ole.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ole.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ole.s, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.ole.d, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.ole.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ole.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ole.s, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.ole.d, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.ole.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ole.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ole.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ole.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ole.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ole.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ole.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ole.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ole.s, bc1f out=-45567.250000, fs=-45667.250000, ft=100.000000
+c.ole.d, bc1f out=999954332.750000, fs=-45667.250000, ft=1000000000.000000
+c.ole.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ole.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ole.s, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.ole.d, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.ole.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ole.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ole.s, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.ole.d, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.ole.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.ole.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.ULE.S/D --- if (unordered(fs, ft) or (fs <= ft)) then out = fs + ft else out = fs
+c.ule.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.ule.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.ule.s, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.ule.d, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.ule.s, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.ule.d, bc1f out=37.031250, fs=3.000000, ft=34.031250
+c.ule.s, bc1f out=4577.750000, fs=-1.000000, ft=4578.750000
+c.ule.d, bc1f out=45785.750000, fs=-1.000000, ft=45786.750000
+c.ule.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.ule.d, bc1f out=1753449.500000, fs=1384.500000, ft=1752065.000000
+c.ule.s, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.ule.d, bc1f out=99.750000, fs=-7.250000, ft=107.000000
+c.ule.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.ule.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.ule.s, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.ule.d, bc1f out=-5793.750000, fs=-5786.500000, ft=-7.250000
+c.ule.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.ule.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.ule.s, bc1f out=356.515625, fs=0.015625, ft=356.500000
+c.ule.d, bc1f out=356047.515625, fs=0.015625, ft=356047.500000
+c.ule.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ule.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ule.s, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.ule.d, bc1f out=-248539.687500, fs=-248562.750000, ft=23.062500
+c.ule.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ule.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ule.s, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.ule.d, bc1f out=912.250000, fs=456.000000, ft=456.250000
+c.ule.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ule.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ule.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ule.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ule.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ule.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ule.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ule.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ule.s, bc1f out=-45567.250000, fs=-45667.250000, ft=100.000000
+c.ule.d, bc1f out=999954332.750000, fs=-45667.250000, ft=1000000000.000000
+c.ule.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ule.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ule.s, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.ule.d, bc1f out=-346104.500000, fs=-347856.500000, ft=1752.000000
+c.ule.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ule.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ule.s, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.ule.d, bc1f out=-0.968750, fs=-1.000000, ft=0.031250
+c.ule.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.ule.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.SF.S/D --- if signaling false then out = fs + ft else out = fs
+c.sf.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.sf.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.sf.s, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.sf.d, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.sf.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.sf.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.sf.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.sf.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.sf.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.sf.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.sf.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.sf.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.sf.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.sf.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.sf.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.sf.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.sf.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.sf.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.sf.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.sf.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.sf.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.sf.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.sf.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.sf.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.sf.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.sf.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.sf.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.sf.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.sf.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.sf.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.sf.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.sf.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.sf.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.sf.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.sf.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.sf.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.sf.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.sf.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+c.sf.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.sf.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.sf.s, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.sf.d, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.sf.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.sf.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.sf.s, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.sf.d, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.sf.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.sf.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.NGLE.S/D --- if not ((fs > ft) or (fs <= ft)) then out = fs + ft else out = fs
+c.ngle.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.ngle.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.ngle.s, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.ngle.d, bc1f out=456.250000, fs=456.250000, ft=456.250000
+c.ngle.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.ngle.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.ngle.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.ngle.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.ngle.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.ngle.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.ngle.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.ngle.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.ngle.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.ngle.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.ngle.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.ngle.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.ngle.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.ngle.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.ngle.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.ngle.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.ngle.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ngle.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.ngle.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.ngle.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.ngle.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ngle.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.ngle.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.ngle.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.ngle.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ngle.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.ngle.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ngle.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.ngle.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ngle.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.ngle.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ngle.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.ngle.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.ngle.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000.000000
+c.ngle.s, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ngle.d, bc1f out=-7.000000, fs=-7.000000, ft=-5786.500000
+c.ngle.s, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.ngle.d, bc1f out=-347856.500000, fs=-347856.500000, ft=1752.000000
+c.ngle.s, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ngle.d, bc1f out=356047.500000, fs=356047.500000, ft=0.015625
+c.ngle.s, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.ngle.d, bc1f out=-1.000000, fs=-1.000000, ft=0.031250
+c.ngle.s, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+c.ngle.d, bc1f out=23.062500, fs=23.062500, ft=-248562.750000
+--- C.SEQ.S/D --- if signaling equal then out = fs + ft else out = fs
+c.seq.s, bc1f out=0.000000, fs=0.000000, ft=-4578.500000
+c.seq.d, bc1f out=0.000000, fs=0.000000, ft=-45786.500000
+c.seq.s, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.seq.d, bc1f out=912.500000, fs=456.250000, ft=456.250000
+c.seq.s, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.seq.d, bc1f out=3.000000, fs=3.000000, ft=34.031250
+c.seq.s, bc1f out=-1.000000, fs=-1.000000, ft=4578.750000
+c.seq.d, bc1f out=-1.000000, fs=-1.000000, ft=45786.750000
+c.seq.s, bc1f out=1384.500000, fs=1384.500000, ft=175.000000
+c.seq.d, bc1f out=1384.500000, fs=1384.500000, ft=1752065.000000
+c.seq.s, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.seq.d, bc1f out=-7.250000, fs=-7.250000, ft=107.000000
+c.seq.s, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-456.250000
+c.seq.d, bc1f out=1000000000.000000, fs=1000000000.000000, ft=-45667.250000
+c.seq.s, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.seq.d, bc1f out=-5786.500000, fs=-5786.500000, ft=-7.250000
+c.seq.s, bc1f out=1752.000000, fs=1752.000000, ft=-3478.500000
+c.seq.d, bc1f out=1752.000000, fs=1752.000000, ft=-347856.500000
+c.seq.s, bc1f out=0.015625, fs=0.015625, ft=356.500000
+c.seq.d, bc1f out=0.015625, fs=0.015625, ft=356047.500000
+c.seq.s, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.seq.d, bc1f out=0.031250, fs=0.031250, ft=-1.000000
+c.seq.s, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.seq.d, bc1f out=-248562.750000, fs=-248562.750000, ft=23.062500
+c.seq.s, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.seq.d, bc1f out=-45786.500000, fs=-45786.500000, ft=0.000000
+c.seq.s, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.seq.d, bc1f out=456.000000, fs=456.000000, ft=456.250000
+c.seq.s, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.seq.d, bc1f out=34.031250, fs=34.031250, ft=3.000000
+c.seq.s, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.seq.d, bc1f out=45786.750000, fs=45786.750000, ft=-1.000000
+c.seq.s, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.seq.d, bc1f out=1752065.000000, fs=1752065.000000, ft=1384.500000
+c.seq.s, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.seq.d, bc1f out=107.000000, fs=107.000000, ft=-7.000000
+c.seq.s, bc1f out=-45667.250000, fs=-45667.250000, ft=100.000000
+c.seq.d, bc1f out=-45667.250000, fs=-45667.250000, ft=1000000000....
[truncated message content] |
|
From: <sv...@va...> - 2014-02-25 15:26:02
|
Author: dejanj
Date: Tue Feb 25 15:25:49 2014
New Revision: 2825
Log:
mips32: Fix the problem with the floating point compare instruction on mips32.
This patch is fixing the problem with emitting Iop_CmpF64.
Problem was introduced while running Valgrind for mips with v8 javascript engine.
Modified:
trunk/priv/guest_mips_toIR.c
trunk/priv/host_mips_defs.c
trunk/priv/host_mips_defs.h
trunk/priv/host_mips_isel.c
Modified: trunk/priv/guest_mips_toIR.c
==============================================================================
--- trunk/priv/guest_mips_toIR.c (original)
+++ trunk/priv/guest_mips_toIR.c Tue Feb 25 15:25:49 2014
@@ -1697,22 +1697,22 @@
static const HChar* showCondCode(UInt code) {
const HChar* ret;
switch (code) {
- case 0: ret = "F"; break;
- case 1: ret = "UN"; break;
- case 2: ret = "EQ"; break;
- case 3: ret = "UEQ"; break;
- case 4: ret = "OLT"; break;
- case 5: ret = "ULT"; break;
- case 6: ret = "OLE"; break;
- case 7: ret = "ULE"; break;
- case 8: ret = "SF"; break;
- case 9: ret = "NGLE"; break;
- case 10: ret = "SEQ"; break;
- case 11: ret = "NGL"; break;
- case 12: ret = "LT"; break;
- case 13: ret = "NGE"; break;
- case 14: ret = "LE"; break;
- case 15: ret = "NGT"; break;
+ case 0: ret = "f"; break;
+ case 1: ret = "un"; break;
+ case 2: ret = "eq"; break;
+ case 3: ret = "ueq"; break;
+ case 4: ret = "olt"; break;
+ case 5: ret = "ult"; break;
+ case 6: ret = "ole"; break;
+ case 7: ret = "ule"; break;
+ case 8: ret = "sf"; break;
+ case 9: ret = "ngle"; break;
+ case 10: ret = "seq"; break;
+ case 11: ret = "ngl"; break;
+ case 12: ret = "lt"; break;
+ case 13: ret = "nge"; break;
+ case 14: ret = "le"; break;
+ case 15: ret = "ngt"; break;
default: vpanic("showCondCode"); break;
}
return ret;
@@ -1733,7 +1733,7 @@
UInt fpc_cc = get_fpc_cc(cins);
switch (fmt) {
case 0x10: { /* C.cond.S */
- DIP("C.%s.S %d, f%d, f%d", showCondCode(cond), fpc_cc, fs, ft);
+ DIP("c.%s.s %d, f%d, f%d", showCondCode(cond), fpc_cc, fs, ft);
if (fp_mode64) {
t0 = newTemp(Ity_I32);
t1 = newTemp(Ity_I32);
@@ -1942,7 +1942,7 @@
break;
case 0x11: { /* C.cond.D */
- DIP("C.%s.D %d, f%d, f%d", showCondCode(cond), fpc_cc, fs, ft);
+ DIP("c.%s.d %d, f%d, f%d", showCondCode(cond), fpc_cc, fs, ft);
t0 = newTemp(Ity_I32);
t1 = newTemp(Ity_I32);
t2 = newTemp(Ity_I32);
Modified: trunk/priv/host_mips_defs.c
==============================================================================
--- trunk/priv/host_mips_defs.c (original)
+++ trunk/priv/host_mips_defs.c Tue Feb 25 15:25:49 2014
@@ -802,8 +802,17 @@
case Mfp_CEILLD:
ret = "ceil.l.d";
break;
- case Mfp_CMP:
- ret = "C.cond.d";
+ case Mfp_CMP_UN:
+ ret = "c.un.d";
+ break;
+ case Mfp_CMP_EQ:
+ ret = "c.eq.d";
+ break;
+ case Mfp_CMP_LT:
+ ret = "c.lt.d";
+ break;
+ case Mfp_CMP_NGT:
+ ret = "c.ngt.d";
break;
default:
vex_printf("Unknown op: %d", op);
@@ -1503,8 +1512,7 @@
}
-MIPSInstr *MIPSInstr_FpCompare(MIPSFpOp op, HReg dst, HReg srcL, HReg srcR,
- UChar cond1)
+MIPSInstr *MIPSInstr_FpCompare(MIPSFpOp op, HReg dst, HReg srcL, HReg srcR)
{
MIPSInstr *i = LibVEX_Alloc(sizeof(MIPSInstr));
i->tag = Min_FpCompare;
@@ -1512,7 +1520,6 @@
i->Min.FpCompare.dst = dst;
i->Min.FpCompare.srcL = srcL;
i->Min.FpCompare.srcR = srcR;
- i->Min.FpCompare.cond1 = cond1;
return i;
}
@@ -1817,7 +1824,6 @@
ppHRegMIPS(i->Min.FpCompare.srcL, mode64);
vex_printf(",");
ppHRegMIPS(i->Min.FpCompare.srcR, mode64);
- vex_printf(" cond: %c", i->Min.FpCompare.cond1);
return;
case Min_FpMulAcc:
vex_printf("%s ", showMIPSFpOp(i->Min.FpMulAcc.op));
@@ -3983,19 +3989,35 @@
}
case Min_FpCompare: {
- UInt r_dst = iregNo(i->Min.FpCompare.dst, mode64);
+ UInt r_dst = iregNo(i->Min.FpCompare.dst, mode64);
UInt fr_srcL = dregNo(i->Min.FpCompare.srcL);
UInt fr_srcR = dregNo(i->Min.FpCompare.srcR);
+ UInt op;
switch (i->Min.FpConvert.op) {
- case Mfp_CMP:
- p = mkFormR(p, 0x11, 0x11, fr_srcL, fr_srcR, 0,
- (i->Min.FpCompare.cond1 + 48));
- p = mkFormR(p, 0x11, 0x2, r_dst, 31, 0, 0);
+ case Mfp_CMP_UN:
+ op = 1;
+ break;
+ case Mfp_CMP_EQ:
+ op = 2;
+ break;
+ case Mfp_CMP_LT:
+ op = 12;
break;
+ case Mfp_CMP_NGT:
+ op = 15;
+ break;
default:
goto bad;
}
+ /* c.cond.d fr_srcL, fr_srcR
+ cfc1 r_dst, $31
+ srl r_dst, r_dst, 23
+ andi r_dst, r_dst, 1 */
+ p = mkFormR(p, 0x11, 0x11, fr_srcL, fr_srcR, 0, op + 48);
+ p = mkFormR(p, 0x11, 0x2, r_dst, 31, 0, 0);
+ p = mkFormS(p, 0, r_dst, 0, r_dst, 23, 2);
+ p = mkFormI(p, 12, r_dst, r_dst, 1);
goto done;
}
Modified: trunk/priv/host_mips_defs.h
==============================================================================
--- trunk/priv/host_mips_defs.h (original)
+++ trunk/priv/host_mips_defs.h Tue Feb 25 15:25:49 2014
@@ -366,8 +366,11 @@
Mfp_CVTSD, Mfp_CVTSW, Mfp_CVTWD,
Mfp_CVTWS, Mfp_CVTDL, Mfp_CVTSL, Mfp_CVTLS, Mfp_CVTLD, Mfp_TRULS, Mfp_TRULD,
Mfp_TRUWS, Mfp_TRUWD, Mfp_FLOORWS, Mfp_FLOORWD, Mfp_ROUNDWS, Mfp_ROUNDWD,
- Mfp_CVTDW, Mfp_CMP, Mfp_CEILWS, Mfp_CEILWD, Mfp_CEILLS, Mfp_CEILLD,
- Mfp_CVTDS, Mfp_ROUNDLD, Mfp_FLOORLD
+ Mfp_CVTDW, Mfp_CEILWS, Mfp_CEILWD, Mfp_CEILLS, Mfp_CEILLD, Mfp_CVTDS,
+ Mfp_ROUNDLD, Mfp_FLOORLD,
+
+ /* FP compare */
+ Mfp_CMP_UN, Mfp_CMP_EQ, Mfp_CMP_LT, Mfp_CMP_NGT
} MIPSFpOp;
@@ -664,7 +667,7 @@
HReg src2, HReg src3 );
extern MIPSInstr *MIPSInstr_FpConvert(MIPSFpOp op, HReg dst, HReg src);
extern MIPSInstr *MIPSInstr_FpCompare(MIPSFpOp op, HReg dst, HReg srcL,
- HReg srcR, UChar cond1);
+ HReg srcR);
extern MIPSInstr *MIPSInstr_FpMulAcc(MIPSFpOp op, HReg dst, HReg srcML,
HReg srcMR, HReg srcAcc);
extern MIPSInstr *MIPSInstr_FpLdSt(Bool isLoad, UChar sz, HReg, MIPSAMode *);
Modified: trunk/priv/host_mips_isel.c
==============================================================================
--- trunk/priv/host_mips_isel.c (original)
+++ trunk/priv/host_mips_isel.c Tue Feb 25 15:25:49 2014
@@ -1123,29 +1123,24 @@
/* Create in dst, the IRCmpF64Result encoded result. */
/* chech for EQ */
- addInstr(env, MIPSInstr_FpCompare(Mfp_CMP, tmp, r_srcL, r_srcR,
- toUChar(2)));
- addInstr(env, MIPSInstr_Shft(Mshft_SRA, True, r_ccMIPS, tmp,
- MIPSRH_Imm(False, 22)));
+ addInstr(env, MIPSInstr_FpCompare(Mfp_CMP_EQ, tmp, r_srcL, r_srcR));
+ addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, r_ccMIPS, tmp,
+ MIPSRH_Imm(False, 1)));
/* chech for UN */
- addInstr(env, MIPSInstr_FpCompare(Mfp_CMP, tmp, r_srcL, r_srcR,
- toUChar(1)));
- addInstr(env, MIPSInstr_Shft(Mshft_SRA, True, tmp, tmp,
- MIPSRH_Imm(False, 23)));
+ addInstr(env, MIPSInstr_FpCompare(Mfp_CMP_UN, tmp, r_srcL, r_srcR));
addInstr(env, MIPSInstr_Alu(Malu_OR, r_ccMIPS, r_ccMIPS,
MIPSRH_Reg(tmp)));
/* chech for LT */
- addInstr(env, MIPSInstr_FpCompare(Mfp_CMP, tmp, r_srcL, r_srcR,
- toUChar(12)));
- addInstr(env, MIPSInstr_Shft(Mshft_SRA, True, tmp,
- tmp, MIPSRH_Imm(False, 21)));
+ addInstr(env, MIPSInstr_FpCompare(Mfp_CMP_LT, tmp, r_srcL, r_srcR));
+ addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, tmp,
+ tmp, MIPSRH_Imm(False, 2)));
addInstr(env, MIPSInstr_Alu(Malu_OR, r_ccMIPS, r_ccMIPS,
MIPSRH_Reg(tmp)));
/* chech for GT */
- addInstr(env, MIPSInstr_FpCompare(Mfp_CMP, tmp, r_srcL, r_srcR,
- toUChar(15)));
- addInstr(env, MIPSInstr_Shft(Mshft_SRA, True, tmp, tmp,
- MIPSRH_Imm(False, 20)));
+ addInstr(env, MIPSInstr_FpCompare(Mfp_CMP_NGT,
+ tmp, r_srcL, r_srcR));
+ addInstr(env, MIPSInstr_Shft(Mshft_SLL, True, tmp, tmp,
+ MIPSRH_Imm(False, 3)));
addInstr(env, MIPSInstr_Alu(Malu_NOR, tmp, tmp, MIPSRH_Reg(tmp)));
addInstr(env, MIPSInstr_Alu(Malu_AND, tmp, tmp,
|
|
From: Christian B. <bor...@de...> - 2014-02-25 12:12:22
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.5.1-0.7.29) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.101-0.8-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2014-02-25 12:02:40 CET Ended at 2014-02-25 13:12:04 CET Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 642 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 642 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/err_disable4 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) drd/tests/pth_barrier3 (stderr) drd/tests/pth_barrier_thr_cr (stderr) drd/tests/pth_create_chain (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-25 12:21:53.000000000 +0100 --- new.short 2014-02-25 12:52:23.000000000 +0100 *************** *** 8,16 **** ! == 642 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == ! memcheck/tests/err_disable4 (stderr) ! helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) - drd/tests/pth_barrier3 (stderr) - drd/tests/pth_barrier_thr_cr (stderr) - drd/tests/pth_create_chain (stderr) --- 8,11 ---- ! == 642 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_cond_destroy_busy (stderr) --tools=none,memcheck --reps=5 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.22s no: 4.3s (19.6x, -----) me: 6.9s (31.5x, -----) bigcode1 valgrind-old:0.22s no: 4.3s (19.5x, 0.7%) me: 6.9s (31.5x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.2s (30.2x, -----) me:13.8s (57.3x, -----) bigcode2 valgrind-old:0.24s no: 7.2s (30.2x, 0.0%) me:13.7s (57.2x, 0.1%) -- bz2 -- bz2 valgrind-new:0.69s no: 5.0s ( 7.3x, -----) me:13.1s (18.9x, -----) bz2 valgrind-old:0.69s no: 5.2s ( 7.5x, -3.2%) me:13.1s (18.9x, 0.0%) -- fbench -- fbench valgrind-new:0.41s no: 1.6s ( 3.9x, -----) me: 4.2s (10.3x, -----) fbench valgrind-old:0.41s no: 1.6s ( 3.9x, -0.6%) me: 4.3s (10.5x, -1.4%) -- ffbench -- ffbench valgrind-new:0.20s no: 1.0s ( 5.2x, -----) me: 3.0s (15.2x, -----) ffbench valgrind-old:0.20s no: 1.0s ( 5.2x, 0.0%) me: 3.0s (15.2x, 0.0%) -- heap -- heap valgrind-new:0.23s no: 1.8s ( 8.0x, -----) me: 8.8s (38.2x, -----) heap valgrind-old:0.23s no: 1.8s ( 7.7x, 2.7%) me: 8.7s (37.7x, 1.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 1.9s ( 8.8x, -----) me:12.9s (58.5x, -----) heap_pdb4 valgrind-old:0.22s no: 1.9s ( 8.8x, 0.0%) me:12.7s (57.8x, 1.1%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (23.5x, -----) me: 2.1s (103.5x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (23.0x, 2.1%) me: 2.0s (102.5x, 1.0%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 8.6x, -----) me: 3.2s (45.7x, -----) many-xpts valgrind-old:0.07s no: 0.6s ( 8.4x, 1.7%) me: 3.2s (45.4x, 0.6%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (18.3x, -----) me: 3.6s (120.0x, -----) sarp valgrind-old:0.03s no: 0.6s (19.0x, -3.6%) me: 3.6s (120.0x, 0.0%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.7s (12.1x, -----) me:14.9s (67.8x, -----) tinycc valgrind-old:0.22s no: 2.6s (12.0x, 1.5%) me:14.9s (67.7x, 0.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 44 timings ================= real 19m41.219s user 19m25.653s sys 0m13.559s |
|
From: Mark W. <mj...@re...> - 2014-02-25 09:40:45
|
On Tue, 2014-02-25 at 12:29 +0530, Anil Singhar wrote: > I wanted to do a full fledged regression testing. Is there a test suite > available? If yes, could you or someone point me to that..? make check builds all the tests make regtest runs all regression tests See also README_DEVELOPERS for some more background and how to run individual tests. Cheers, Mark |
|
From: Anil S. <ani...@li...> - 2014-02-25 06:59:22
|
Hi Julian, Thanks for the patch. I could proceed with a basic sanity test on valgrind with the patch. I wanted to do a full fledged regression testing. Is there a test suite available? If yes, could you or someone point me to that..? Thanks, Anil On 21 February 2014 22:00, Julian Seward <js...@ac...> wrote: > On 02/21/2014 02:09 PM, Anil Singhar wrote: > > Hi Julian, > > > > I will try that. There is a "dc zva, x8" instruction as well in the > ld*.so > > that is causing another unrecognized instruction error. > > Does this mean valgrind will not emulate the dc instruction (i.e. all > > variants of it) at all? > > If I understand correctly, the patch I made should cause ld.so to not > execute "dc zva", so there is no need to implement it right now. > > J > > > |
|
From: Philippe W. <phi...@sk...> - 2014-02-25 05:47:52
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.8.8-202.fc18.ppc64p7 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2014-02-24 20:00:15 PST Ended at 2014-02-24 21:44:49 PST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 575 tests, 36 stderr failures, 7 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/jm-vmx (stderr) none/tests/ppc32/test_isa_2_06_part2 (stdout) none/tests/ppc32/test_isa_2_06_part2 (stderr) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/jm-vmx (stderr) none/tests/ppc64/test_isa_2_06_part2 (stdout) none/tests/ppc64/test_isa_2_06_part2 (stderr) helgrind/tests/annotate_rwlock (stderr) helgrind/tests/free_is_write (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/locked_vs_unlocked1_fwd (stderr) helgrind/tests/locked_vs_unlocked1_rev (stderr) helgrind/tests/locked_vs_unlocked2 (stderr) helgrind/tests/locked_vs_unlocked3 (stderr) helgrind/tests/pth_barrier1 (stderr) helgrind/tests/pth_barrier2 (stderr) helgrind/tests/pth_barrier3 (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/pth_destroy_cond (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.25s no: 1.7s ( 6.8x, -----) me: 3.1s (12.6x, -----) ca:18.3s (73.1x, -----) he: 1.7s ( 7.0x, -----) ca: 5.5s (22.0x, -----) dr: 1.7s ( 6.7x, -----) ma: 2.1s ( 8.5x, -----) bigcode1 valgrind-old:0.25s no: 1.5s ( 6.2x, 9.9%) me: 2.9s (11.7x, 7.0%) ca:17.9s (71.6x, 2.0%) he: 1.7s ( 6.9x, 0.6%) ca: 5.3s (21.2x, 4.0%) dr: 1.7s ( 6.8x, -2.4%) ma: 2.1s ( 8.5x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.5s ( 6.7x, -----) me: 2.9s (12.8x, -----) ca:18.1s (78.8x, -----) he: 2.1s ( 9.3x, -----) ca: 5.4s (23.6x, -----) dr: 1.8s ( 8.0x, -----) ma: 2.1s ( 9.2x, -----) bigcode2 valgrind-old:0.23s no: 1.6s ( 6.7x, -1.3%) me: 3.0s (13.0x, -1.4%) ca:18.2s (79.2x, -0.6%) he: 2.3s (10.0x, -8.5%) ca: 6.3s (27.3x,-15.9%) dr: 1.9s ( 8.2x, -2.7%) ma: 2.1s ( 9.3x, -0.5%) -- bz2 -- bz2 valgrind-new:0.75s no: 4.6s ( 6.1x, -----) me:12.1s (16.1x, -----) ca:26.6s (35.4x, -----) he:14.9s (19.9x, -----) ca:24.2s (32.3x, -----) dr:20.2s (27.0x, -----) ma: 4.7s ( 6.2x, -----) bz2 valgrind-old:0.75s no: 4.6s ( 6.1x, 0.7%) me:11.8s (15.7x, 2.7%) ca:25.8s (34.5x, 2.7%) he:14.7s (19.6x, 1.3%) ca:24.5s (32.7x, -1.3%) dr:20.4s (27.2x, -0.8%) ma: 5.0s ( 6.6x, -6.7%) -- fbench -- fbench valgrind-new:0.34s no: 2.3s ( 6.6x, -----) me: 5.5s (16.2x, -----) ca: 8.7s (25.7x, -----) he: 5.3s (15.5x, -----) ca: 7.8s (22.8x, -----) dr: 5.1s (14.9x, -----) ma: 2.3s ( 6.7x, -----) fbench valgrind-old:0.34s no: 2.2s ( 6.6x, 1.3%) me: 5.5s (16.3x, -0.4%) ca: 8.8s (25.9x, -0.7%) he: 5.3s (15.5x, -0.4%) ca: 7.6s (22.4x, 1.8%) dr: 4.9s (14.4x, 3.2%) ma: 2.3s ( 6.8x, -0.4%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.3s ( 3.0x, -----) me: 2.8s ( 6.2x, -----) ca: 2.6s ( 5.8x, -----) he: 7.4s (16.4x, -----) ca: 7.6s (17.0x, -----) dr: 5.1s (11.3x, -----) ma: 1.1s ( 2.4x, -----) ffbench valgrind-old:0.45s no: 1.0s ( 2.3x, 23.3%) me: 2.8s ( 6.2x, 0.0%) ca: 2.7s ( 5.9x, -1.1%) he: 7.3s (16.1x, 1.9%) ca: 7.5s (16.8x, 1.2%) dr: 5.0s (11.0x, 2.2%) ma: 1.0s ( 2.3x, 5.6%) -- heap -- heap valgrind-new:0.41s no: 2.4s ( 5.9x, -----) me: 9.9s (24.2x, -----) ca:13.1s (32.0x, -----) he:11.9s (28.9x, -----) ca:12.1s (29.4x, -----) dr: 8.5s (20.8x, -----) ma: 8.6s (21.1x, -----) heap valgrind-old:0.41s no: 2.4s ( 6.0x, -0.8%) me: 9.9s (24.2x, -0.1%) ca:13.2s (32.1x, -0.5%) he:11.8s (28.8x, 0.6%) ca:12.2s (29.6x, -0.7%) dr: 8.5s (20.6x, 0.8%) ma: 8.6s (21.0x, 0.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.42s no: 2.6s ( 6.2x, -----) me:13.9s (33.0x, -----) ca:14.0s (33.3x, -----) he:13.3s (31.8x, -----) ca:13.3s (31.8x, -----) dr: 9.4s (22.4x, -----) ma: 8.7s (20.8x, -----) heap_pdb4 valgrind-old:0.42s no: 2.6s ( 6.1x, 1.1%) me:13.8s (33.0x, 0.1%) ca:14.8s (35.3x, -5.9%) he:13.3s (31.8x, -0.1%) ca:13.3s (31.6x, 0.5%) dr: 9.3s (22.1x, 1.2%) ma: 8.8s (20.8x, -0.2%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (18.0x, -----) me: 2.2s (73.0x, -----) ca: 1.9s (62.3x, -----) he: 1.9s (62.0x, -----) ca: 1.9s (65.0x, -----) dr: 1.6s (52.7x, -----) ma: 1.6s (52.0x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.7x, 1.9%) me: 2.2s (73.3x, -0.5%) ca: 1.9s (62.0x, 0.5%) he: 1.8s (61.3x, 1.1%) ca: 1.9s (62.0x, 4.6%) dr: 1.6s (53.3x, -1.3%) ma: 1.6s (54.0x, -3.8%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.7s (10.6x, -----) me: 3.4s (49.0x, -----) ca: 4.9s (69.7x, -----) he: 4.8s (68.7x, -----) ca: 3.0s (42.9x, -----) dr: 2.4s (33.9x, -----) ma: 2.4s (33.6x, -----) many-xpts valgrind-old:0.07s no: 0.8s (11.0x, -4.1%) me: 3.5s (50.1x, -2.3%) ca: 4.8s (69.0x, 1.0%) he: 5.0s (71.0x, -3.3%) ca: 2.9s (42.0x, 2.0%) dr: 2.4s (33.9x, 0.0%) ma: 2.3s (33.0x, 1.7%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (21.0x, -----) me: 3.2s (159.5x, -----) ca: 3.0s (151.5x, -----) he:11.4s (569.0x, -----) ca: 1.8s (88.5x, -----) dr: 1.1s (54.5x, -----) ma: 0.4s (22.0x, -----) sarp valgrind-old:0.02s no: 0.4s (21.0x, 0.0%) me: 3.2s (160.5x, -0.6%) ca: 3.0s (151.5x, 0.0%) he:11.2s (560.5x, 1.5%) ca: 1.7s (83.5x, 5.6%) dr: 1.1s (54.5x, 0.0%) ma: 0.4s (20.5x, 6.8%) -- tinycc -- tinycc valgrind-new:0.27s no: 3.0s (11.0x, -----) me:14.2s (52.5x, -----) ca:17.3s (64.1x, -----) he:19.3s (71.4x, -----) ca:15.9s (58.9x, -----) dr:12.4s (45.9x, -----) ma: 3.8s (14.0x, -----) tinycc valgrind-old:0.27s no: 3.1s (11.4x, -3.4%) me:14.2s (52.4x, 0.2%) ca:17.2s (63.6x, 0.9%) he:19.0s (70.3x, 1.6%) ca:15.7s (58.0x, 1.6%) dr:12.4s (45.9x, 0.1%) ma: 3.8s (14.1x, -0.8%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 54m47.934s user 53m12.624s sys 0m19.083s |
|
From: Tom H. <to...@co...> - 2014-02-25 04:27:00
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) GDB: Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.13.3-201.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-02-25 03:52:52 GMT Ended at 2014-02-25 04:26:38 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 645 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-02-25 04:07:13
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1) Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1 C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537) uname -mrs: Linux 3.7.9-1.1-desktop x86_64 Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t). Nightly build on ultra ( gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] Linux 3.7.9-1.1-desktop x86_64 ) Started at 2014-02-24 21:30:01 CST Ended at 2014-02-24 22:07:00 CST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 666 tests, 0 stderr failures, 0 stdout failures, 1 stderrB failure, 0 stdoutB failures, 0 post failures == gdbserver_tests/mssnapshot (stderrB) ================================================= ./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-24 21:52:05.019112876 -0600 +++ mssnapshot.stderrB.out 2014-02-24 21:56:10.272185353 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue ================================================= ./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff ================================================= --- mssnapshot.stderrB.exp 2014-02-24 21:34:52.949366923 -0600 +++ mssnapshot.stderrB.out 2014-02-24 21:39:18.625812857 -0600 @@ -1,5 +1,11 @@ relaying data between gdb and process .... +Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2 +Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158" vgdb-error value changed from 0 to 999999 +Missing separate debuginfo for /lib64/libpthread.so.0 +Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef" +Missing separate debuginfo for /lib64/libc.so.6 +Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7" general valgrind monitor commands: help [debug] : monitor command help. With debug: + debugging commands v.wait [<ms>] : sleep <ms> (default 0) then continue |
|
From: Tom H. <to...@co...> - 2014-02-25 03:53:23
|
valgrind revision: 13838
VEX revision: 2824
C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)
GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16)
Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716
C library: GNU C Library development release version 2.14.90
uname -mrs: Linux 3.13.3-201.fc20.x86_64 x86_64
Vendor version: Fedora release 16 (Verne)
Nightly build on bristol ( x86_64, Fedora 16 )
Started at 2014-02-25 03:03:04 GMT
Ended at 2014-02-25 03:53:09 GMT
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... done
Regression test results follow
== 673 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 673 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
none/tests/fdleak_ipv4 (stderr)
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-02-25 03:35:21.393238718 +0000
--- new.short 2014-02-25 03:53:09.320727504 +0000
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... failed
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... done
***************
*** 8,11 ****
! == 673 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! none/tests/fdleak_ipv4 (stderr)
--- 8,10 ----
! == 673 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
|
|
From: Tom H. <to...@co...> - 2014-02-25 03:52:38
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.13.3-201.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-02-25 03:12:39 GMT Ended at 2014-02-25 03:52:26 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 673 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Tom H. <to...@co...> - 2014-02-25 03:35:34
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) GDB: GNU gdb (GDB) Fedora (7.4.50.20120120-54.fc17) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.13.3-201.fc20.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2014-02-25 02:51:37 GMT Ended at 2014-02-25 03:35:20 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 5 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) none/tests/fdleak_ipv4 (stdout) none/tests/fdleak_ipv4 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2014-02-25 03:10:22.438094816 +0000 --- new.short 2014-02-25 03:35:20.983246581 +0000 *************** *** 8,10 **** ! == 673 tests, 4 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) --- 8,10 ---- ! == 673 tests, 5 stderr failures, 2 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) *************** *** 12,13 **** --- 12,15 ---- gdbserver_tests/mcmain_pic (stderr) + none/tests/fdleak_ipv4 (stdout) + none/tests/fdleak_ipv4 (stderr) exp-sgcheck/tests/preen_invars (stdout) |
|
From: Tom H. <to...@co...> - 2014-02-25 03:19:20
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora 7.5.1-42.fc18 Assembler: GNU assembler version 2.23.51.0.1-10.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.13.3-201.fc20.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2014-02-25 02:42:06 GMT Ended at 2014-02-25 03:19:08 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Tom H. <to...@co...> - 2014-02-25 03:14:03
|
valgrind revision: 13838 VEX revision: 2824 C compiler: gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7) GDB: GNU gdb (GDB) Fedora 7.6.1-46.fc19 Assembler: GNU assembler version 2.23.52.0.1-9.fc19 20130226 C library: GNU C Library (GNU libc) stable release version 2.17 uname -mrs: Linux 3.13.3-201.fc20.x86_64 x86_64 Vendor version: Fedora release 19 (Schrödingerâs Cat) Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) ) Started at 2014-02-25 02:32:13 GMT Ended at 2014-02-25 03:13:51 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 673 tests, 2 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/dw4 (stderr) exp-sgcheck/tests/hackedbz2 (stderr) |
|
From: <sv...@va...> - 2014-02-24 21:01:24
|
Author: cborntra
Date: Mon Feb 24 21:01:14 2014
New Revision: 13838
Log:
This fixes the shadow validity setup of SP,IA and FPC. The current
code misses a char * cast and thus uses a wrong pointer for memset.
This resulted in corruptions of a thread state for multi threaded
programs. After vex: r2818 the memset did overwrite the tid value
of a thread, making this bug visible.
Lets use the c structures instead of pointer arithmetics.
Modified:
trunk/NEWS
trunk/coregrind/m_initimg/initimg-linux.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Mon Feb 24 21:01:14 2014
@@ -63,6 +63,7 @@
331337 s390x WARNING: unhandled syscall: 326 (dup3)
331380 Syscall param timer_create(evp) points to uninitialised byte(s)
n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling
+n-i-bz s390x: Fix memory corruption for multithreaded applications
Release 3.9.0 (31 October 2013)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/coregrind/m_initimg/initimg-linux.c
==============================================================================
--- trunk/coregrind/m_initimg/initimg-linux.c (original)
+++ trunk/coregrind/m_initimg/initimg-linux.c Mon Feb 24 21:01:14 2014
@@ -1078,9 +1078,9 @@
VG_(memset)(&arch->vex_shadow1, 0xFF, sizeof(VexGuestS390XState));
VG_(memset)(&arch->vex_shadow2, 0x00, sizeof(VexGuestS390XState));
/* ... except SP, FPC, and IA */
- VG_(memset)(&arch->vex_shadow1 + VG_O_STACK_PTR, 0x00, 8);
- VG_(memset)(&arch->vex_shadow1 + VG_O_FPC_REG, 0x00, 4);
- VG_(memset)(&arch->vex_shadow1 + VG_O_INSTR_PTR, 0x00, 8);
+ arch->vex_shadow1.guest_SP = 0;
+ arch->vex_shadow1.guest_fpc = 0;
+ arch->vex_shadow1.guest_IA = 0;
/* Put essential stuff into the new state. */
arch->vex.guest_SP = iifii.initial_client_SP;
|
|
From: Christian B. <bor...@de...> - 2014-02-24 20:54:10
|
On 19/02/14 17:38, Florian Krohm wrote:
> On 02/19/2014 12:11 PM, Maran Pakkirisamy wrote:
>
>> The test case fails from VEX r2818. Also the failure is not happening
>> always. Sometimes the testcase passes.
>> If I revert the changes in trunk/pub/libvex_guest_s390x.h, the testcase
>> passes all the time.
>
> Reverting r2818 is not exactly what we want as the problem is s390x
> specific. Can you add this assert somewhere
>
> vassert(sizeof(VexGuestS390XState) == 432);
>
> and see whether it fires? 432 is the expected size of the guest state
> but there is some trickery with a [0] array at the end of the guest
> state. This *should* work according to my reading of the docs but who knows.
The problem is fixed by the following code.
===================================================================
--- coregrind/m_initimg/initimg-linux.c (revision 13837)
+++ coregrind/m_initimg/initimg-linux.c (working copy)
@@ -1078,9 +1078,9 @@
VG_(memset)(&arch->vex_shadow1, 0xFF, sizeof(VexGuestS390XState));
VG_(memset)(&arch->vex_shadow2, 0x00, sizeof(VexGuestS390XState));
/* ... except SP, FPC, and IA */
- VG_(memset)(&arch->vex_shadow1 + VG_O_STACK_PTR, 0x00, 8);
- VG_(memset)(&arch->vex_shadow1 + VG_O_FPC_REG, 0x00, 4);
- VG_(memset)(&arch->vex_shadow1 + VG_O_INSTR_PTR, 0x00, 8);
+ arch->vex_shadow1.guest_SP = 0;
+ arch->vex_shadow1.guest_fpc = 0;
+ arch->vex_shadow1.guest_IA = 0;
/* Put essential stuff into the new state. */
arch->vex.guest_SP = iifii.initial_client_SP;
My current understanding is:
The pointer arithmetic is wrong. So we zeroed out 20 bytes somewhere else
in the VG_(threads) array. With the last changes we hit the tid field, causing
the assert to trigger.
Christian
|
|
From: Petr P. <se...@da...> - 2014-02-24 19:54:01
|
On 19. úno 14 19:42, Lionel Cons wrote: > On 24 May 2012 04:33, Lionel Cons <lio...@go...> wrote: > > On Thu, Sep 8, 2011 at 10:57 PM, Petr Pavlu <se...@da...> wrote: > >> Hello, > >> > >> I would like to inform the list that I started working on a port > >> of Valgrind to Solaris OS. The port aims at x86 architecture and > >> recent Solaris versions (i.e. SunOS 5.11 kernel). Code lives > >> at [1] but it currently doesn't do much. I'm sending this email > >> to make sure nobody already works on it. > >> > >> [1] https://bitbucket.org/setupji/valgrind-solaris > > > > Petr, what's the current status of valgrind on solaris? Is both 32bit > > and 64bit x86 supported? Are you going to support SPARC64? > > Are there any major updates since May 2012? Are you planning to > support the (open-)solaris fork "Illumos" [http://www.illumos.org]? Hello Lionel, There were many changes since May 2012. We added new syscall wrappers, support for the door syscall, coredump support, gdbserver was enabled and many bugs were fixed. Yes, illumos is supported. Petr |
|
From: Florian K. <fl...@ei...> - 2014-02-24 15:14:04
|
On 02/24/2014 03:26 PM, Roland Mainz wrote: > On Mon, Feb 24, 2014 at 11:02 AM, Julian Seward <js...@ac...> wrote: > > Just curious: > Does valgrind have 128bit floating-point support somewhere? If "yes" > ... could core parts of it be adopted/"dumbed down" to do some of the > 80bit parts ? The s390 port supports 128-bit floating point. You could look at that for how it is integrated. But it won't buy you much otherwise. The problem with this task is not that it is difficult. The issue is that it is mostly busy work and the testing part is as unsexy as it is important. Maybe somebody with ties into Intel or AMD can convince them to sponsor a person to do the work.... Florian |
|
From: <sv...@va...> - 2014-02-24 15:09:35
|
Author: mjw
Date: Mon Feb 24 15:09:21 2014
New Revision: 13837
Log:
BZ#331380 cont. Don't crash if evp->sigev_notify is invalid. Fix scalar test.
We check evp.sigev_notify_thread_id only if evp->sigev_notify has
SIGEV_THREAD_ID set. But before checking we need to make sure accessing
evp->sigev_notify is valid.
Fix memcheck/tests/x86-linux/scalar.stderr.exp output.
We now produce separate warnings for the 3 different fields.
Modified:
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/memcheck/tests/x86-linux/scalar.stderr.exp
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Mon Feb 24 15:09:21 2014
@@ -2183,7 +2183,8 @@
sizeof(int) );
PRE_MEM_READ( "timer_create(evp.sigev_notify)", (Addr)&evp->sigev_notify,
sizeof(int) );
- if ((evp->sigev_notify & VKI_SIGEV_THREAD_ID) != 0)
+ if (ML_(safe_to_deref)(&evp->sigev_notify, sizeof(int))
+ && (evp->sigev_notify & VKI_SIGEV_THREAD_ID) != 0)
PRE_MEM_READ( "timer_create(evp.sigev_notify_thread_id)",
(Addr)&evp->vki_sigev_notify_thread_id, sizeof(int) );
}
Modified: trunk/memcheck/tests/x86-linux/scalar.stderr.exp
==============================================================================
--- trunk/memcheck/tests/x86-linux/scalar.stderr.exp (original)
+++ trunk/memcheck/tests/x86-linux/scalar.stderr.exp Mon Feb 24 15:09:21 2014
@@ -3602,7 +3602,17 @@
...
by 0x........: main (scalar.c:1158)
-Syscall param timer_create(evp) points to unaddressable byte(s)
+Syscall param timer_create(evp.sigev_value) points to unaddressable byte(s)
+ ...
+ by 0x........: main (scalar.c:1158)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param timer_create(evp.sigev_signo) points to unaddressable byte(s)
+ ...
+ by 0x........: main (scalar.c:1158)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+Syscall param timer_create(evp.sigev_notify) points to unaddressable byte(s)
...
by 0x........: main (scalar.c:1158)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
|
|
From: <sv...@va...> - 2014-02-24 15:06:23
|
Author: tom
Date: Mon Feb 24 15:06:06 2014
New Revision: 13836
Log:
Handle IPv6 addresses when reporting open file descriptors.
Based on a patch from Roger Light on BZ#175819.
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Mon Feb 24 15:06:06 2014
@@ -35,6 +35,7 @@
https://bugs.kde.org/show_bug.cgi?id=XXXXXX
where XXXXXX is the bug number as listed below.
+175819 Support for ipv6 socket reporting with --track-fds
308729 vex x86->IR: unhandled instruction bytes 0xf 0x5 (syscall)
325714 Empty vgcore but RLIMIT_CORE is big enough (too big)
325856 Make SGCheck fail gracefully on unsupported platforms
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c Mon Feb 24 15:06:06 2014
@@ -608,7 +608,7 @@
}
static
-HChar *unix2name(struct vki_sockaddr_un *sa, UInt len, HChar *name)
+HChar *unix_to_name(struct vki_sockaddr_un *sa, UInt len, HChar *name)
{
if (sa == NULL || len == 0 || sa->sun_path[0] == '\0') {
VG_(sprintf)(name, "<unknown>");
@@ -620,20 +620,80 @@
}
static
-HChar *inet2name(struct vki_sockaddr_in *sa, UInt len, HChar *name)
+HChar *inet_to_name(struct vki_sockaddr_in *sa, UInt len, HChar *name)
{
if (sa == NULL || len == 0) {
VG_(sprintf)(name, "<unknown>");
+ } else if (sa->sin_port == 0) {
+ VG_(sprintf)(name, "<unbound>");
} else {
UInt addr = VG_(ntohl)(sa->sin_addr.s_addr);
- if (addr == 0) {
- VG_(sprintf)(name, "<unbound>");
- } else {
- VG_(sprintf)(name, "%u.%u.%u.%u:%u",
- (addr>>24) & 0xFF, (addr>>16) & 0xFF,
- (addr>>8) & 0xFF, addr & 0xFF,
- VG_(ntohs)(sa->sin_port));
+ VG_(sprintf)(name, "%u.%u.%u.%u:%u",
+ (addr>>24) & 0xFF, (addr>>16) & 0xFF,
+ (addr>>8) & 0xFF, addr & 0xFF,
+ VG_(ntohs)(sa->sin_port));
+ }
+
+ return name;
+}
+
+static
+void inet6_format(HChar *s, const UChar ip[16])
+{
+ static const unsigned char V4mappedprefix[12] = {0,0,0,0,0,0,0,0,0,0,0xff,0xff};
+
+ if (!VG_(memcmp)(ip, V4mappedprefix, 12)) {
+ struct vki_in_addr *sin_addr = (struct vki_in_addr *)(ip + 12);
+ UInt addr = VG_(ntohl)(sin_addr->s_addr);
+
+ VG_(sprintf)(s, "::ffff:%u.%u.%u.%u",
+ (addr>>24) & 0xFF, (addr>>16) & 0xFF,
+ (addr>>8) & 0xFF, addr & 0xFF);
+ } else {
+ Bool compressing = False;
+ Bool compressed = False;
+ Int len = 0;
+ Int i;
+
+ for (i = 0; i < 16; i += 2) {
+ UInt word = ((UInt)ip[i] << 8) | (UInt)ip[i+1];
+ if (word == 0 && !compressed) {
+ compressing = True;
+ } else {
+ if (compressing) {
+ compressing = False;
+ compressed = True;
+ s[len++] = ':';
+ }
+ if (i > 0) {
+ s[len++] = ':';
+ }
+ len += VG_(sprintf)(s + len, "%x", word);
+ }
+ }
+
+ if (compressing) {
+ s[len++] = ':';
+ s[len++] = ':';
}
+
+ s[len++] = 0;
+ }
+
+ return;
+}
+
+static
+HChar *inet6_to_name(struct vki_sockaddr_in6 *sa, UInt len, HChar *name)
+{
+ if (sa == NULL || len == 0) {
+ VG_(sprintf)(name, "<unknown>");
+ } else if (sa->sin6_port == 0) {
+ VG_(sprintf)(name, "<unbound>");
+ } else {
+ char addr[128];
+ inet6_format(addr, (void *)&(sa->sin6_addr));
+ VG_(sprintf)(name, "[%s]:%u", addr, VG_(ntohs)(sa->sin6_port));
}
return name;
@@ -648,6 +708,7 @@
union u {
struct vki_sockaddr a;
struct vki_sockaddr_in in;
+ struct vki_sockaddr_in6 in6;
struct vki_sockaddr_un un;
} laddr;
Int llen;
@@ -665,18 +726,34 @@
if (VG_(getpeername)(fd, (struct vki_sockaddr *)&paddr, &plen) != -1) {
VG_(message)(Vg_UserMsg, "Open AF_INET socket %d: %s <-> %s\n", fd,
- inet2name(&(laddr.in), llen, lname),
- inet2name(&paddr, plen, pname));
+ inet_to_name(&(laddr.in), llen, lname),
+ inet_to_name(&paddr, plen, pname));
} else {
VG_(message)(Vg_UserMsg, "Open AF_INET socket %d: %s <-> unbound\n",
- fd, inet2name(&(laddr.in), llen, lname));
+ fd, inet_to_name(&(laddr.in), llen, lname));
+ }
+ return;
+ }
+ case VKI_AF_INET6: {
+ static char lname[128];
+ static char pname[128];
+ struct vki_sockaddr_in6 paddr;
+ Int plen = sizeof(struct vki_sockaddr_in6);
+
+ if (VG_(getpeername)(fd, (struct vki_sockaddr *)&paddr, &plen) != -1) {
+ VG_(message)(Vg_UserMsg, "Open AF_INET6 socket %d: %s <-> %s\n", fd,
+ inet6_to_name(&(laddr.in6), llen, lname),
+ inet6_to_name(&paddr, plen, pname));
+ } else {
+ VG_(message)(Vg_UserMsg, "Open AF_INET6 socket %d: %s <-> unbound\n",
+ fd, inet6_to_name(&(laddr.in6), llen, lname));
}
return;
}
case VKI_AF_UNIX: {
static char lname[256];
VG_(message)(Vg_UserMsg, "Open AF_UNIX socket %d: %s\n", fd,
- unix2name(&(laddr.un), llen, lname));
+ unix_to_name(&(laddr.un), llen, lname));
return;
}
default:
|
|
From: Roland M. <rol...@nr...> - 2014-02-24 14:26:19
|
On Mon, Feb 24, 2014 at 11:02 AM, Julian Seward <js...@ac...> wrote: > >>>> But of course, we all agree it would be nice to have 80 bits floats >>>> properly supported by Valgrind. > > To support this for 64-bit processes would require, roughly: > > * add an F80 (80-bit floating point) type to IR > * add relevant 80-bit equivalents of the relevant IROps > (AddF80, SubF80, SinF80, etc) > * change the front end (guest_amd64_toIR.c) to generate > IR that uses those new IROps > * change the back end (host_amd64_isel.c) to generate 80 > bit FP instructions from that IR. > > Much of the back end stuff could be imported from the x86 (32-bit) > compilation pipeline. That already has machinery to generate > x87 code and in particular to deal with the x87 register-stack > wierdness. > > That would get a baseline simulator (--tool=none) that works OK, > Getting Memcheck to work requires extra steps: [snip] Just curious: Does valgrind have 128bit floating-point support somewhere? If "yes" ... could core parts of it be adopted/"dumbed down" to do some of the 80bit parts ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) rol...@nr... \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;) |
|
From: <sv...@va...> - 2014-02-24 10:39:02
|
Author: mjw
Date: Mon Feb 24 10:38:45 2014
New Revision: 13835
Log:
BZ#331380 Syscall param timer_create(evp) points to uninitialised byte(s)
Only check struct sigevent actually used by the kernel. If SIGEV_THREAD_ID
is set check sigev_notify_thread_id, otherwise don't.
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/include/vki/vki-linux.h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Mon Feb 24 10:38:45 2014
@@ -60,6 +60,7 @@
331257 Fix type of jump buffer in test none/tests/faultstatus
331305 configure uses bash specific syntax
331337 s390x WARNING: unhandled syscall: 326 (dup3)
+331380 Syscall param timer_create(evp) points to uninitialised byte(s)
n-i-bz Fix KVM_CREATE_IRQCHIP ioctl handling
Release 3.9.0 (31 October 2013)
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Mon Feb 24 10:38:45 2014
@@ -2175,8 +2175,18 @@
PRE_REG_READ3(long, "timer_create",
vki_clockid_t, clockid, struct sigevent *, evp,
vki_timer_t *, timerid);
- if (ARG2 != 0)
- PRE_MEM_READ( "timer_create(evp)", ARG2, sizeof(struct vki_sigevent) );
+ if (ARG2 != 0) {
+ struct vki_sigevent *evp = (struct vki_sigevent *) ARG2;
+ PRE_MEM_READ( "timer_create(evp.sigev_value)", (Addr)&evp->sigev_value,
+ sizeof(vki_sigval_t) );
+ PRE_MEM_READ( "timer_create(evp.sigev_signo)", (Addr)&evp->sigev_signo,
+ sizeof(int) );
+ PRE_MEM_READ( "timer_create(evp.sigev_notify)", (Addr)&evp->sigev_notify,
+ sizeof(int) );
+ if ((evp->sigev_notify & VKI_SIGEV_THREAD_ID) != 0)
+ PRE_MEM_READ( "timer_create(evp.sigev_notify_thread_id)",
+ (Addr)&evp->vki_sigev_notify_thread_id, sizeof(int) );
+ }
PRE_MEM_WRITE( "timer_create(timerid)", ARG3, sizeof(vki_timer_t) );
}
POST(sys_timer_create)
Modified: trunk/include/vki/vki-linux.h
==============================================================================
--- trunk/include/vki/vki-linux.h (original)
+++ trunk/include/vki/vki-linux.h Mon Feb 24 10:38:45 2014
@@ -544,6 +544,9 @@
#define VKI_SIGEV_PAD_SIZE ((VKI_SIGEV_MAX_SIZE - VKI___ARCH_SIGEV_PREAMBLE_SIZE) \
/ sizeof(int))
+/* This is the flag the kernel handles, userspace/glibc handles SEGEV_THEAD. */
+#define VKI_SIGEV_THREAD_ID 4
+
typedef struct vki_sigevent {
vki_sigval_t sigev_value;
int sigev_signo;
@@ -559,6 +562,8 @@
} _sigev_un;
} vki_sigevent_t;
+#define vki_sigev_notify_thread_id _sigev_un._tid
+
//----------------------------------------------------------------------
// From elsewhere...
//----------------------------------------------------------------------
|