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
(9) |
2
(7) |
3
(15) |
4
(14) |
|
5
(12) |
6
(18) |
7
(16) |
8
(13) |
9
(14) |
10
(20) |
11
(26) |
|
12
(14) |
13
(25) |
14
(20) |
15
(15) |
16
(14) |
17
(13) |
18
(12) |
|
19
(8) |
20
(16) |
21
(15) |
22
(37) |
23
(15) |
24
(18) |
25
(12) |
|
26
(8) |
27
(13) |
28
(12) |
|
|
|
|
|
From: <sv...@va...> - 2006-02-24 09:53:21
|
Author: njn
Date: 2006-02-24 09:53:11 +0000 (Fri, 24 Feb 2006)
New Revision: 5696
Log:
Remove a bogus assertion, and make the shadow memory measurement 64-bit
clean.
Modified:
branches/COMPVBITS/coregrind/m_oset.c
branches/COMPVBITS/memcheck/mc_main.c
Modified: branches/COMPVBITS/coregrind/m_oset.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/COMPVBITS/coregrind/m_oset.c 2006-02-23 23:26:57 UTC (rev 56=
95)
+++ branches/COMPVBITS/coregrind/m_oset.c 2006-02-24 09:53:11 UTC (rev 56=
96)
@@ -95,7 +95,7 @@
AvlNode* left;
AvlNode* right;
Char balance;
- Char padding[sizeof(void*)-3];
+ Char padding[sizeof(void*)-sizeof(Char)-sizeof(Short)];
Short magic;
};
=20
Modified: branches/COMPVBITS/memcheck/mc_main.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/COMPVBITS/memcheck/mc_main.c 2006-02-23 23:26:57 UTC (rev 56=
95)
+++ branches/COMPVBITS/memcheck/mc_main.c 2006-02-24 09:53:11 UTC (rev 56=
96)
@@ -315,8 +315,6 @@
=20
static void update_SM_counts(SecMap* oldSM, SecMap* newSM)
{
- tl_assert(oldSM !=3D newSM);
- =20
if (oldSM =3D=3D &sm_distinguished[SM_DIST_NOACCESS]) n_noaccess=
_SMs--;
else if (oldSM =3D=3D &sm_distinguished[SM_DIST_WRITABLE]) n_writable=
_SMs--;
else if (oldSM =3D=3D &sm_distinguished[SM_DIST_READABLE]) n_readable=
_SMs--;
@@ -3988,10 +3986,11 @@
=20
// Three DSMs, plus the non-DSM ones
max_SMs_szB =3D (3 + max_non_DSM_SMs) * sizeof(SecMap);
- // The 12 bytes is the AVL node metadata size.
- // The 16 bytes is the malloc metadata size.
- // Hardwiring the numbers in sucks, but I don't see how else to do=
it.
- max_secVBit_szB =3D max_secVBit_nodes * (sizeof(SecVBitNode) + 12 =
+ 16);
+ // The 3*sizeof(Word) bytes is the AVL node metadata size.
+ // The 4*sizeof(Word) bytes is the malloc metadata size.
+ // Hardwiring these sizes in sucks, but I don't see how else to do=
it.
+ max_secVBit_szB =3D max_secVBit_nodes *=20
+ (sizeof(SecVBitNode) + 3*sizeof(Word) + 4*sizeof(Word));
max_shmem_szB =3D sizeof(primary_map) + max_SMs_szB + max_secVBi=
t_szB;
=20
VG_(message)(Vg_DebugMsg,
|
|
From: <js...@ac...> - 2006-02-24 09:40:11
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-02-24 02:00:01 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 == 192 tests, 11 stderr failures, 5 stdout failures ================= memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/stack_changes (stdout) memcheck/tests/stack_changes (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) |
|
From: Josef W. <Jos...@gm...> - 2006-02-24 09:26:47
|
On Friday 24 February 2006 10:04, Geoff Smith wrote: > If lackey actually does -trace-mem, simply adding -trace-instr seems like > a natural. We actually used lackey as the model for the itrace tool. > > I can think of a couple reasons not to monkey with lackey: a.) lackey's > ouput is completely oriented toward generating a summary (at least if you > only consider documented options <g>); That seems to be already violated: IMHO, lackey is already advanced tutorial stuff about detecting memory accesses from VEX code. And summary vs. trace output makes not a huge difference for a valgrind tool example. I did not see the source if itrace yet, but a problem to integrate it with lackey would be if you have a lot of corner cases needing some special handling, which would make it a bad tutorial. > b.) don't want to gum up the > "model" tool Perhaps it would be a better idea to additionally have a really easy tool as tutorial; but perhaps this already is provided with the "none" tool? Another "model" I like to see is for how to make an external tool, which can be distributed separatly from VG source, with its own configure, using installed VG include files and linking to installed VG libs. > The only serious qualm I might have with --trace-instr is that we'd like > to keep the output both terse (small) and easily parsable. Something like --trace-mem is probably always used for postprocessing. So easy parsing should be mandatory. I think that Nick added memory access tracing because this is kind of a FAQ, and people can use lackey as starting point (similar as you did). Josef |
|
From: Geoff S. <gs...@us...> - 2006-02-24 09:03:41
|
> > I would like to send this request to maillist for an open discussion. > > > > Geoff Smith proposed an idea about Instruction Trace at > > http://sourceforge.net/mailarchive/message.php?msg_id=14760370 > > and I would like to explain and advocate his proposal. > > It seems to me that lackey does already a lot of it, especially with > the --trace-mem=yes option in Valgrind SVN (or was this already in > 3.1? "--help" does not talk about it). > > Perhaps it is a better idea to add the missing things to lackey? > AFAICS things missing in lackey wrt itrace: > - print PC together with memory accesses (--trace-instr=yes) > - enable detailed access trace only for some function(s) If lackey actually does -trace-mem, simply adding -trace-instr seems like a natural. We actually used lackey as the model for the itrace tool. I can think of a couple reasons not to monkey with lackey: a.) lackey's ouput is completely oriented toward generating a summary (at least if you only consider documented options <g>); b.) don't want to gum up the "model" tool The only serious qualm I might have with --trace-instr is that we'd like to keep the output both terse (small) and easily parsable. Ideally, you could write an awk script to do simple analysis. (I haven't seen any trace-mem sample output yet, I should get a chance in the morning.) |
|
From: Geoff S. <gs...@us...> - 2006-02-24 09:03:37
|
Julian Seward <js...@ac...> wrote on 02/23/2006 10:07:42 AM: > > > How have you used it? > > > Nick > > > > We took the output trace and fed it into a tool that displays pipeline > > stalls for the Power5 processor. Recently, we have been working on > > improving the performance of a few key routines in glibc. We're currently > > looking at a few functions in the math libraries. > > So the output format of itrace is the same as the input format of your > pipeline tool? (Is the latter open-source?) Not quite, but we wrote a small adapter to convert itrace's straightforward format to the format the pipeline tool wanted. The pipeline tool is not open-source, but it is freely available (as a binary) on IBM's alphaworks site -- it's called IBM Performance Simulator. It's available for a couple processors. For my part, this is just one possible use for itrace, and not even a particularly interesting one (to me, anyway). I am much more interested in code coverage -- this looks like a tractable way to get coverage on optimized code, which is something gcov can't do. Of course, the kinds of projects that need object-level coverage are probably not considering Linux (yet). |
|
From: <js...@ac...> - 2006-02-24 03:58:59
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-02-24 03:30:01 GMT Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 223 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: <js...@ac...> - 2006-02-24 03:57:05
|
Nightly build on g5 ( YDL 4.0, ppc970 ) started at 2006-02-24 04:40:00 CET 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 == 197 tests, 6 stderr failures, 1 stdout failure ================= memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/pointer-trace (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) |
|
From: Tom H. <to...@co...> - 2006-02-24 03:43:37
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2006-02-24 03:30:03 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 == 225 tests, 8 stderr failures, 1 stdout failure ================= memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2006-02-24 03:30:37
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-02-24 03:15:06 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 == 224 tests, 21 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/mempool (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) memcheck/tests/xml1 (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2006-02-24 03:24:52
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-02-24 03:00:03 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 == 245 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/amd64/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2006-02-24 03:24:04
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2006-02-24 03:10:11 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 == 245 tests, 6 stderr failures, 1 stdout failure ================= memcheck/tests/pointer-trace (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/amd64/faultstatus (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2006-02-24 03:19:59
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2006-02-24 03:05:10 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 == 245 tests, 6 stderr failures, 1 stdout failure ================= memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/sse1_memory (stdout) none/tests/amd64/faultstatus (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |
|
From: <sv...@va...> - 2006-02-24 00:14:33
|
Author: sewardj
Date: 2006-02-24 00:14:29 +0000 (Fri, 24 Feb 2006)
New Revision: 1578
Log:
Partially merge r1519 (only allocate from callee-save FP and VMX regs).
Modified:
branches/VEX_3_1_BRANCH/priv/host-ppc32/hdefs.c
Modified: branches/VEX_3_1_BRANCH/priv/host-ppc32/hdefs.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_1_BRANCH/priv/host-ppc32/hdefs.c 2006-02-23 23:47:56 U=
TC (rev 1577)
+++ branches/VEX_3_1_BRANCH/priv/host-ppc32/hdefs.c 2006-02-24 00:14:29 U=
TC (rev 1578)
@@ -227,14 +227,16 @@
// GPR30 AltiVec spill reg temporary
// GPR31 =3D GuestStatePtr
=20
- (*arr)[i++] =3D hregPPC32_FPR0();
- (*arr)[i++] =3D hregPPC32_FPR1();
- (*arr)[i++] =3D hregPPC32_FPR2();
- (*arr)[i++] =3D hregPPC32_FPR3();
- (*arr)[i++] =3D hregPPC32_FPR4();
- (*arr)[i++] =3D hregPPC32_FPR5();
- (*arr)[i++] =3D hregPPC32_FPR6();
- (*arr)[i++] =3D hregPPC32_FPR7();
+ /* For both ppc32-linux and ppc64-linux, f14-f31 are callee save.
+ So use them. */
+ (*arr)[i++] =3D hregPPC32_FPR14();
+ (*arr)[i++] =3D hregPPC32_FPR15();
+ (*arr)[i++] =3D hregPPC32_FPR16();
+ (*arr)[i++] =3D hregPPC32_FPR17();
+ (*arr)[i++] =3D hregPPC32_FPR18();
+ (*arr)[i++] =3D hregPPC32_FPR19();
+ (*arr)[i++] =3D hregPPC32_FPR20();
+ (*arr)[i++] =3D hregPPC32_FPR21();
/*
(*arr)[i++] =3D hregPPC32_FPR8();
(*arr)[i++] =3D hregPPC32_FPR9();
@@ -261,14 +263,16 @@
(*arr)[i++] =3D hregPPC32_FPR30();
(*arr)[i++] =3D hregPPC32_FPR31();
*/
- (*arr)[i++] =3D hregPPC32_VR0();
- (*arr)[i++] =3D hregPPC32_VR1();
- (*arr)[i++] =3D hregPPC32_VR2();
- (*arr)[i++] =3D hregPPC32_VR3();
- (*arr)[i++] =3D hregPPC32_VR4();
- (*arr)[i++] =3D hregPPC32_VR5();
- (*arr)[i++] =3D hregPPC32_VR6();
- (*arr)[i++] =3D hregPPC32_VR7();
+ /* For both ppc32-linux and ppc64-linux, v20-v31 are callee-save.
+ So use them. */
+ (*arr)[i++] =3D hregPPC32_VR20();
+ (*arr)[i++] =3D hregPPC32_VR21();
+ (*arr)[i++] =3D hregPPC32_VR22();
+ (*arr)[i++] =3D hregPPC32_VR23();
+ (*arr)[i++] =3D hregPPC32_VR24();
+ (*arr)[i++] =3D hregPPC32_VR25();
+ (*arr)[i++] =3D hregPPC32_VR26();
+ (*arr)[i++] =3D hregPPC32_VR27();
/*
(*arr)[i++] =3D hregPPC32_VR8();
(*arr)[i++] =3D hregPPC32_VR9();
|
|
From: <sv...@va...> - 2006-02-23 23:48:05
|
Author: sewardj
Date: 2006-02-23 23:47:56 +0000 (Thu, 23 Feb 2006)
New Revision: 1577
Log:
Fold in a fix for ppc32 rounding mode setting, from the trunk.
Modified:
branches/VEX_3_1_BRANCH/priv/guest-ppc32/toIR.c
Modified: branches/VEX_3_1_BRANCH/priv/guest-ppc32/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_1_BRANCH/priv/guest-ppc32/toIR.c 2006-02-23 22:30:35 U=
TC (rev 1576)
+++ branches/VEX_3_1_BRANCH/priv/guest-ppc32/toIR.c 2006-02-23 23:47:56 U=
TC (rev 1577)
@@ -1595,8 +1595,22 @@
=20
/* Allow writes to Rounding Mode */
if (mask & 0x3) {
- stmt( IRStmt_Put( OFFB_FPROUND,
- binop(Iop_And32, src, mkU32(0x3)) ));
+ /* construct new fpround from new and old values as per mask:
+ new fpround =3D (src & (3 & mask)) | (fpround & (3 & ~mask))=
*/
+ stmt(
+ IRStmt_Put(
+ OFFB_FPROUND,
+ binop(
+ Iop_Or32,
+ binop(Iop_And32, src, mkU32(3 & mask)),
+ binop(
+ Iop_And32,
+ IRExpr_Get(OFFB_FPROUND,Ity_I32),
+ mkU32(3 & ~mask)
+ )
+ )
+ )
+ );
}
=20
/* Give EmWarn for attempted writes to:
|
|
From: <sv...@va...> - 2006-02-23 23:27:02
|
Author: sewardj
Date: 2006-02-23 23:26:57 +0000 (Thu, 23 Feb 2006)
New Revision: 5695
Log:
Import this test from the trunk - it checks that floor/ceil handling
works, amongst things.
Added:
branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.c
branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.stderr.exp
branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.stdout.exp
branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.vgtest
Modified:
branches/VALGRIND_3_1_BRANCH/memcheck/tests/Makefile.am
Modified: branches/VALGRIND_3_1_BRANCH/memcheck/tests/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/memcheck/tests/Makefile.am 2006-02-23 23=
:25:57 UTC (rev 5694)
+++ branches/VALGRIND_3_1_BRANCH/memcheck/tests/Makefile.am 2006-02-23 23=
:26:57 UTC (rev 5695)
@@ -98,6 +98,7 @@
toobig-allocs.stderr.exp toobig-allocs.vgtest \
trivialleak.stderr.exp trivialleak.vgtest \
metadata.stderr.exp metadata.stdout.exp metadata.vgtest-HIDING \
+ vcpu_fnfns.stdout.exp vcpu_fnfns.stderr.exp vcpu_fnfns.vgtest \
vgtest_ume.stderr.exp vgtest_ume.disabled \
writev.stderr.exp writev.stderr.exp2 writev.stderr.exp3 writev.vgtest \
xml1.stderr.exp xml1.stderr.exp2 xml1.stderr.exp3 \
@@ -131,7 +132,7 @@
supp_unknown supp1 supp2 suppfree \
trivialleak \
mismatches new_override metadata \
- xml1 \
+ vcpu_fnfns xml1 \
writev zeropage
=20
=20
@@ -149,6 +150,8 @@
supp_unknown_SOURCES =3D badjump.c
supp1_SOURCES =3D supp.c
supp2_SOURCES =3D supp.c
+vcpu_fnfns_CFLAGS =3D $(AM_CFLAGS) -O2 -g
+vcpu_fnfns_LDADD =3D -lm
=20
# C++ tests
mismatches_SOURCES =3D mismatches.cpp
Added: branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.c =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.c 2006-02-23 2=
3:26:57 UTC (rev 5695)
@@ -0,0 +1,180 @@
+
+/* Program to check that the FP stuff underlying these common FP
+ functions isn't too badly broken. Carefully kludged to print the
+ same answers on different platforms (even when run natively). */
+
+#include <stdio.h>
+#include <math.h>
+
+int main ( void )
+{
+ double d;
+ float f;
+ int i;
+
+ const double tinyD =3D 0.0000000001;
+ const double tinyF =3D 0.0001;
+
+ /* -------------------- any arg -------------------- */
+
+ d =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf("floorD(%+20.13e) =3D %+20.13e\n", d, floor(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf("floorF(%+20.4e) =3D %+20.4e\n", (double)f, (double)floorf(=
f));
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" ceilD(%+20.13e) =3D %+20.13e\n", d, ceil(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" ceilF(%+20.4e) =3D %+20.4e\n", (double)f, (double)ceilf(f=
));
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" sinD(%+20.13e) =3D %+20.13e\n", d, sin(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" sinF(%+20.4e) =3D %+20.4e\n", (double)f, (double)sinf(f)=
);
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" cosD(%+20.13e) =3D %+20.13e\n", d, cos(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" cosF(%+20.4e) =3D %+20.4e\n", (double)f, (double)cosf(f)=
);
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" tanD(%+20.13e) =3D %+20.13e\n", d, tan(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" tanF(%+20.4e) =3D %+20.4e\n", (double)f, (double)tanf(f)=
);
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" expD(%+20.13e) =3D %+20.13e\n", d, exp(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -2.0;
+ for (i =3D 0; i < 41; i++) {
+ printf(" expF(%+20.4e) =3D %+20.4e\n", (double)f, (double)expf(f)=
);
+ f +=3D 0.1-tinyF;
+ }
+
+ /* -------------------- >=3D 0 arg -------------------- */
+
+ d =3D 0.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" sqrtD(%+20.13e) =3D %+20.13e\n", d, sqrt(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D 0.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" sqrtF(%+20.4e) =3D %+20.4e\n", (double)f, (double)sqrtf(f=
));
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D 0.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" logD(%+20.13e) =3D %+20.13e\n", d, log(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D 0.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" logF(%+20.4e) =3D %+20.4e\n", (double)f, (double)logf(f)=
);
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D 0.0;
+ for (i =3D 0; i < 21; i++) {
+ printf("log10D(%+20.13e) =3D %+20.13e\n", d, log10(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D 0.0;
+ for (i =3D 0; i < 21; i++) {
+ printf("log10F(%+20.4e) =3D %+20.4e\n", (double)f, (double)log10f(=
f));
+ f +=3D 0.1-tinyF;
+ }
+
+ /* -------------------- -1 .. +1 arg -------------------- */
+
+ d =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" asinD(%+20.13e) =3D %+20.13e\n", d, asin(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" asinF(%+20.4e) =3D %+20.4e\n", (double)f, (double)asinf(f=
));
+ f +=3D 0.1-tinyF;
+ }
+
+ /* acos(double) seems very prone to accuracy loss near the end of
+ the range (arg --> +1.0). Hence is different from the rest to
+ stop it getting so close to 1.0. */
+ d =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" acosD(%+20.13e) =3D %+20.10e\n", d, acos(d));
+ d +=3D 0.1 - 1000.0*tinyD;
+ }
+ f =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" acosF(%+20.4e) =3D %+20.4e\n", (double)f, (double)acosf(f=
));
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" atanD(%+20.13e) =3D %+20.13e\n", d, atan(d));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf(" atanF(%+20.4e) =3D %+20.4e\n", (double)f, (double)atanf(f=
));
+ f +=3D 0.1-tinyF;
+ }
+
+
+ d =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf("atan2D(%+20.13e) =3D %+20.13e\n", d, atan2(d, 1.0));
+ d +=3D 0.1-tinyD;
+ }
+ f =3D -1.0;
+ for (i =3D 0; i < 21; i++) {
+ printf("atan2F(%+20.4e) =3D %+20.4e\n", (double)f, (double)atan2f(=
f,1.0));
+ f +=3D 0.1-tinyF;
+ }
+
+ return 0;
+}
Added: branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.stderr.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Added: branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.stdout.exp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.stdout.exp =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.stdout.exp 200=
6-02-23 23:26:57 UTC (rev 5695)
@@ -0,0 +1,786 @@
+floorD(-2.0000000000000e+00) =3D -2.0000000000000e+00
+floorD(-1.9000000001000e+00) =3D -2.0000000000000e+00
+floorD(-1.8000000002000e+00) =3D -2.0000000000000e+00
+floorD(-1.7000000003000e+00) =3D -2.0000000000000e+00
+floorD(-1.6000000004000e+00) =3D -2.0000000000000e+00
+floorD(-1.5000000005000e+00) =3D -2.0000000000000e+00
+floorD(-1.4000000006000e+00) =3D -2.0000000000000e+00
+floorD(-1.3000000007000e+00) =3D -2.0000000000000e+00
+floorD(-1.2000000008000e+00) =3D -2.0000000000000e+00
+floorD(-1.1000000009000e+00) =3D -2.0000000000000e+00
+floorD(-1.0000000010000e+00) =3D -2.0000000000000e+00
+floorD(-9.0000000110000e-01) =3D -1.0000000000000e+00
+floorD(-8.0000000120000e-01) =3D -1.0000000000000e+00
+floorD(-7.0000000130000e-01) =3D -1.0000000000000e+00
+floorD(-6.0000000140000e-01) =3D -1.0000000000000e+00
+floorD(-5.0000000150000e-01) =3D -1.0000000000000e+00
+floorD(-4.0000000160000e-01) =3D -1.0000000000000e+00
+floorD(-3.0000000170000e-01) =3D -1.0000000000000e+00
+floorD(-2.0000000180000e-01) =3D -1.0000000000000e+00
+floorD(-1.0000000190000e-01) =3D -1.0000000000000e+00
+floorD(-1.9999992495467e-09) =3D -1.0000000000000e+00
+floorD(+9.9999997900001e-02) =3D +0.0000000000000e+00
+floorD(+1.9999999780000e-01) =3D +0.0000000000000e+00
+floorD(+2.9999999770000e-01) =3D +0.0000000000000e+00
+floorD(+3.9999999760000e-01) =3D +0.0000000000000e+00
+floorD(+4.9999999750000e-01) =3D +0.0000000000000e+00
+floorD(+5.9999999740000e-01) =3D +0.0000000000000e+00
+floorD(+6.9999999730000e-01) =3D +0.0000000000000e+00
+floorD(+7.9999999720000e-01) =3D +0.0000000000000e+00
+floorD(+8.9999999710000e-01) =3D +0.0000000000000e+00
+floorD(+9.9999999700000e-01) =3D +0.0000000000000e+00
+floorD(+1.0999999969000e+00) =3D +1.0000000000000e+00
+floorD(+1.1999999968000e+00) =3D +1.0000000000000e+00
+floorD(+1.2999999967000e+00) =3D +1.0000000000000e+00
+floorD(+1.3999999966000e+00) =3D +1.0000000000000e+00
+floorD(+1.4999999965000e+00) =3D +1.0000000000000e+00
+floorD(+1.5999999964000e+00) =3D +1.0000000000000e+00
+floorD(+1.6999999963000e+00) =3D +1.0000000000000e+00
+floorD(+1.7999999962000e+00) =3D +1.0000000000000e+00
+floorD(+1.8999999961000e+00) =3D +1.0000000000000e+00
+floorD(+1.9999999960000e+00) =3D +1.0000000000000e+00
+floorF( -2.0000e+00) =3D -2.0000e+00
+floorF( -1.9001e+00) =3D -2.0000e+00
+floorF( -1.8002e+00) =3D -2.0000e+00
+floorF( -1.7003e+00) =3D -2.0000e+00
+floorF( -1.6004e+00) =3D -2.0000e+00
+floorF( -1.5005e+00) =3D -2.0000e+00
+floorF( -1.4006e+00) =3D -2.0000e+00
+floorF( -1.3007e+00) =3D -2.0000e+00
+floorF( -1.2008e+00) =3D -2.0000e+00
+floorF( -1.1009e+00) =3D -2.0000e+00
+floorF( -1.0010e+00) =3D -2.0000e+00
+floorF( -9.0110e-01) =3D -1.0000e+00
+floorF( -8.0120e-01) =3D -1.0000e+00
+floorF( -7.0130e-01) =3D -1.0000e+00
+floorF( -6.0140e-01) =3D -1.0000e+00
+floorF( -5.0150e-01) =3D -1.0000e+00
+floorF( -4.0160e-01) =3D -1.0000e+00
+floorF( -3.0170e-01) =3D -1.0000e+00
+floorF( -2.0180e-01) =3D -1.0000e+00
+floorF( -1.0190e-01) =3D -1.0000e+00
+floorF( -1.9999e-03) =3D -1.0000e+00
+floorF( +9.7900e-02) =3D +0.0000e+00
+floorF( +1.9780e-01) =3D +0.0000e+00
+floorF( +2.9770e-01) =3D +0.0000e+00
+floorF( +3.9760e-01) =3D +0.0000e+00
+floorF( +4.9750e-01) =3D +0.0000e+00
+floorF( +5.9740e-01) =3D +0.0000e+00
+floorF( +6.9730e-01) =3D +0.0000e+00
+floorF( +7.9720e-01) =3D +0.0000e+00
+floorF( +8.9710e-01) =3D +0.0000e+00
+floorF( +9.9700e-01) =3D +0.0000e+00
+floorF( +1.0969e+00) =3D +1.0000e+00
+floorF( +1.1968e+00) =3D +1.0000e+00
+floorF( +1.2967e+00) =3D +1.0000e+00
+floorF( +1.3966e+00) =3D +1.0000e+00
+floorF( +1.4965e+00) =3D +1.0000e+00
+floorF( +1.5964e+00) =3D +1.0000e+00
+floorF( +1.6963e+00) =3D +1.0000e+00
+floorF( +1.7962e+00) =3D +1.0000e+00
+floorF( +1.8961e+00) =3D +1.0000e+00
+floorF( +1.9960e+00) =3D +1.0000e+00
+ ceilD(-2.0000000000000e+00) =3D -2.0000000000000e+00
+ ceilD(-1.9000000001000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.8000000002000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.7000000003000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.6000000004000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.5000000005000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.4000000006000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.3000000007000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.2000000008000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.1000000009000e+00) =3D -1.0000000000000e+00
+ ceilD(-1.0000000010000e+00) =3D -1.0000000000000e+00
+ ceilD(-9.0000000110000e-01) =3D -0.0000000000000e+00
+ ceilD(-8.0000000120000e-01) =3D -0.0000000000000e+00
+ ceilD(-7.0000000130000e-01) =3D -0.0000000000000e+00
+ ceilD(-6.0000000140000e-01) =3D -0.0000000000000e+00
+ ceilD(-5.0000000150000e-01) =3D -0.0000000000000e+00
+ ceilD(-4.0000000160000e-01) =3D -0.0000000000000e+00
+ ceilD(-3.0000000170000e-01) =3D -0.0000000000000e+00
+ ceilD(-2.0000000180000e-01) =3D -0.0000000000000e+00
+ ceilD(-1.0000000190000e-01) =3D -0.0000000000000e+00
+ ceilD(-1.9999992495467e-09) =3D -0.0000000000000e+00
+ ceilD(+9.9999997900001e-02) =3D +1.0000000000000e+00
+ ceilD(+1.9999999780000e-01) =3D +1.0000000000000e+00
+ ceilD(+2.9999999770000e-01) =3D +1.0000000000000e+00
+ ceilD(+3.9999999760000e-01) =3D +1.0000000000000e+00
+ ceilD(+4.9999999750000e-01) =3D +1.0000000000000e+00
+ ceilD(+5.9999999740000e-01) =3D +1.0000000000000e+00
+ ceilD(+6.9999999730000e-01) =3D +1.0000000000000e+00
+ ceilD(+7.9999999720000e-01) =3D +1.0000000000000e+00
+ ceilD(+8.9999999710000e-01) =3D +1.0000000000000e+00
+ ceilD(+9.9999999700000e-01) =3D +1.0000000000000e+00
+ ceilD(+1.0999999969000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.1999999968000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.2999999967000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.3999999966000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.4999999965000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.5999999964000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.6999999963000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.7999999962000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.8999999961000e+00) =3D +2.0000000000000e+00
+ ceilD(+1.9999999960000e+00) =3D +2.0000000000000e+00
+ ceilF( -2.0000e+00) =3D -2.0000e+00
+ ceilF( -1.9001e+00) =3D -1.0000e+00
+ ceilF( -1.8002e+00) =3D -1.0000e+00
+ ceilF( -1.7003e+00) =3D -1.0000e+00
+ ceilF( -1.6004e+00) =3D -1.0000e+00
+ ceilF( -1.5005e+00) =3D -1.0000e+00
+ ceilF( -1.4006e+00) =3D -1.0000e+00
+ ceilF( -1.3007e+00) =3D -1.0000e+00
+ ceilF( -1.2008e+00) =3D -1.0000e+00
+ ceilF( -1.1009e+00) =3D -1.0000e+00
+ ceilF( -1.0010e+00) =3D -1.0000e+00
+ ceilF( -9.0110e-01) =3D -0.0000e+00
+ ceilF( -8.0120e-01) =3D -0.0000e+00
+ ceilF( -7.0130e-01) =3D -0.0000e+00
+ ceilF( -6.0140e-01) =3D -0.0000e+00
+ ceilF( -5.0150e-01) =3D -0.0000e+00
+ ceilF( -4.0160e-01) =3D -0.0000e+00
+ ceilF( -3.0170e-01) =3D -0.0000e+00
+ ceilF( -2.0180e-01) =3D -0.0000e+00
+ ceilF( -1.0190e-01) =3D -0.0000e+00
+ ceilF( -1.9999e-03) =3D -0.0000e+00
+ ceilF( +9.7900e-02) =3D +1.0000e+00
+ ceilF( +1.9780e-01) =3D +1.0000e+00
+ ceilF( +2.9770e-01) =3D +1.0000e+00
+ ceilF( +3.9760e-01) =3D +1.0000e+00
+ ceilF( +4.9750e-01) =3D +1.0000e+00
+ ceilF( +5.9740e-01) =3D +1.0000e+00
+ ceilF( +6.9730e-01) =3D +1.0000e+00
+ ceilF( +7.9720e-01) =3D +1.0000e+00
+ ceilF( +8.9710e-01) =3D +1.0000e+00
+ ceilF( +9.9700e-01) =3D +1.0000e+00
+ ceilF( +1.0969e+00) =3D +2.0000e+00
+ ceilF( +1.1968e+00) =3D +2.0000e+00
+ ceilF( +1.2967e+00) =3D +2.0000e+00
+ ceilF( +1.3966e+00) =3D +2.0000e+00
+ ceilF( +1.4965e+00) =3D +2.0000e+00
+ ceilF( +1.5964e+00) =3D +2.0000e+00
+ ceilF( +1.6963e+00) =3D +2.0000e+00
+ ceilF( +1.7962e+00) =3D +2.0000e+00
+ ceilF( +1.8961e+00) =3D +2.0000e+00
+ ceilF( +1.9960e+00) =3D +2.0000e+00
+ sinD(-2.0000000000000e+00) =3D -9.0929742682568e-01
+ sinD(-1.9000000001000e+00) =3D -9.4630008765509e-01
+ sinD(-1.8000000002000e+00) =3D -9.7384763083275e-01
+ sinD(-1.7000000003000e+00) =3D -9.9166481041382e-01
+ sinD(-1.6000000004000e+00) =3D -9.9957360302983e-01
+ sinD(-1.5000000005000e+00) =3D -9.9749498663942e-01
+ sinD(-1.4000000006000e+00) =3D -9.8544973009044e-01
+ sinD(-1.3000000007000e+00) =3D -9.6355818560444e-01
+ sinD(-1.2000000008000e+00) =3D -9.3203908625711e-01
+ sinD(-1.1000000009000e+00) =3D -8.9120736046967e-01
+ sinD(-1.0000000010000e+00) =3D -8.4147098534820e-01
+ sinD(-9.0000000110000e-01) =3D -7.8332691031125e-01
+ sinD(-8.0000000120000e-01) =3D -7.1735609173557e-01
+ sinD(-7.0000000130000e-01) =3D -6.4421768823199e-01
+ sinD(-6.0000000140000e-01) =3D -5.6464247455050e-01
+ sinD(-5.0000000150000e-01) =3D -4.7942553992058e-01
+ sinD(-4.0000000160000e-01) =3D -3.8941834378235e-01
+ sinD(-3.0000000170000e-01) =3D -2.9552020828541e-01
+ sinD(-2.0000000180000e-01) =3D -1.9866933255918e-01
+ sinD(-1.0000000190000e-01) =3D -9.9833418537335e-02
+ sinD(-1.9999992495467e-09) =3D -1.9999992495467e-09
+ sinD(+9.9999997900001e-02) =3D +9.9833414557320e-02
+ sinD(+1.9999999780000e-01) =3D +1.9866932863892e-01
+ sinD(+2.9999999770000e-01) =3D +2.9552020446407e-01
+ sinD(+3.9999999760000e-01) =3D +3.8941834009810e-01
+ sinD(+4.9999999750000e-01) =3D +4.7942553641025e-01
+ sinD(+5.9999999740000e-01) =3D +5.6464247124916e-01
+ sinD(+6.9999999730000e-01) =3D +6.4421768517262e-01
+ sinD(+7.9999999720000e-01) =3D +7.1735608894874e-01
+ sinD(+8.9999999710000e-01) =3D +7.8332690782481e-01
+ sinD(+9.9999999700000e-01) =3D +8.4147098318699e-01
+ sinD(+1.0999999969000e+00) =3D +8.9120735865529e-01
+ sinD(+1.1999999968000e+00) =3D +9.3203908480768e-01
+ sinD(+1.2999999967000e+00) =3D +9.6355818453445e-01
+ sinD(+1.3999999966000e+00) =3D +9.8544972941057e-01
+ sinD(+1.4999999965000e+00) =3D +9.9749498635647e-01
+ sinD(+1.5999999964000e+00) =3D +9.9957360314662e-01
+ sinD(+1.6999999963000e+00) =3D +9.9166481092919e-01
+ sinD(+1.7999999962000e+00) =3D +9.7384763174156e-01
+ sinD(+1.8999999961000e+00) =3D +9.4630008894824e-01
+ sinD(+1.9999999960000e+00) =3D +9.0929742849027e-01
+ sinF( -2.0000e+00) =3D -9.0930e-01
+ sinF( -1.9001e+00) =3D -9.4627e-01
+ sinF( -1.8002e+00) =3D -9.7380e-01
+ sinF( -1.7003e+00) =3D -9.9163e-01
+ sinF( -1.6004e+00) =3D -9.9956e-01
+ sinF( -1.5005e+00) =3D -9.9753e-01
+ sinF( -1.4006e+00) =3D -9.8555e-01
+ sinF( -1.3007e+00) =3D -9.6375e-01
+ sinF( -1.2008e+00) =3D -9.3233e-01
+ sinF( -1.1009e+00) =3D -8.9162e-01
+ sinF( -1.0010e+00) =3D -8.4201e-01
+ sinF( -9.0110e-01) =3D -7.8401e-01
+ sinF( -8.0120e-01) =3D -7.1819e-01
+ sinF( -7.0130e-01) =3D -6.4521e-01
+ sinF( -6.0140e-01) =3D -5.6580e-01
+ sinF( -5.0150e-01) =3D -4.8074e-01
+ sinF( -4.0160e-01) =3D -3.9089e-01
+ sinF( -3.0170e-01) =3D -2.9714e-01
+ sinF( -2.0180e-01) =3D -2.0043e-01
+ sinF( -1.0190e-01) =3D -1.0172e-01
+ sinF( -1.9999e-03) =3D -1.9999e-03
+ sinF( +9.7900e-02) =3D +9.7744e-02
+ sinF( +1.9780e-01) =3D +1.9651e-01
+ sinF( +2.9770e-01) =3D +2.9332e-01
+ sinF( +3.9760e-01) =3D +3.8721e-01
+ sinF( +4.9750e-01) =3D +4.7723e-01
+ sinF( +5.9740e-01) =3D +5.6249e-01
+ sinF( +6.9730e-01) =3D +6.4215e-01
+ sinF( +7.9720e-01) =3D +7.1540e-01
+ sinF( +8.9710e-01) =3D +7.8152e-01
+ sinF( +9.9700e-01) =3D +8.3985e-01
+ sinF( +1.0969e+00) =3D +8.8980e-01
+ sinF( +1.1968e+00) =3D +9.3087e-01
+ sinF( +1.2967e+00) =3D +9.6267e-01
+ sinF( +1.3966e+00) =3D +9.8487e-01
+ sinF( +1.4965e+00) =3D +9.9724e-01
+ sinF( +1.5964e+00) =3D +9.9967e-01
+ sinF( +1.6963e+00) =3D +9.9213e-01
+ sinF( +1.7962e+00) =3D +9.7470e-01
+ sinF( +1.8961e+00) =3D +9.4755e-01
+ sinF( +1.9960e+00) =3D +9.1095e-01
+ cosD(-2.0000000000000e+00) =3D -4.1614683654714e-01
+ cosD(-1.9000000001000e+00) =3D -3.2328956695813e-01
+ cosD(-1.8000000002000e+00) =3D -2.2720209488786e-01
+ cosD(-1.7000000003000e+00) =3D -1.2884449459302e-01
+ cosD(-1.6000000004000e+00) =3D -2.9199522701118e-02
+ cosD(-1.5000000005000e+00) =3D +7.0737201168956e-02
+ cosD(-1.4000000006000e+00) =3D +1.6996714230897e-01
+ cosD(-1.3000000007000e+00) =3D +2.6749882795010e-01
+ cosD(-1.2000000008000e+00) =3D +3.6235775373104e-01
+ cosD(-1.1000000009000e+00) =3D +4.5359612062349e-01
+ cosD(-1.0000000010000e+00) =3D +5.4030230502667e-01
+ cosD(-9.0000000110000e-01) =3D +6.2160996740901e-01
+ cosD(-8.0000000120000e-01) =3D +6.9670670848634e-01
+ cosD(-7.0000000130000e-01) =3D +7.6484218644701e-01
+ cosD(-6.0000000140000e-01) =3D +8.2533561411918e-01
+ cosD(-5.0000000150000e-01) =3D +8.7758256117123e-01
+ cosD(-4.0000000160000e-01) =3D +9.2106099337982e-01
+ cosD(-3.0000000170000e-01) =3D +9.5533648862322e-01
+ cosD(-2.0000000180000e-01) =3D +9.8006657748364e-01
+ cosD(-1.0000000190000e-01) =3D +9.9500416508834e-01
+ cosD(-1.9999992495467e-09) =3D +1.0000000000000e+00
+ cosD(+9.9999997900001e-02) =3D +9.9500416548768e-01
+ cosD(+1.9999999780000e-01) =3D +9.8006657827831e-01
+ cosD(+2.9999999770000e-01) =3D +9.5533648980530e-01
+ cosD(+3.9999999760000e-01) =3D +9.2106099493749e-01
+ cosD(+4.9999999750000e-01) =3D +8.7758256308894e-01
+ cosD(+5.9999999740000e-01) =3D +8.2533561637775e-01
+ cosD(+6.9999999730000e-01) =3D +7.6484218902388e-01
+ cosD(+7.9999999720000e-01) =3D +6.9670671135576e-01
+ cosD(+8.9999999710000e-01) =3D +6.2160997054231e-01
+ cosD(+9.9999999700000e-01) =3D +5.4030230839255e-01
+ cosD(+1.0999999969000e+00) =3D +4.5359612418832e-01
+ cosD(+1.1999999968000e+00) =3D +3.6235775745920e-01
+ cosD(+1.2999999967000e+00) =3D +2.6749883180433e-01
+ cosD(+1.3999999966000e+00) =3D +1.6996714625077e-01
+ cosD(+1.4999999965000e+00) =3D +7.0737205158934e-02
+ cosD(+1.5999999964000e+00) =3D -2.9199518702825e-02
+ cosD(+1.6999999963000e+00) =3D -1.2884449062637e-01
+ cosD(+1.7999999962000e+00) =3D -2.2720209099247e-01
+ cosD(+1.8999999961000e+00) =3D -3.2328956317293e-01
+ cosD(+1.9999999960000e+00) =3D -4.1614683290995e-01
+ cosF( -2.0000e+00) =3D -4.1615e-01
+ cosF( -1.9001e+00) =3D -3.2338e-01
+ cosF( -1.8002e+00) =3D -2.2740e-01
+ cosF( -1.7003e+00) =3D -1.2914e-01
+ cosF( -1.6004e+00) =3D -2.9599e-02
+ cosF( -1.5005e+00) =3D +7.0238e-02
+ cosF( -1.4006e+00) =3D +1.6938e-01
+ cosF( -1.3007e+00) =3D +2.6682e-01
+ cosF( -1.2008e+00) =3D +3.6161e-01
+ cosF( -1.1009e+00) =3D +4.5279e-01
+ cosF( -1.0010e+00) =3D +5.3946e-01
+ cosF( -9.0110e-01) =3D +6.2075e-01
+ cosF( -8.0120e-01) =3D +6.9585e-01
+ cosF( -7.0130e-01) =3D +7.6400e-01
+ cosF( -6.0140e-01) =3D +8.2454e-01
+ cosF( -5.0150e-01) =3D +8.7686e-01
+ cosF( -4.0160e-01) =3D +9.2044e-01
+ cosF( -3.0170e-01) =3D +9.5483e-01
+ cosF( -2.0180e-01) =3D +9.7971e-01
+ cosF( -1.0190e-01) =3D +9.9481e-01
+ cosF( -1.9999e-03) =3D +1.0000e-00
+ cosF( +9.7900e-02) =3D +9.9521e-01
+ cosF( +1.9780e-01) =3D +9.8050e-01
+ cosF( +2.9770e-01) =3D +9.5601e-01
+ cosF( +3.9760e-01) =3D +9.2199e-01
+ cosF( +4.9750e-01) =3D +8.7878e-01
+ cosF( +5.9740e-01) =3D +8.2680e-01
+ cosF( +6.9730e-01) =3D +7.6658e-01
+ cosF( +7.9720e-01) =3D +6.9871e-01
+ cosF( +8.9710e-01) =3D +6.2388e-01
+ cosF( +9.9700e-01) =3D +5.4282e-01
+ cosF( +1.0969e+00) =3D +4.5636e-01
+ cosF( +1.1968e+00) =3D +3.6534e-01
+ cosF( +1.2967e+00) =3D +2.7068e-01
+ cosF( +1.3966e+00) =3D +1.7332e-01
+ cosF( +1.4965e+00) =3D +7.4228e-02
+ cosF( +1.5964e+00) =3D -2.5601e-02
+ cosF( +1.6963e+00) =3D -1.2517e-01
+ cosF( +1.7962e+00) =3D -2.2350e-01
+ cosF( +1.8961e+00) =3D -3.1960e-01
+ cosF( +1.9960e+00) =3D -4.1251e-01
+ tanD(-2.0000000000000e+00) =3D +2.1850398632615e+00
+ tanD(-1.9000000001000e+00) =3D +2.9270975137210e+00
+ tanD(-1.8000000002000e+00) =3D +4.2862616707537e+00
+ tanD(-1.7000000003000e+00) =3D +7.6966021213879e+00
+ tanD(-1.6000000004000e+00) =3D +3.4232532266411e+01
+ tanD(-1.5000000005000e+00) =3D -1.4101420047097e+01
+ tanD(-1.4000000006000e+00) =3D -5.7978837362521e+00
+ tanD(-1.3000000007000e+00) =3D -3.6021024577506e+00
+ tanD(-1.2000000008000e+00) =3D -2.5721516282191e+00
+ tanD(-1.1000000009000e+00) =3D -1.9647596616229e+00
+ tanD(-1.0000000010000e+00) =3D -1.5574077280804e+00
+ tanD(-9.0000000110000e-01) =3D -1.2601582203971e+00
+ tanD(-8.0000000120000e-01) =3D -1.0296385595225e+00
+ tanD(-7.0000000130000e-01) =3D -8.4228838268536e-01
+ tanD(-6.0000000140000e-01) =3D -6.8413681039695e-01
+ tanD(-5.0000000150000e-01) =3D -5.4630249179146e-01
+ tanD(-4.0000000160000e-01) =3D -4.2279322062417e-01
+ tanD(-3.0000000170000e-01) =3D -3.0933625147229e-01
+ tanD(-2.0000000180000e-01) =3D -2.0271003738264e-01
+ tanD(-1.0000000190000e-01) =3D -1.0033467400458e-01
+ tanD(-1.9999992495467e-09) =3D -1.9999992495467e-09
+ tanD(+9.9999997900001e-02) =3D +1.0033466996431e-01
+ tanD(+1.9999999780000e-01) =3D +2.0271003321827e-01
+ tanD(+2.9999999770000e-01) =3D +3.0933624708954e-01
+ tanD(+3.9999999760000e-01) =3D +4.2279321590915e-01
+ tanD(+4.9999999750000e-01) =3D +5.4630248659768e-01
+ tanD(+5.9999999740000e-01) =3D +6.8413680452478e-01
+ tanD(+6.9999999730000e-01) =3D +8.4228837584757e-01
+ tanD(+7.9999999720000e-01) =3D +1.0296385512819e+00
+ tanD(+8.9999999710000e-01) =3D +1.2601582100451e+00
+ tanD(+9.9999999700000e-01) =3D +1.5574077143783e+00
+ tanD(+1.0999999969000e+00) =3D +1.9647596421818e+00
+ tanD(+1.1999999968000e+00) =3D +2.5721515977552e+00
+ tanD(+1.2999999967000e+00) =3D +3.6021024018500e+00
+ tanD(+1.3999999966000e+00) =3D +5.7978835977904e+00
+ tanD(+1.4999999965000e+00) =3D +1.4101419247697e+01
+ tanD(+1.5999999964000e+00) =3D -3.4232536957875e+01
+ tanD(+1.6999999963000e+00) =3D -7.6966023623385e+00
+ tanD(+1.7999999962000e+00) =3D -4.2862617482418e+00
+ tanD(+1.8999999961000e+00) =3D -2.9270975519926e+00
+ tanD(+1.9999999960000e+00) =3D -2.1850398863591e+00
+ tanF( -2.0000e+00) =3D +2.1850e+00
+ tanF( -1.9001e+00) =3D +2.9261e+00
+ tanF( -1.8002e+00) =3D +4.2824e+00
+ tanF( -1.7003e+00) =3D +7.6786e+00
+ tanF( -1.6004e+00) =3D +3.3770e+01
+ tanF( -1.5005e+00) =3D -1.4202e+01
+ tanF( -1.4006e+00) =3D -5.8187e+00
+ tanF( -1.3007e+00) =3D -3.6119e+00
+ tanF( -1.2008e+00) =3D -2.5783e+00
+ tanF( -1.1009e+00) =3D -1.9691e+00
+ tanF( -1.0010e+00) =3D -1.5608e+00
+ tanF( -9.0110e-01) =3D -1.2630e+00
+ tanF( -8.0120e-01) =3D -1.0321e+00
+ tanF( -7.0130e-01) =3D -8.4451e-01
+ tanF( -6.0140e-01) =3D -6.8619e-01
+ tanF( -5.0150e-01) =3D -5.4825e-01
+ tanF( -4.0160e-01) =3D -4.2468e-01
+ tanF( -3.0170e-01) =3D -3.1120e-01
+ tanF( -2.0180e-01) =3D -2.0458e-01
+ tanF( -1.0190e-01) =3D -1.0225e-01
+ tanF( -1.9999e-03) =3D -1.9999e-03
+ tanF( +9.7900e-02) =3D +9.8214e-02
+ tanF( +1.9780e-01) =3D +2.0042e-01
+ tanF( +2.9770e-01) =3D +3.0682e-01
+ tanF( +3.9760e-01) =3D +4.1997e-01
+ tanF( +4.9750e-01) =3D +5.4306e-01
+ tanF( +5.9740e-01) =3D +6.8033e-01
+ tanF( +6.9730e-01) =3D +8.3768e-01
+ tanF( +7.9720e-01) =3D +1.0239e+00
+ tanF( +8.9710e-01) =3D +1.2527e+00
+ tanF( +9.9700e-01) =3D +1.5472e+00
+ tanF( +1.0969e+00) =3D +1.9498e+00
+ tanF( +1.1968e+00) =3D +2.5480e+00
+ tanF( +1.2967e+00) =3D +3.5565e+00
+ tanF( +1.3966e+00) =3D +5.6825e+00
+ tanF( +1.4965e+00) =3D +1.3435e+01
+ tanF( +1.5964e+00) =3D -3.9048e+01
+ tanF( +1.6963e+00) =3D -7.9260e+00
+ tanF( +1.7962e+00) =3D -4.3611e+00
+ tanF( +1.8961e+00) =3D -2.9648e+00
+ tanF( +1.9960e+00) =3D -2.2083e+00
+ expD(-2.0000000000000e+00) =3D +1.3533528323661e-01
+ expD(-1.9000000001000e+00) =3D +1.4956861920768e-01
+ expD(-1.8000000002000e+00) =3D +1.6529888818853e-01
+ expD(-1.7000000003000e+00) =3D +1.8268352399793e-01
+ expD(-1.6000000004000e+00) =3D +2.0189651791390e-01
+ expD(-1.5000000005000e+00) =3D +2.2313016003686e-01
+ expD(-1.4000000006000e+00) =3D +2.4659696379365e-01
+ expD(-1.3000000007000e+00) =3D +2.7253179284324e-01
+ expD(-1.2000000008000e+00) =3D +3.0119421167125e-01
+ expD(-1.1000000009000e+00) =3D +3.3287108339850e-01
+ expD(-1.0000000010000e+00) =3D +3.6787944080356e-01
+ expD(-9.0000000110000e-01) =3D +4.0656965929337e-01
+ expD(-8.0000000120000e-01) =3D +4.4932896357803e-01
+ expD(-7.0000000130000e-01) =3D +4.9658530314585e-01
+ expD(-6.0000000140000e-01) =3D +5.4881163532569e-01
+ expD(-5.0000000150000e-01) =3D +6.0653065880284e-01
+ expD(-4.0000000160000e-01) =3D +6.7032004496313e-01
+ expD(-3.0000000170000e-01) =3D +7.4081821942233e-01
+ expD(-2.0000000180000e-01) =3D +8.1873075160427e-01
+ expD(-1.0000000190000e-01) =3D +9.0483741631677e-01
+ expD(-1.9999992495467e-09) =3D +9.9999999800000e-01
+ expD(+9.9999997900001e-02) =3D +1.1051709157548e+00
+ expD(+1.9999999780000e-01) =3D +1.2214027554731e+00
+ expD(+2.9999999770000e-01) =3D +1.3498588044713e+00
+ expD(+3.9999999760000e-01) =3D +1.4918246940609e+00
+ expD(+4.9999999750000e-01) =3D +1.6487212665783e+00
+ expD(+5.9999999740000e-01) =3D +1.8221187956530e+00
+ expD(+6.9999999730000e-01) =3D +2.0137527020333e+00
+ expD(+7.9999999720000e-01) =3D +2.2255409222610e+00
+ expD(+8.9999999710000e-01) =3D +2.4596031040241e+00
+ expD(+9.9999999700000e-01) =3D +2.7182818203042e+00
+ expD(+1.0999999969000e+00) =3D +3.0041660146335e+00
+ expD(+1.1999999968000e+00) =3D +3.3201169121122e+00
+ expD(+1.2999999967000e+00) =3D +3.6692966555106e+00
+ expD(+1.3999999966000e+00) =3D +4.0551999530570e+00
+ expD(+1.4999999965000e+00) =3D +4.4816890546522e+00
+ expD(+1.5999999964000e+00) =3D +4.9530324065642e+00
+ expD(+1.6999999963000e+00) =3D +5.4739473714736e+00
+ expD(+1.7999999962000e+00) =3D +6.0496474414243e+00
+ expD(+1.8999999961000e+00) =3D +6.6858944162043e+00
+ expD(+1.9999999960000e+00) =3D +7.3890560693744e+00
+ expF( -2.0000e+00) =3D +1.3534e-01
+ expF( -1.9001e+00) =3D +1.4955e-01
+ expF( -1.8002e+00) =3D +1.6527e-01
+ expF( -1.7003e+00) =3D +1.8263e-01
+ expF( -1.6004e+00) =3D +2.0182e-01
+ expF( -1.5005e+00) =3D +2.2302e-01
+ expF( -1.4006e+00) =3D +2.4645e-01
+ expF( -1.3007e+00) =3D +2.7234e-01
+ expF( -1.2008e+00) =3D +3.0095e-01
+ expF( -1.1009e+00) =3D +3.3257e-01
+ expF( -1.0010e+00) =3D +3.6751e-01
+ expF( -9.0110e-01) =3D +4.0612e-01
+ expF( -8.0120e-01) =3D +4.4879e-01
+ expF( -7.0130e-01) =3D +4.9594e-01
+ expF( -6.0140e-01) =3D +5.4804e-01
+ expF( -5.0150e-01) =3D +6.0562e-01
+ expF( -4.0160e-01) =3D +6.6925e-01
+ expF( -3.0170e-01) =3D +7.3956e-01
+ expF( -2.0180e-01) =3D +8.1726e-01
+ expF( -1.0190e-01) =3D +9.0312e-01
+ expF( -1.9999e-03) =3D +9.9800e-01
+ expF( +9.7900e-02) =3D +1.1029e+00
+ expF( +1.9780e-01) =3D +1.2187e+00
+ expF( +2.9770e-01) =3D +1.3468e+00
+ expF( +3.9760e-01) =3D +1.4882e+00
+ expF( +4.9750e-01) =3D +1.6446e+00
+ expF( +5.9740e-01) =3D +1.8174e+00
+ expF( +6.9730e-01) =3D +2.0083e+00
+ expF( +7.9720e-01) =3D +2.2193e+00
+ expF( +8.9710e-01) =3D +2.4525e+00
+ expF( +9.9700e-01) =3D +2.7101e+00
+ expF( +1.0969e+00) =3D +2.9949e+00
+ expF( +1.1968e+00) =3D +3.3095e+00
+ expF( +1.2967e+00) =3D +3.6572e+00
+ expF( +1.3966e+00) =3D +4.0414e+00
+ expF( +1.4965e+00) =3D +4.4660e+00
+ expF( +1.5964e+00) =3D +4.9352e+00
+ expF( +1.6963e+00) =3D +5.4537e+00
+ expF( +1.7962e+00) =3D +6.0267e+00
+ expF( +1.8961e+00) =3D +6.6599e+00
+ expF( +1.9960e+00) =3D +7.3596e+00
+ sqrtD(+0.0000000000000e+00) =3D +0.0000000000000e+00
+ sqrtD(+9.9999999900000e-02) =3D +3.1622776585872e-01
+ sqrtD(+1.9999999980000e-01) =3D +4.4721359527635e-01
+ sqrtD(+2.9999999970000e-01) =3D +5.4772255723130e-01
+ sqrtD(+3.9999999960000e-01) =3D +6.3245553171745e-01
+ sqrtD(+4.9999999950000e-01) =3D +7.0710678083299e-01
+ sqrtD(+5.9999999940000e-01) =3D +7.7459666885419e-01
+ sqrtD(+6.9999999930000e-01) =3D +8.3666002611575e-01
+ sqrtD(+7.9999999920000e-01) =3D +8.9442719055270e-01
+ sqrtD(+8.9999999910000e-01) =3D +9.4868329757617e-01
+ sqrtD(+9.9999999900000e-01) =3D +9.9999999950000e-01
+ sqrtD(+1.0999999989000e+00) =3D +1.0488088476457e+00
+ sqrtD(+1.1999999988000e+00) =3D +1.0954451144626e+00
+ sqrtD(+1.2999999987000e+00) =3D +1.1401754245291e+00
+ sqrtD(+1.3999999986000e+00) =3D +1.1832159560283e+00
+ sqrtD(+1.4999999985000e+00) =3D +1.2247448707792e+00
+ sqrtD(+1.5999999984000e+00) =3D +1.2649110634349e+00
+ sqrtD(+1.6999999983000e+00) =3D +1.3038404803886e+00
+ sqrtD(+1.7999999982000e+00) =3D +1.3416407858291e+00
+ sqrtD(+1.8999999981000e+00) =3D +1.3784048745198e+00
+ sqrtD(+1.9999999980000e+00) =3D +1.4142135616660e+00
+ sqrtF( +0.0000e+00) =3D +0.0000e+00
+ sqrtF( +9.9900e-02) =3D +3.1607e-01
+ sqrtF( +1.9980e-01) =3D +4.4699e-01
+ sqrtF( +2.9970e-01) =3D +5.4745e-01
+ sqrtF( +3.9960e-01) =3D +6.3214e-01
+ sqrtF( +4.9950e-01) =3D +7.0675e-01
+ sqrtF( +5.9940e-01) =3D +7.7421e-01
+ sqrtF( +6.9930e-01) =3D +8.3624e-01
+ sqrtF( +7.9920e-01) =3D +8.9398e-01
+ sqrtF( +8.9910e-01) =3D +9.4821e-01
+ sqrtF( +9.9900e-01) =3D +9.9950e-01
+ sqrtF( +1.0989e+00) =3D +1.0483e+00
+ sqrtF( +1.1988e+00) =3D +1.0949e+00
+ sqrtF( +1.2987e+00) =3D +1.1396e+00
+ sqrtF( +1.3986e+00) =3D +1.1826e+00
+ sqrtF( +1.4985e+00) =3D +1.2241e+00
+ sqrtF( +1.5984e+00) =3D +1.2643e+00
+ sqrtF( +1.6983e+00) =3D +1.3032e+00
+ sqrtF( +1.7982e+00) =3D +1.3410e+00
+ sqrtF( +1.8981e+00) =3D +1.3777e+00
+ sqrtF( +1.9980e+00) =3D +1.4135e+00
+ logD(+0.0000000000000e+00) =3D -inf
+ logD(+9.9999999900000e-02) =3D -2.3025850939940e+00
+ logD(+1.9999999980000e-01) =3D -1.6094379134341e+00
+ logD(+2.9999999970000e-01) =3D -1.2039728053259e+00
+ logD(+3.9999999960000e-01) =3D -9.1629073287415e-01
+ logD(+4.9999999950000e-01) =3D -6.9314718155995e-01
+ logD(+5.9999999940000e-01) =3D -5.1082562476599e-01
+ logD(+6.9999999930000e-01) =3D -3.5667494493873e-01
+ logD(+7.9999999920000e-01) =3D -2.2314355231421e-01
+ logD(+8.9999999910000e-01) =3D -1.0536051665783e-01
+ logD(+9.9999999900000e-01) =3D -1.0000000832404e-09
+ logD(+1.0999999989000e+00) =3D +9.5310178804325e-02
+ logD(+1.1999999988000e+00) =3D +1.8232155579395e-01
+ logD(+1.2999999987000e+00) =3D +2.6236426346749e-01
+ logD(+1.3999999986000e+00) =3D +3.3647223562121e-01
+ logD(+1.4999999985000e+00) =3D +4.0546510710816e-01
+ logD(+1.5999999984000e+00) =3D +4.7000362824574e-01
+ logD(+1.6999999983000e+00) =3D +5.3062825006217e-01
+ logD(+1.7999999982000e+00) =3D +5.8778666390212e-01
+ logD(+1.8999999981000e+00) =3D +6.4185388517240e-01
+ logD(+1.9999999980000e+00) =3D +6.9314717955995e-01
+ logF( +0.0000e+00) =3D -inf
+ logF( +9.9900e-02) =3D -2.3036e+00
+ logF( +1.9980e-01) =3D -1.6104e+00
+ logF( +2.9970e-01) =3D -1.2050e+00
+ logF( +3.9960e-01) =3D -9.1729e-01
+ logF( +4.9950e-01) =3D -6.9415e-01
+ logF( +5.9940e-01) =3D -5.1183e-01
+ logF( +6.9930e-01) =3D -3.5768e-01
+ logF( +7.9920e-01) =3D -2.2414e-01
+ logF( +8.9910e-01) =3D -1.0636e-01
+ logF( +9.9900e-01) =3D -1.0005e-03
+ logF( +1.0989e+00) =3D +9.4310e-02
+ logF( +1.1988e+00) =3D +1.8132e-01
+ logF( +1.2987e+00) =3D +2.6136e-01
+ logF( +1.3986e+00) =3D +3.3547e-01
+ logF( +1.4985e+00) =3D +4.0446e-01
+ logF( +1.5984e+00) =3D +4.6900e-01
+ logF( +1.6983e+00) =3D +5.2963e-01
+ logF( +1.7982e+00) =3D +5.8679e-01
+ logF( +1.8981e+00) =3D +6.4085e-01
+ logF( +1.9980e+00) =3D +6.9215e-01
+log10D(+0.0000000000000e+00) =3D -inf
+log10D(+9.9999999900000e-02) =3D -1.0000000004343e+00
+log10D(+1.9999999980000e-01) =3D -6.9897000477031e-01
+log10D(+2.9999999970000e-01) =3D -5.2287874571463e-01
+log10D(+3.9999999960000e-01) =3D -3.9794000910633e-01
+log10D(+4.9999999950000e-01) =3D -3.0102999609828e-01
+log10D(+5.9999999940000e-01) =3D -2.2184875005065e-01
+log10D(+6.9999999930000e-01) =3D -1.5490196042004e-01
+log10D(+7.9999999920000e-01) =3D -9.6910013442351e-02
+log10D(+8.9999999910000e-01) =3D -4.5757490994970e-02
+log10D(+9.9999999900000e-01) =3D -4.3429451805409e-10
+log10D(+1.0999999989000e+00) =3D +4.1392684723931e-02
+log10D(+1.1999999988000e+00) =3D +7.9181245613330e-02
+log10D(+1.2999999987000e+00) =3D +1.1394335187254e-01
+log10D(+1.3999999986000e+00) =3D +1.4612803524394e-01
+log10D(+1.4999999985000e+00) =3D +1.7609125862139e-01
+log10D(+1.5999999984000e+00) =3D +2.0411998222163e-01
+log10D(+1.6999999983000e+00) =3D +2.3044892094398e-01
+log10D(+1.7999999982000e+00) =3D +2.5527250466901e-01
+log10D(+1.8999999981000e+00) =3D +2.7875360051853e-01
+log10D(+1.9999999980000e+00) =3D +3.0102999522969e-01
+log10F( +0.0000e+00) =3D -inf
+log10F( +9.9900e-02) =3D -1.0004e+00
+log10F( +1.9980e-01) =3D -6.9940e-01
+log10F( +2.9970e-01) =3D -5.2331e-01
+log10F( +3.9960e-01) =3D -3.9837e-01
+log10F( +4.9950e-01) =3D -3.0146e-01
+log10F( +5.9940e-01) =3D -2.2228e-01
+log10F( +6.9930e-01) =3D -1.5534e-01
+log10F( +7.9920e-01) =3D -9.7345e-02
+log10F( +8.9910e-01) =3D -4.6192e-02
+log10F( +9.9900e-01) =3D -4.3451e-04
+log10F( +1.0989e+00) =3D +4.0958e-02
+log10F( +1.1988e+00) =3D +7.8747e-02
+log10F( +1.2987e+00) =3D +1.1351e-01
+log10F( +1.3986e+00) =3D +1.4569e-01
+log10F( +1.4985e+00) =3D +1.7566e-01
+log10F( +1.5984e+00) =3D +2.0369e-01
+log10F( +1.6983e+00) =3D +2.3001e-01
+log10F( +1.7982e+00) =3D +2.5484e-01
+log10F( +1.8981e+00) =3D +2.7832e-01
+log10F( +1.9980e+00) =3D +3.0060e-01
+ asinD(-1.0000000000000e+00) =3D -1.5707963267949e+00
+ asinD(-9.0000000010000e-01) =3D -1.1197695152281e+00
+ asinD(-8.0000000020000e-01) =3D -9.2729521833495e-01
+ asinD(-7.0000000030000e-01) =3D -7.7539749703084e-01
+ asinD(-6.0000000040000e-01) =3D -6.4350110929328e-01
+ asinD(-5.0000000050000e-01) =3D -5.2359877617565e-01
+ asinD(-4.0000000060000e-01) =3D -4.1151684672214e-01
+ asinD(-3.0000000070000e-01) =3D -3.0469265474920e-01
+ asinD(-2.0000000080000e-01) =3D -2.0135792160683e-01
+ asinD(-1.0000000090000e-01) =3D -1.0016742206609e-01
+ asinD(-1.0000000549848e-09) =3D -1.0000000549848e-09
+ asinD(+9.9999998900000e-02) =3D +1.0016742005602e-01
+ asinD(+1.9999999880000e-01) =3D +2.0135791956559e-01
+ asinD(+2.9999999870000e-01) =3D +3.0469265265263e-01
+ asinD(+3.9999999860000e-01) =3D +4.1151684453996e-01
+ asinD(+4.9999999850000e-01) =3D +5.2359877386625e-01
+ asinD(+5.9999999840000e-01) =3D +6.4350110679328e-01
+ asinD(+6.9999999830000e-01) =3D +7.7539749423028e-01
+ asinD(+7.9999999820000e-01) =3D +9.2729521500161e-01
+ asinD(+8.9999999810000e-01) =3D +1.1197695106397e+00
+ asinD(+9.9999999800000e-01) =3D +1.5707330812408e+00
+ asinF( -1.0000e+00) =3D -1.5708e+00
+ asinF( -9.0010e-01) =3D -1.1200e+00
+ asinF( -8.0020e-01) =3D -9.2763e-01
+ asinF( -7.0030e-01) =3D -7.7582e-01
+ asinF( -6.0040e-01) =3D -6.4400e-01
+ asinF( -5.0050e-01) =3D -5.2418e-01
+ asinF( -4.0060e-01) =3D -4.1217e-01
+ asinF( -3.0070e-01) =3D -3.0543e-01
+ asinF( -2.0080e-01) =3D -2.0217e-01
+ asinF( -1.0090e-01) =3D -1.0107e-01
+ asinF( -9.9994e-04) =3D -9.9994e-04
+ asinF( +9.8900e-02) =3D +9.9062e-02
+ asinF( +1.9880e-01) =3D +2.0013e-01
+ asinF( +2.9870e-01) =3D +3.0333e-01
+ asinF( +3.9860e-01) =3D +4.0999e-01
+ asinF( +4.9850e-01) =3D +5.2187e-01
+ asinF( +5.9840e-01) =3D +6.4150e-01
+ asinF( +6.9830e-01) =3D +7.7302e-01
+ asinF( +7.9820e-01) =3D +9.2430e-01
+ asinF( +8.9810e-01) =3D +1.1154e+00
+ asinF( +9.9800e-01) =3D +1.5075e+00
+ acosD(-1.0000000000000e+00) =3D +3.1415926536e+00
+ acosD(-9.0000010000000e-01) =3D +2.6905660712e+00
+ acosD(-8.0000020000000e-01) =3D +2.4980918781e+00
+ acosD(-7.0000030000000e-01) =3D +2.3461942435e+00
+ acosD(-6.0000040000000e-01) =3D +2.2142979356e+00
+ acosD(-5.0000050000000e-01) =3D +2.0943956797e+00
+ acosD(-4.0000060000000e-01) =3D +1.9823138275e+00
+ acosD(-3.0000070000000e-01) =3D +1.8754897146e+00
+ acosD(-2.0000080000000e-01) =3D +1.7721550641e+00
+ acosD(-1.0000090000000e-01) =3D +1.6709646525e+00
+ acosD(-9.9999999977896e-07) =3D +1.5707973268e+00
+ acosD(+9.9998900000000e-02) =3D +1.4706300112e+00
+ acosD(+1.9999880000000e-01) =3D +1.3694396307e+00
+ acosD(+2.9999870000000e-01) =3D +1.2661050355e+00
+ acosD(+3.9999860000000e-01) =3D +1.1592810083e+00
+ acosD(+4.9999850000000e-01) =3D +1.0471992832e+00
+ acosD(+5.9999840000000e-01) =3D +9.2729721800e-01
+ acosD(+6.9999830000000e-01) =3D +7.9540121066e-01
+ acosD(+7.9999820000000e-01) =3D +6.4350410879e-01
+ acosD(+8.9999810000000e-01) =3D +4.5103117068e-01
+ acosD(+9.9999800000000e-01) =3D +2.0000003331e-03
+ acosF( -1.0000e+00) =3D +3.1416e+00
+ acosF( -9.0010e-01) =3D +2.6908e+00
+ acosF( -8.0020e-01) =3D +2.4984e+00
+ acosF( -7.0030e-01) =3D +2.3466e+00
+ acosF( -6.0040e-01) =3D +2.2148e+00
+ acosF( -5.0050e-01) =3D +2.0950e+00
+ acosF( -4.0060e-01) =3D +1.9830e+00
+ acosF( -3.0070e-01) =3D +1.8762e+00
+ acosF( -2.0080e-01) =3D +1.7730e+00
+ acosF( -1.0090e-01) =3D +1.6719e+00
+ acosF( -9.9994e-04) =3D +1.5718e+00
+ acosF( +9.8900e-02) =3D +1.4717e+00
+ acosF( +1.9880e-01) =3D +1.3707e+00
+ acosF( +2.9870e-01) =3D +1.2675e+00
+ acosF( +3.9860e-01) =3D +1.1608e+00
+ acosF( +4.9850e-01) =3D +1.0489e+00
+ acosF( +5.9840e-01) =3D +9.2929e-01
+ acosF( +6.9830e-01) =3D +7.9778e-01
+ acosF( +7.9820e-01) =3D +6.4650e-01
+ acosF( +8.9810e-01) =3D +4.5537e-01
+ acosF( +9.9800e-01) =3D +6.3255e-02
+ atanD(-1.0000000000000e+00) =3D -7.8539816339745e-01
+ atanD(-9.0000000010000e-01) =3D -7.3281510184176e-01
+ atanD(-8.0000000020000e-01) =3D -6.7474094234550e-01
+ atanD(-7.0000000030000e-01) =3D -6.1072596459055e-01
+ atanD(-6.0000000040000e-01) =3D -5.4041950056470e-01
+ atanD(-5.0000000050000e-01) =3D -4.6364760940081e-01
+ atanD(-4.0000000060000e-01) =3D -3.8050637762961e-01
+ atanD(-3.0000000070000e-01) =3D -2.9145679512007e-01
+ atanD(-2.0000000080000e-01) =3D -1.9739556061911e-01
+ atanD(-1.0000000090000e-01) =3D -9.9668653382251e-02
+ atanD(-1.0000000549848e-09) =3D -1.0000000549848e-09
+ atanD(+9.9999998900000e-02) =3D +9.9668651402053e-02
+ atanD(+1.9999999880000e-01) =3D +1.9739555869603e-01
+ atanD(+2.9999999870000e-01) =3D +2.9145679328521e-01
+ atanD(+3.9999999860000e-01) =3D +3.8050637590547e-01
+ atanD(+4.9999999850000e-01) =3D +4.6364760780081e-01
+ atanD(+5.9999999840000e-01) =3D +5.4041949909411e-01
+ atanD(+6.9999999830000e-01) =3D +6.1072596324827e-01
+ atanD(+7.9999999820000e-01) =3D +6.7474094112599e-01
+ atanD(+8.9999999810000e-01) =3D +7.3281510073678e-01
+ atanD(+9.9999999800000e-01) =3D +7.8539816239745e-01
+ atanF( -1.0000e+00) =3D -7.8540e-01
+ atanF( -9.0010e-01) =3D -7.3287e-01
+ atanF( -8.0020e-01) =3D -6.7486e-01
+ atanF( -7.0030e-01) =3D -6.1093e-01
+ atanF( -6.0040e-01) =3D -5.4071e-01
+ atanF( -5.0050e-01) =3D -4.6405e-01
+ atanF( -4.0060e-01) =3D -3.8102e-01
+ atanF( -3.0070e-01) =3D -2.9210e-01
+ atanF( -2.0080e-01) =3D -1.9816e-01
+ atanF( -1.0090e-01) =3D -1.0056e-01
+ atanF( -9.9994e-04) =3D -9.9994e-04
+ atanF( +9.8900e-02) =3D +9.8579e-02
+ atanF( +1.9880e-01) =3D +1.9624e-01
+ atanF( +2.9870e-01) =3D +2.9026e-01
+ atanF( +3.9860e-01) =3D +3.7930e-01
+ atanF( +4.9850e-01) =3D +4.6245e-01
+ atanF( +5.9840e-01) =3D +5.3924e-01
+ atanF( +6.9830e-01) =3D +6.0958e-01
+ atanF( +7.9820e-01) =3D +6.7364e-01
+ atanF( +8.9810e-01) =3D +7.3176e-01
+ atanF( +9.9800e-01) =3D +7.8440e-01
+atan2D(-1.0000000000000e+00) =3D -7.8539816339745e-01
+atan2D(-9.0000000010000e-01) =3D -7.3281510184176e-01
+atan2D(-8.0000000020000e-01) =3D -6.7474094234550e-01
+atan2D(-7.0000000030000e-01) =3D -6.1072596459055e-01
+atan2D(-6.0000000040000e-01) =3D -5.4041950056470e-01
+atan2D(-5.0000000050000e-01) =3D -4.6364760940081e-01
+atan2D(-4.0000000060000e-01) =3D -3.8050637762961e-01
+atan2D(-3.0000000070000e-01) =3D -2.9145679512007e-01
+atan2D(-2.0000000080000e-01) =3D -1.9739556061911e-01
+atan2D(-1.0000000090000e-01) =3D -9.9668653382251e-02
+atan2D(-1.0000000549848e-09) =3D -1.0000000549848e-09
+atan2D(+9.9999998900000e-02) =3D +9.9668651402053e-02
+atan2D(+1.9999999880000e-01) =3D +1.9739555869603e-01
+atan2D(+2.9999999870000e-01) =3D +2.9145679328521e-01
+atan2D(+3.9999999860000e-01) =3D +3.8050637590547e-01
+atan2D(+4.9999999850000e-01) =3D +4.6364760780081e-01
+atan2D(+5.9999999840000e-01) =3D +5.4041949909411e-01
+atan2D(+6.9999999830000e-01) =3D +6.1072596324827e-01
+atan2D(+7.9999999820000e-01) =3D +6.7474094112599e-01
+atan2D(+8.9999999810000e-01) =3D +7.3281510073678e-01
+atan2D(+9.9999999800000e-01) =3D +7.8539816239745e-01
+atan2F( -1.0000e+00) =3D -7.8540e-01
+atan2F( -9.0010e-01) =3D -7.3287e-01
+atan2F( -8.0020e-01) =3D -6.7486e-01
+atan2F( -7.0030e-01) =3D -6.1093e-01
+atan2F( -6.0040e-01) =3D -5.4071e-01
+atan2F( -5.0050e-01) =3D -4.6405e-01
+atan2F( -4.0060e-01) =3D -3.8102e-01
+atan2F( -3.0070e-01) =3D -2.9210e-01
+atan2F( -2.0080e-01) =3D -1.9816e-01
+atan2F( -1.0090e-01) =3D -1.0056e-01
+atan2F( -9.9994e-04) =3D -9.9994e-04
+atan2F( +9.8900e-02) =3D +9.8579e-02
+atan2F( +1.9880e-01) =3D +1.9624e-01
+atan2F( +2.9870e-01) =3D +2.9026e-01
+atan2F( +3.9860e-01) =3D +3.7930e-01
+atan2F( +4.9850e-01) =3D +4.6245e-01
+atan2F( +5.9840e-01) =3D +5.3924e-01
+atan2F( +6.9830e-01) =3D +6.0958e-01
+atan2F( +7.9820e-01) =3D +6.7364e-01
+atan2F( +8.9810e-01) =3D +7.3176e-01
+atan2F( +9.9800e-01) =3D +7.8440e-01
Added: branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.vgtest =
(rev 0)
+++ branches/VALGRIND_3_1_BRANCH/memcheck/tests/vcpu_fnfns.vgtest 2006-02=
-23 23:26:57 UTC (rev 5695)
@@ -0,0 +1,2 @@
+prog: vcpu_fnfns
+vgopts: -q
|
|
From: <sv...@va...> - 2006-02-23 23:26:02
|
Author: sewardj
Date: 2006-02-23 23:25:57 +0000 (Thu, 23 Feb 2006)
New Revision: 5694
Log:
Merge a hack which existed temporarily in the trunk (is now removed): r55=
91
Vex can't simulate floor() or ceil() correctly on ppc32/64 from
glibc-2.3.4 onwards, so just replace the functions with the older
glibc implementation. This is an ugly kludge.
Modified:
branches/VALGRIND_3_1_BRANCH/coregrind/vg_preloaded.c
Modified: branches/VALGRIND_3_1_BRANCH/coregrind/vg_preloaded.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_1_BRANCH/coregrind/vg_preloaded.c 2006-02-23 18:1=
7:32 UTC (rev 5693)
+++ branches/VALGRIND_3_1_BRANCH/coregrind/vg_preloaded.c 2006-02-23 23:2=
5:57 UTC (rev 5694)
@@ -67,7 +67,185 @@
*(int *)0 =3D 'x';
}
=20
+
+/* ---------------------------------------------------------------------
+ Avoid glibc's floor/ceil functions on ppc32/64. In recent glibcs
+ (about 2.3.4 and after) these rely on doing fadd/fsub with with
+ round to +inf/-inf set, which vex does not currently handle
+ correctly. This just reroutes to the glibc default implementations.
+ This is a really ugly hack.
+ ------------------------------------------------------------------ */
+
+#if defined(VGP_ppc32_linux)
+/*
+ * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
+ */
+/*
+ * floor(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to floor(x).
+ */
+
+typedef union
+{
+ double value;
+ struct
+ {
+ /*u_int32_t*/ UInt msw;
+ /*u_int32_t*/ UInt lsw;
+ } parts;
+} ieee_double_shape_type;
+
+/* Get two 32 bit ints from a double. */
+#define EXTRACT_WORDS(ix0,ix1,d) \
+do { \
+ ieee_double_shape_type ew_u; \
+ ew_u.value =3D (d); \
+ (ix0) =3D ew_u.parts.msw; \
+ (ix1) =3D ew_u.parts.lsw; \
+} while (0)
+
+
+/* Set a double from two 32 bit ints. */
+#define INSERT_WORDS(d,ix0,ix1) \
+do { \
+ ieee_double_shape_type iw_u; \
+ iw_u.parts.msw =3D (ix0); \
+ iw_u.parts.lsw =3D (ix1); \
+ (d) =3D iw_u.value; \
+} while (0)
+
+static double bit_twiddling_floor ( double x )
+{
+ static const double huge =3D 1.0e300;
+ /*int32_t*/ Int i0,i1,j0;
+ /*u_int32_t*/ UInt i,j;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 =3D ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) { /* raise inexact if x !=3D 0 */
+ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0>=3D0) {i0=3Di1=3D0;}
+ else if(((i0&0x7fffffff)|i1)!=3D0)
+ { i0=3D0xbff00000;i1=3D0;}
+ }
+ } else {
+ i =3D (0x000fffff)>>j0;
+ if(((i0&i)|i1)=3D=3D0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0<0) i0 +=3D (0x00100000)>>j0;
+ i0 &=3D (~i); i1=3D0;
+ }
+ }
+ } else if (j0>51) {
+ if(j0=3D=3D0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i =3D ((/*u_int32_t*/UInt)(0xffffffff))>>(j0-20);
+ if((i1&i)=3D=3D0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0<0) {
+ if(j0=3D=3D20) i0+=3D1;
+ else {
+ j =3D i1+(1<<(52-j0));
+ if(j<i1) i0 +=3D1 ; /* got a carry */
+ i1=3Dj;
+ }
+ }
+ i1 &=3D (~i);
+ }
+ }
+ INSERT_WORDS(x,i0,i1);
+ return x;
+}
+
+/* Catch libm.so.6:__floor */
+double VG_REPLACE_FUNCTION(libmZdsoZd6,__floor)(double);
+double VG_REPLACE_FUNCTION(libmZdsoZd6,__floor)(double x) {
+ return bit_twiddling_floor(x);
+}
+
+/* Catch libm.so.6:floor */
+double VG_REPLACE_FUNCTION(libmZdsoZd6,floor)(double);
+double VG_REPLACE_FUNCTION(libmZdsoZd6,floor)(double x) {
+ return bit_twiddling_floor(x);
+}
+
+
+/*
+ * ceil(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to ceil(x).
+ */
+static double bit_twiddling_ceil ( double x )
+{
+ static const double huge =3D 1.0e300;
+ /*int32_t*/ Int i0,i1,j0;
+ /*u_int32_t*/ UInt i,j;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 =3D ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) { /* raise inexact if x !=3D 0 */
+ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0<0) {i0=3D0x80000000;i1=3D0;}
+ else if((i0|i1)!=3D0) { i0=3D0x3ff00000;i1=3D0;}
+ }
+ } else {
+ i =3D (0x000fffff)>>j0;
+ if(((i0&i)|i1)=3D=3D0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0>0) i0 +=3D (0x00100000)>>j0;
+ i0 &=3D (~i); i1=3D0;
+ }
+ }
+ } else if (j0>51) {
+ if(j0=3D=3D0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i =3D ((/*u_int32_t*/UInt)(0xffffffff))>>(j0-20);
+ if((i1&i)=3D=3D0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0>0) {
+ if(j0=3D=3D20) i0+=3D1;
+ else {
+ j =3D i1 + (1<<(52-j0));
+ if(j<i1) i0+=3D1; /* got a carry */
+ i1 =3D j;
+ }
+ }
+ i1 &=3D (~i);
+ }
+ }
+ INSERT_WORDS(x,i0,i1);
+ return x;
+}
+
+/* Catch libm.so.6:__ceil */
+double VG_REPLACE_FUNCTION(libmZdsoZd6,__ceil)(double);
+double VG_REPLACE_FUNCTION(libmZdsoZd6,__ceil)(double x) {
+ return bit_twiddling_ceil(x);
+}
+
+/* Catch libm.so.6:ceil */
+double VG_REPLACE_FUNCTION(libmZdsoZd6,ceil)(double);
+double VG_REPLACE_FUNCTION(libmZdsoZd6,ceil)(double x) {
+ return bit_twiddling_ceil(x);
+}
+#endif
+
/*--------------------------------------------------------------------*/
/*--- end ---*/
/*--------------------------------------------------------------------*/
-
|
|
From: <sv...@va...> - 2006-02-23 22:30:45
|
Author: sewardj
Date: 2006-02-23 22:30:35 +0000 (Thu, 23 Feb 2006)
New Revision: 1576
Log:
merge r1544 (The ppc32 port ran itself out of spill slots on some
heavy duty FP code.)
Modified:
branches/VEX_3_1_BRANCH/pub/libvex.h
Modified: branches/VEX_3_1_BRANCH/pub/libvex.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_1_BRANCH/pub/libvex.h 2006-02-21 17:43:20 UTC (rev 157=
5)
+++ branches/VEX_3_1_BRANCH/pub/libvex.h 2006-02-23 22:30:35 UTC (rev 157=
6)
@@ -242,7 +242,7 @@
On entry, the baseblock pointer register must be 8-aligned.
*/
=20
-#define LibVEX_N_SPILL_BYTES 1024
+#define LibVEX_N_SPILL_BYTES 1536
=20
=20
/*-------------------------------------------------------*/
|
|
From: Bryan M. <om...@br...> - 2006-02-23 20:49:13
|
Erm, I know I gave dire warnings etc but you can run stuff like kwrite in it if you want to give it a spin (although to be fair, it does hang the app if you try and save :D). I could really do with some feedback now the basics are all in place so if anyone can spare some time, I would be very appreciative. It does like C code better than C++ - its all to do with the memory handling (at least on this old x86 machine/installation of mine). thanks in advance, Bryan "Brain Murders" Meredith Bryan Meredith wrote: > Dear Valgrind Developers List, > > for those interested, you can find a patch against svn here: > > http://www.brainmurders.eclipse.co.uk/omega_ALPHA_04.patch.gz > > This is _ALPHA_ software and if it eats your system, you get to keep > whatever it spits out. > > > There are still problems: > > Ignore the docs - they need an update from early dreams to reality. > > (Why do so many libraries access memory inside of blocks that they have > called free() on? *sighs*) > > Note that this patches VEX in order to sort out an issue I have with > popping values off the stack. > > Only tested on x86 so far but amd64 shouldn't be too bad. > > Sometimes doesn't report a leak when you think it should - because I > have to track pointers in registers, we can't leak until the registers > are changed to something else. This is more of a problem with trivial > programs. > > For best results, compile your program to be tested with -O0 -g and make > sure that valgrind complains about nothing but memory leaks... > > You might want to pipe the output into a file as there can be rather a > lot of it. > > Any and all comments are very welcome. > Thanks for the help so far. > > Bryan "Brain Murders" Meredith > > > ------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. Do you grep through log > files > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642 > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers > |
|
From: <sv...@va...> - 2006-02-23 18:17:39
|
Author: sewardj
Date: 2006-02-23 18:17:32 +0000 (Thu, 23 Feb 2006)
New Revision: 5693
Log:
Undo r5667 (reinstate 3_0_BUGSTATUS.txt)
Added:
trunk/docs/internals/3_0_BUGSTATUS.txt
Copied: trunk/docs/internals/3_0_BUGSTATUS.txt (from rev 5666, trunk/docs=
/internals/3_0_BUGSTATUS.txt)
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/docs/internals/3_0_BUGSTATUS.txt (rev 0=
)
+++ trunk/docs/internals/3_0_BUGSTATUS.txt 2006-02-23 18:17:32 UTC (rev 5=
693)
@@ -0,0 +1,697 @@
+
+nb: "n-i-bz" =3D=3D "not in Bugzilla"
+
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+=3D=3D=3D Bugs targeted for 3.1.0 only =
=3D=3D=3D
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+
+----------------------------------------------------------------
+109861 amd64 hangs at startup
+110301 ditto
+111554 valgrind crashes with Cannot allocate memory
+111809 Memcheck tool doesn't start java
+111901 cross-platform run of cachegrind fails on opteron
+113468 (vgPlain_mprotect_range): Assertion 'r !=3D -1' failed.
+ 92071 Reading debugging info uses too much memory
+109744 memcheck loses track of mmap from direct ld-linux.so.2
+110183 tail of page with _end
+ 82301 FV memory layout too rigid
+ 98278 Infinite recursion possible when allocating memory
+108994 Valgrind runs out of memory due to 133x overhead
+115643 valgrind cannot allocate memory
+
+Will fix in 3.1. Long delay seems to be caused by amd64-Gentoo kernel
+not liking large mmap/munmap requests. Other bugs also look like
+aspacem problems.
+
+FIXED-TRUNK: now done (many many commits)
+
+----------------------------------------------------------------
+105227 The BOUND instruction is not implemented (x86, with test case)
+
+FIXED-TRUNK: TODO ?
+
+----------------------------------------------------------------
+105974 vg_hashtable.c static hash table
+
+FIXED-TRUNK: vg:???
+
+----------------------------------------------------------------
+109323 ppc32: dispatch.S uses Altivec insn, which doesn't work on POWER=
.=20
+
+FIXED-TRUNK: 4636
+
+----------------------------------------------------------------
+109345 ptrace_setregs not yet implemented for ppc
+
+FIXED-TRUNK: vg:5046
+
+----------------------------------------------------------------
+110204 fmemopen false +ve
+
+Seems low priority.
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+110205 sigcancel unwind fails
+114629 =3D=3D (TENTATIVE)
+
+Tom is considering this. It would be nice to fix it for 3.1 but
+status currently unclear.
+
+FIXED-TRUNK: vex:1320 - vex impl of sysenter
+ vg:4337 - minimal Valgrind-side; does not do anything
+
+----------------------------------------------------------------
+110831 Would like to be able to run against both 32 and 64 bit=20
+ binaries on AMD64
+110829 =3D=3D
+
+FIXED-TRUNK: many commits (vg:5031 ?)
+
+----------------------------------------------------------------
+111364 False report of "definitly lost" memory
+
+Unclear what to do about this .. leak checker strangeness.
+
+----------------------------------------------------------------
+n-i-bz Give more info about seginfo dropping.
+
+FIXED-TRUNK: vg:4425
+
+----------------------------------------------------------------
+111855 default suppression file is read 1 byte at a time
+
+Perhaps worth a look.
+
+FIXED-TRUNK: TODO
+
+----------------------------------------------------------------
+111781 compile of valgrind-3.0.0 fails on my linux (gcc 2.X prob)
+
+FIXED-TRUNK: fixed (multiple commits)
+
+----------------------------------------------------------------
+112163 MASSIF crashed with signal 7 (SIGBUS) after running 2 days
+
+FIXED-TRUNK: unconfirmed (insufficient info from reporter)
+
+----------------------------------------------------------------
+112670 Cachegrind: cg_main.c:486 (handleOneStatement ...
+
+FIXED-TRUNK: fixed (many commits)
+
+----------------------------------------------------------------
+112941 vex x86: 0xD9 0xF4 (fxtract)
+110201 =3D=3D
+
+FIXED-TRUNK: vex:1405
+
+----------------------------------------------------------------
+113015 vex amd64->IR: 0xE3 0x14 0x48 0x83 (jrcxz)
+
+FIXED-TRUNK: vex:1413
+
+----------------------------------------------------------------
+113126 Crash with binaries built with -gstabs+/-ggdb
+104065 =3D=3D
+115741 =3D=3D
+
+FIXED-TRUNK: vg:5138
+
+----------------------------------------------------------------
+113403 Partial SSE3 support on x86
+
+FIXED-TRUNK: vex:???
+
+----------------------------------------------------------------
+113541 vex: the `impossible' happened: Grp5(x86) (alt encoding inc/dec)
+ case 1
+FIXED-TRUNK: vex:1412
+
+----------------------------------------------------------------
+113642 New: valgrind crashes when trying to read debug information
+
+FIXED-TRUNK: vg:4856
+
+----------------------------------------------------------------
+113810 priv/guest-x86/toIR.c:7964 (disInstr_X86_WRK): Assertion `sz =3D=
=3D 4'
+ Inferred 66 0F F6 (66 + PSADBW =3D=3D SSE PSADBW)
+
+FIXED-TRUNK: vex:1410, test in valgrind:4851
+
+----------------------------------------------------------------
+113796 read() and write() do not work if buffer is in shared memory
+
+Although the underlying cause is still present in the 3.0 code
+this bug is only user visible in the 2.4 code base.
+
+FIXED-TRUNK: vg:4852
+
+----------------------------------------------------------------
+113851 vex x86->IR: (pmaddwd): 0x66 0xF 0xF5 0xC7
+
+FIXED-TRUNK: vex:1411, test in valgrind:4859
+
+----------------------------------------------------------------
+114366 New: vex amd64 cannnot handle __asm__( "fninit" )
+
+FIXED-TRUNK: vex:1440
+
+----------------------------------------------------------------
+114412 vex amd64->IR: 0xF 0xAD 0xC2 0xD3 (128-bit shift, shrdq?)
+
+FIXED-TRUNK: vex:1435
+
+----------------------------------------------------------------
+114455 vex amd64->IR: 0xF 0xAC 0xD0 0x1 (also shrdq)
+
+FIXED-TRUNK: vex:1436
+
+----------------------------------------------------------------
+115590: amd64->IR: 0x67 0xE3 0x9 0xEB (address size override)
+
+FIXED-TRUNK: vex:1433
+
+----------------------------------------------------------------
+115953 valgrind svn r5042 does not build with parallel make (-j3)
+
+FIXED-TRUNK: vg:????
+
+----------------------------------------------------------------
+116057 New: valgrind maximum instruction size - VG_MAX_INSTR_SZB too
+ small?
+
+FIXED-TRUNK: vg:5072
+
+----------------------------------------------------------------
+116483 shmat failes with invalid argument when trying to attach a shm s=
egment
+
+FIXED-TRUNK: fixed by introduction of SkShmC during aspacem rewrite
+
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+=3D=3D=3D Bugs targeted for 3.1.0 and 3.0.2 =
=3D=3D=3D
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+
+----------------------------------------------------------------
+102202 valgrind crashes when realloc'ing until out of memory
+109487 =3D=3D
+110536 =3D=3D
+112687 =3D=3D
+
+FIXED-TRUNK: 4875
+FIXED-30BRANCH: 4876
+
+----------------------------------------------------------------
+110209 --show-emwarns misses some
+
+Tom says: The math/test-fenv.c file in the glibc source is the code in
+question and I can reproduce it with that code.
+
+FIXED-TRUNK: TODO?
+FIXED-30BRANCH: TODO?
+
+----------------------------------------------------------------
+110770 VEX: Generated files not always updated when making valgrind
+
+FIXED-TRUNK: TODO... partial(vg:4473)
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+n-i-bz Jeroen's XML-to-text FAQ.xml translator
+
+FIXED-TRUNK: vg:4830
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+111724 vex amd64->IR: unhandled instruction bytes: 0x41 0xF 0xAB
+(more BT{,S,R,C} fun n games)
+Also 0xF 0xBB 0x10 0x44
+
+FIXED-TRUNK: vex:1414
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+n-i-bz Print a more user-friendly message when vex bombs out
+ with unhandled instruction bytes
+
+FIXED-TRUNK: vg:4817,4932
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+111748 vex amd64->IR: unhandled instruction bytes: fucom =20
+ (0xDD 0xE2 0xDF 0xE0)
+
+FIXED-TRUNK: vex:1415
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+111785 make fails if CC contains spaces
+
+FIXED-TRUNK: 4589, 4592
+FIXED-30BRANCH: 4597, 4601
+
+----------------------------------------------------------------
+111829 vex x86->IR: unhandled instruction bytes: sbb Al, Ib
+
+FIXED-TRUNK: vex:1406
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+111851 vex x86->IR: unhandled instruction bytes: 0x9F 0x89
+ (lahf/sahf)
+
+FIXED-TRUNK: vex:1409
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+112031 iopl on AMD64 and README_MISSING_SYSCALL_OR_IOCTL update
+
+FIXED-TRUNK: 4826, 4864
+FIXED-30BRANCH: 4862, 4865
+
+----------------------------------------------------------------
+112152 code generation for Xin_MFence on x86 with SSE0 subarch
+112167 =3D=3D
+112789 =3D=3D
+
+FIXED-TRUNK: vex:1407
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+112199 naked ar tool is used in vex makefile
+
+FIXED-TRUNK: vex:1397
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+112501 vex x86->IR: movq (0xF 0x7F 0xC1 0xF) (mmx MOVQ)
+113583 =3D=3D
+
+FIXED-TRUNK: vex:1408
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+112538 memalign crash
+
+FIXED-TRUNK: vg:4879
+FIXED-30BRANCH: vg:4880
+
+----------------------------------------------------------------
+113190 Broken links in docs/html/
+
+FIXED-TRUNK: vg:4778
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+113230 Valgrind sys_pipe on x86-64 wrongly thinks file descriptors
+ should be 64bit
+
+FIXED-TRUNK: vg:4669
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+n-i-bz Cachegrind shows incorrect miss rates when counts are
+ greater than 32 bits
+
+FIXED-TRUNK: vg:4769
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+113996 vex amd64->IR: fucomp (0xDD 0xE9 0xDF 0xE0)
+
+FIXED-TRUNK: vex:1437
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+114196 vex x86->IR: out %eax,(%dx) (0xEF 0xC9 0xC3 0x90)
+
+FIXED-TRUNK: vex:1425
+FIXED-30BRANCH: TODO
+(has good test case)
+
+----------------------------------------------------------------
+114250 context record in signal handler contains incorrect values
+
+FIXED-TRUNK: TODO
+FIXED-30BRANCH: TODO
+(has good test case)
+
+----------------------------------------------------------------
+114289 Memcheck fails to intercept malloc when used in an uclibc enviro=
nment
+
+FIXED-TRUNK: vg:4916
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+114756 mbind syscall support
+
+FIXED-TRUNK: vg:4958
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+114757 Valgrind dies with assertion: Assertion 'noLargerThan > 0' faile=
d
+
+FIXED-TRUNK: vg:4960
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+114563 stack tracking module not informed when valgrind switches thread=
s
+
+FIXED-TRUNK: vg:5070
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+114564: clone() and stacks
+114565 =3D=3D
+
+FIXED-TRUNK: vg:5070
+
+----------------------------------------------------------------
+115496 glibc crashes trying to use sysinfo page
+
+FIXED-TRUNK: vg:5079
+FIXED-30BRANCH: TODO
+
+----------------------------------------------------------------
+116200 enable fsetxattr, fgetxattr, and fremovexattr for amd64
+
+FIXED-TRUNK: vg:5106
+FIXED-30BRANCH: TODO
+
+
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+=3D=3D=3D Bugs targeted for 3.1.0 and 3.0.1 (all done, 3.0.1 released) =
=3D=3D=3D
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+
+----------------------------------------------------------------
+101204 noisy warning
+
+FIXED-TRUNK: vg:4511
+FIXED-30BRANCH: vg:4561
+
+----------------------------------------------------------------
+109313 x86 cmpxchg8b
+
+FIXED-TRUNK: vex:1331, vg:4390 contains regtest=20
+ + mistaken commit of this file)
+FIXED-30BRANCH: vex:1337
+
+----------------------------------------------------------------
+110102 dis_op2_E_G(amd64)
+
+FIXED-TRUNK: vex:1318
+FIXED-30BRANCH: vex:1325
+
+----------------------------------------------------------------
+110202 x86 sys_waitpid(#286)
+
+FIXED-TRUNK: vg:4329
+FIXED-30BRANCH: vg:4332
+
+----------------------------------------------------------------
+110203 clock_getres(,0)
+
+FIXED-TRUNK: vg:4328
+FIXED-30BRANCH: vg:4332
+
+----------------------------------------------------------------
+110208 execve fail wrong retval
+
+FIXED-TRUNK: vg:4330
+FIXED-30BRANCH: vg:4332
+
+----------------------------------------------------------------
+110274 SSE1 now mandatory for x86
+111739 =3D=3D
+
+FIXED-TRUNK: vex:1321, vg:4339
+FIXED-30BRANCH: vex:1327, vg:4374
+
+----------------------------------------------------------------
+110388 amd64 0xDD 0xD1
+
+FIXED-TRUNK: vex:1322
+FIXED-30BRANCH: vex:1328
+
+----------------------------------------------------------------
+110464 amd64 0xDC 0x1D FCOMP
+
+FIXED-TRUNK: vex:1323
+FIXED-30BRANCH: vex:1329
+
+----------------------------------------------------------------
+110478 amd64 0xF 0xD PREFETCH
+
+FIXED-TRUNK: vex:1324
+FIXED-30BRANCH: vex:1330
+
+----------------------------------------------------------------
+110591 amd64: rdtsc not implemented properly
+
+(Also afflicts x86)
+
+FIXED-TRUNK: vex:1344 (x86), vex:1346 (amd64).
+FIXED-30BRANCH: vex:1354 (x86), vex:1355 (amd64).
+
+----------------------------------------------------------------
+110652 AMD64 valgrind crashes on cwtd instruction
+
+FIXED-TRUNK: vex:1333
+FIXED-30BRANCH: vex:1335
+
+----------------------------------------------------------------
+110653 AMD64 valgrind crashes on sarb $0x4,foo(%rip) instruction
+
+FIXED-TRUNK: vex:1334
+FIXED-30BRANCH: vex:1336
+
+----------------------------------------------------------------
+110656 PATH=3D/usr/bin::/bin valgrind foobar stats ./fooba
+
+FIXED-TRUNK: vg:4386
+FIXED-30BRANCH: vg:4395
+
+----------------------------------------------------------------
+110657 Small test fixes
+
+(1) Filter out L3 cache warning messages causing problems
+(2) Stop tests/mq failing on 2.4 kernels
+
+I suppose it would be good to apply these. They seem low risk.
+
+FIXED-TRUNK: vg:4429
+FIXED-30BRANCH: vg:4458
+
+----------------------------------------------------------------
+110671 vex x86->IR: unhandled instruction bytes: 0xF3 0xC3 (rep ret)
+
+FIXED-TRUNK: vex:1332
+FIXED-30BRANCH: vex:1338
+
+----------------------------------------------------------------
+110685 amd64->IR: unhandled instruction bytes: 0xE1 0x56 (loope Jb)
+
+FIXED-TRUNK: vex:1349
+FIXED-30BRANCH: vex:1356
+
+----------------------------------------------------------------
+110830 configuring with --host fails to build 32 bit on 64 bit target
+
+FIXED-TRUNK: vg:4442
+FIXED-30BRANCH: vg:4459
+
+----------------------------------------------------------------
+110875 Assertion when execve fails
+
+FIXED-TRUNK: vg:4435
+FIXED-30BRANCH: vg:4457
+
+----------------------------------------------------------------
+110898 opteron instructions missing: btq sbbq btsq btrq bsfq
+
+FIXED-TRUNK: vex:1352
+FIXED-30BRANCH: vex:1357
+
+----------------------------------------------------------------
+110954 x86->IR: unhandled instruction bytes: 0xE2 0xF6 (loop Jb)
+
+FIXED-TRUNK: vex:1343
+FIXED-30BRANCH: vex:1358
+
+----------------------------------------------------------------
+111006 bogus warnings from linuxthreads
+
+FIXED-TRUNK: vg:4469, vg:4470
+FIXED-30BRANCH: vg:4497, vg:4498
+
+----------------------------------------------------------------
+111090 Internal Error running Massif
+111808 =3D=3D
+112098 =3D=3D
+
+FIXED-TRUNK: vg:4492
+FIXED-30BRANCH: vg:4509
+
+----------------------------------------------------------------
+111092 x86: dis_Grp2(Reg): unhandled case(x86)=20
+
+FIXED-TRUNK: vex:1341
+FIXED-30BRANCH: vex:1359
+
+----------------------------------------------------------------
+111102 (comment #4) Fixed 64-bit unclean "silly arg" message
+
+FIXED-TRUNK: vg:4476
+FIXED-30BRANCH: vg:4502
+
+****** not yet closed
+
+----------------------------------------------------------------
+111231 sctp_getladdrs() and sctp_getpaddrs() returns uninitialized
+ memory
+
+FIXED-TRUNK: vg:4549
+FIXED-30BRANCH: vg:4563
+
+----------------------------------------------------------------
+111513 Illegal opcode for SSE instruction (x86 movups)
+NB. Bug reporter did not yet verify that the fix works.
+
+FIXED-TRUNK: vex:1362
+FIXED-30BRANCH: vex:1367
+
+----------------------------------------------------------------
+111555 VEX/Makefile: CC is set to gcc
+
+FIXED-TRUNK: vex:1364, vg:4559
+FIXED-30BRANCH: vex:1365, vg:4560
+
+----------------------------------------------------------------
+CrispinF x86 %eflags.ac problem
+
+FIXED-TRUNK: vex:1319/vg:4334
+FIXED-30BRANCH: vex:1326, and vg:4334 was copied across as part of vg:43=
64
+
+----------------------------------------------------------------
+n-i-bz XML <unique> printing wrong
+
+FIXED-TRUNK: vg:4355,vg:4357,vg:4358
+FIXED-30BRANCH: vg:4585
+
+----------------------------------------------------------------
+n-i-bz Dirk r4359 (amd64 syscalls from trunk)
+
+FIXED-TRUNK: =20
+FIXED-30BRANCH: vg:4359
+
+----------------------------------------------------------------
+n-i-bz Dirk r4360 (upd email addrs from trunk)
+
+FIXED-TRUNK: =20
+FIXED-30BRANCH: vg:4360
+
+----------------------------------------------------------------
+n-i-bz Nick r4384 (stub implementations of Addrcheck and Helgrind)
+
+FIXED-TRUNK: vg:4384
+FIXED-30BRANCH: vg:4397
+
+----------------------------------------------------------------
+n-i-bz Nick (Cachegrind should not assert when it encounters a client
+request.)
+
+FIXED-TRUNK: vg:4391
+FIXED-30BRANCH: vg:4393
+
+----------------------------------------------------------------
+Updates to Memcheck manual
+
+FIXED-TRUNK: vg:4419, vg:4427, vg:4434
+FIXED-30BRANCH: vg:4455
+
+----------------------------------------------------------------
+Fixed broken malloc_usable_size()
+
+FIXED-TRUNK: vg:4439
+FIXED-30BRANCH: vg:4453
+
+----------------------------------------------------------------
+Make suppressions work for "???" lines in stacktraces.
+
+FIXED-TRUNK: vg:4447
+FIXED-30BRANCH: vg:4451
+
+----------------------------------------------------------------
+n-i-bz vex x86->IR: unhandled instruction bytes: 0x14 0x0
+
+FIXED-TRUNK: vex:1350 (basic fix), vex:1351 (x86 adc/sbb flags thunk =
fix),
+ vex:1353 (amd64 adc/sbb flags thunk fi=
x)
+FIXED-30BRANCH: vex:1360
+
+----------------------------------------------------------------
+n-i-bz minor umount/fcntl wrapper fixes
+
+FIXED-TRUNK: vg:4487
+FIXED-30BRANCH: vg:4562
+
+----------------------------------------------------------------
+n-i-bz Fix XML bugs in FAQ =20
+
+FIXED-TRUNK: vg:4528
+FIXED-30BRANCH: vg:4564
+
+
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+=3D=3D=3D Bugs of note not targeted for any particular release
+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
+
+----------------------------------------------------------------
+n-i-bz x86 INT/INT3
+
+Not started. Seems low priority.
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+87263 x86 segment stuff
+
+Not started. Seems low priority.
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+88116 x86 enter variants assert
+
+Not started. Seems low priority.
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+96542 x86 16-bit pop insns
+
+Not started. Seems low priority.
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+110207 mpn accuracy +
+110240 x86 FP differences
+
+Can't be easily fixed (x86 rounding/precision problem)
++ not convinced it's a big problem
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+110669 valgrind attach to gdb and quitting gdb hangs valgrind
+
+Not clear if this is really a Valgrind bug.
+
+FIXED-TRUNK: TODO?
+
+----------------------------------------------------------------
+111898 Need to control file name that cachegrind writes into
+
+FIXED-TRUNK: TODO?
|
|
From: Julian S. <js...@ac...> - 2006-02-23 18:07:52
|
> > > We have used this with success internally. > > > > How have you used it? > > > > Nick > > We took the output trace and fed it into a tool that displays pipeline > stalls for the Power5 processor. Recently, we have been working on > improving the performance of a few key routines in glibc. We're currently > looking at a few functions in the math libraries. So the output format of itrace is the same as the input format of your pipeline tool? (Is the latter open-source?) J |
|
From: Josef W. <Jos...@gm...> - 2006-02-23 18:01:38
|
On Thursday 23 February 2006 06:31, Yao Qi wrote: > I would like to send this request to maillist for an open discussion. > > Geoff Smith proposed an idea about Instruction Trace at > http://sourceforge.net/mailarchive/message.php?msg_id=14760370 > and I would like to explain and advocate his proposal. It seems to me that lackey does already a lot of it, especially with the --trace-mem=yes option in Valgrind SVN (or was this already in 3.1? "--help" does not talk about it). Perhaps it is a better idea to add the missing things to lackey? AFAICS things missing in lackey wrt itrace: - print PC together with memory accesses (--trace-instr=yes) - enable detailed access trace only for some function(s) Josef |
|
From: <js...@ac...> - 2006-02-23 09:35:07
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-02-23 02:00:02 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 == 192 tests, 11 stderr failures, 5 stdout failures ================= memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/stack_changes (stdout) memcheck/tests/stack_changes (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) |
|
From: Geoff S. <gs...@us...> - 2006-02-23 07:56:42
|
> > We would like to propose a new tool for valgrind to generate instruction > > traces. Perhaps the most direct way to explain this would be to offer the > > new chapter for the valgrind users manual. > > > > We have used this with success internally. > > How have you used it? > > Nick We took the output trace and fed it into a tool that displays pipeline stalls for the Power5 processor. Recently, we have been working on improving the performance of a few key routines in glibc. We're currently looking at a few functions in the math libraries. |
|
From: Yao Qi <qiy...@cn...> - 2006-02-23 05:32:09
|
I would like to send this request to maillist for an open discussion. Geoff Smith proposed an idea about Instruction Trace at http://sourceforge.net/mailarchive/message.php?msg_id=14760370 and I would like to explain and advocate his proposal. We started to write this tool in December 2005, and finish the prototype based on valgrind-3.1.0 until now. valgrind-itrace could trace actually executed instructions and record memory access, and output the result in a simple plain text format. It would work on X86 and PPC32 well. On the other hand, itrace/it_main.c is simple, less 500 lines, so it could be understood easily and help developers understand Valgrind internals. In this survey http://valgrind.org/gallery/survey_05/report.txt, it is said that, Profiling: - the possibility to perform the combination of instruction, syscall, and cache instrumentation. 1 Simulation correctness/robustness - Better instruction set coverage 5 function call tracer 3 so itrace in valgrind could do something relative to that above, and we are interested in contributing it to valgrind community and continue to improve its code , test cases and document. I do appreciate your comments at your earliest convenience, and I will submit a patch if you are willing to have a look on it. Thanks! -- Regards, Yao ------------ Yao Qi |
|
From: <js...@ac...> - 2006-02-23 03:59:24
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-02-23 03:30:01 GMT Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 223 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/x86/faultstatus (stderr) none/tests/x86/int (stderr) |