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
(13) |
2
(33) |
3
(25) |
4
(22) |
5
(22) |
6
(21) |
7
(19) |
|
8
(29) |
9
(34) |
10
(29) |
11
(37) |
12
(36) |
13
(28) |
14
(25) |
|
15
(28) |
16
(23) |
17
(36) |
18
(21) |
19
(12) |
20
(14) |
21
(10) |
|
22
(7) |
23
(15) |
24
(41) |
25
(15) |
26
(9) |
27
(7) |
28
(6) |
|
29
(16) |
30
(24) |
31
(22) |
|
|
|
|
|
From: <sv...@va...> - 2005-05-03 22:31:30
|
Author: sewardj
Date: 2005-05-03 23:31:22 +0100 (Tue, 03 May 2005)
New Revision: 3610
Modified:
trunk/coregrind/x86-linux/syscalls.c
Log:
Fix stupid bug I introduced in r3556, which broke handling of RT
signals. Sigh.
Modified: trunk/coregrind/x86-linux/syscalls.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
--- trunk/coregrind/x86-linux/syscalls.c 2005-05-03 18:19:05 UTC (rev 360=
9)
+++ trunk/coregrind/x86-linux/syscalls.c 2005-05-03 22:31:22 UTC (rev 361=
0)
@@ -613,7 +613,7 @@
something goes wrong in the sigreturn */
VGA_(restart_syscall)(&tst->arch);
=20
- VG_(sigframe_destroy)(tid, False);
+ VG_(sigframe_destroy)(tid, True);
=20
/* Keep looking for signals until there are none */
VG_(poll_signals)(tid);
|
|
From: <sv...@va...> - 2005-05-03 18:19:14
|
Author: sewardj
Date: 2005-05-03 19:19:05 +0100 (Tue, 03 May 2005)
New Revision: 3609
Modified:
trunk/memcheck/mc_main.c
Log:
Fix really stupid bug I introduced during recent 64-bitification of
mc_main.c. As so often the case, the regtest system saved the day by
being the first to notice this idiocy.
Modified: trunk/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
--- trunk/memcheck/mc_main.c 2005-05-03 18:16:12 UTC (rev 3608)
+++ trunk/memcheck/mc_main.c 2005-05-03 18:19:05 UTC (rev 3609)
@@ -1158,7 +1158,7 @@
=20
/* When some chunk of guest state is written, mark the corresponding
shadow area as valid. This is used to initialise arbitrarily large
- chunks of guest state, hence the (somewhat arbitrary) 512 limit.
+ chunks of guest state, hence the (somewhat arbitrary) 1024 limit.
*/
static void mc_post_reg_write ( CorePart part, ThreadId tid,=20
OffT offset, SizeT size)
@@ -1195,7 +1195,7 @@
bad =3D False;
for (i =3D 0; i < size; i++) {
if (area[i] !=3D VGM_BYTE_VALID) {
- bad =3D False;
+ bad =3D True;
break;
}
}
|
|
From: <sv...@va...> - 2005-05-03 18:16:50
|
Author: tom
Date: 2005-05-03 19:16:12 +0100 (Tue, 03 May 2005)
New Revision: 3608
Modified:
trunk/memcheck/mac_needs.c
Log:
Don't truncate addresses in error reports.
Modified: trunk/memcheck/mac_needs.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
--- trunk/memcheck/mac_needs.c 2005-05-03 17:45:20 UTC (rev 3607)
+++ trunk/memcheck/mac_needs.c 2005-05-03 18:16:12 UTC (rev 3608)
@@ -219,19 +219,20 @@
switch (ai->akind) {
case Stack:=20
VG_(message)(Vg_UserMsg,=20
- " Address 0x%x is on thread %d's stack",=20
- a, ai->stack_tid);
+ " Address 0x%lx is on thread %d's stack",=20
+ (ULong)a, ai->stack_tid);
break;
case Unknown:
if (ai->maybe_gcc) {
VG_(message)(Vg_UserMsg,=20
- " Address 0x%x is just below %%esp. Possibly a bug in GC=
C/G++",
- a);
+ " Address 0x%lx is just below %%esp. Possibly a bug in G=
CC/G++",
+ (ULong)a);
VG_(message)(Vg_UserMsg,=20
" v 2.96 or 3.0.X. To suppress, use: --workaround-gcc29=
6-bugs=3Dyes");
} else {
VG_(message)(Vg_UserMsg,=20
- " Address 0x%x is not stack'd, malloc'd or (recently) fre=
e'd",a);
+ " Address 0x%lx is not stack'd, malloc'd or (recently) fr=
ee'd",
+ (ULong)a);
}
break;
case Freed: case Mallocd: case UserG: case Mempool: {
@@ -257,8 +258,8 @@
relative =3D "inside";
}
VG_(message)(Vg_UserMsg,=20
- " Address 0x%x is %llu bytes %s a %s of size %d %s",
- a, (ULong)delta, relative, kind,
+ " Address 0x%lx is %llu bytes %s a %s of size %d %s",
+ (ULong)a, (ULong)delta, relative, kind,
ai->blksize,
ai->akind=3D=3DMallocd ? "alloc'd"=20
: ai->akind=3D=3DFreed ? "free'd"=20
|
|
From: <sv...@va...> - 2005-05-03 17:45:24
|
Author: sewardj Date: 2005-05-03 18:45:20 +0100 (Tue, 03 May 2005) New Revision: 3607 Added: trunk/memcheck/tests/metadata.vgtest-HIDING Removed: trunk/memcheck/tests/metadata.vgtest Log: Disable this test for the time being, since the functionality it tests is currently commented out, and may eventually disappear entirely. Deleted: trunk/memcheck/tests/metadata.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 --- trunk/memcheck/tests/metadata.vgtest 2005-05-03 17:36:08 UTC (rev 360= 6) +++ trunk/memcheck/tests/metadata.vgtest 2005-05-03 17:45:20 UTC (rev 360= 7) @@ -1,2 +0,0 @@ -prog: metadata -vgopts: -q Copied: trunk/memcheck/tests/metadata.vgtest-HIDING (from rev 3600, trunk= /memcheck/tests/metadata.vgtest) |
|
From: <sv...@va...> - 2005-05-03 17:36:15
|
Author: sewardj
Date: 2005-05-03 18:36:08 +0100 (Tue, 03 May 2005)
New Revision: 3606
Modified:
trunk/memcheck/tests/buflen_check.stderr.exp
Log:
Fix expected output. It could be that having CFI-based tracebacks
made the stack traces in the error messages less crappy.
Modified: trunk/memcheck/tests/buflen_check.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
--- trunk/memcheck/tests/buflen_check.stderr.exp 2005-05-03 16:44:31 UTC =
(rev 3605)
+++ trunk/memcheck/tests/buflen_check.stderr.exp 2005-05-03 17:36:08 UTC =
(rev 3606)
@@ -1,13 +1,11 @@
Syscall param socketcall.getsockname(name) points to unaddressable byte(=
s)
at 0x........: getsockname (in /...libc...)
- by 0x........: __libc_start_main (in /...libc...)
- by 0x........: ...
+ by 0x........: main (buflen_check.c:18)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
=20
Syscall param socketcall.getsockname(namelen_in) points to unaddressable=
byte(s)
at 0x........: getsockname (in /...libc...)
- by 0x........: __libc_start_main (in /...libc...)
- by 0x........: ...
+ by 0x........: main (buflen_check.c:19)
Address 0x........ is not stack'd, malloc'd or (recently) free'd
getsockname(1) failed
getsockname(2) failed
|
|
From: <sv...@va...> - 2005-05-03 16:44:36
|
Author: sewardj
Date: 2005-05-03 17:44:31 +0100 (Tue, 03 May 2005)
New Revision: 3605
Modified:
trunk/none/tests/cmdline2.stdout.exp
Log:
Update expected output.
Modified: trunk/none/tests/cmdline2.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
--- trunk/none/tests/cmdline2.stdout.exp 2005-05-03 16:05:00 UTC (rev 360=
4)
+++ trunk/none/tests/cmdline2.stdout.exp 2005-05-03 16:44:31 UTC (rev 360=
5)
@@ -50,6 +50,7 @@
--trace-syscalls=3Dno|yes show all system calls? [no]
--trace-signals=3Dno|yes show signal handling details? [no]
--trace-symtab=3Dno|yes show symbol table details? [no]
+ --trace-cfi=3Dno|yes show call-frame-info details? [no]
--trace-sched=3Dno|yes show thread scheduler details? [no]
--wait-for-gdb=3Dyes|no pause on startup to wait for gdb attach
--command-line-only=3Dno|yes only use command line options [no]
|
|
From: <sv...@va...> - 2005-05-03 16:05:05
|
Author: sewardj
Date: 2005-05-03 17:05:00 +0100 (Tue, 03 May 2005)
New Revision: 3604
Modified:
trunk/coregrind/vg_dwarf.c
trunk/coregrind/vg_symtab2.c
Log:
* Clean up the DWARF2 CFI reader a bit
* Check that cie.ra_reg that shows up matches the RA_COL we assume
* Improve debug printing a bit
Modified: trunk/coregrind/vg_dwarf.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
--- trunk/coregrind/vg_dwarf.c 2005-05-03 15:23:00 UTC (rev 3603)
+++ trunk/coregrind/vg_dwarf.c 2005-05-03 16:05:00 UTC (rev 3604)
@@ -829,6 +829,42 @@
/*--- Read call-frame info from an .eh_frame section ---*/
/*------------------------------------------------------------*/
=20
+/* Useful info ..
+
+ In general:
+ gdb-6.3/gdb/dwarf2-frame.c
+
+ gdb-6.3/gdb/i386-tdep.c:
+
+ DWARF2/GCC uses the stack address *before* the function call as a
+ frame's CFA. [jrs: I presume this means %esp before the call as
+ the CFA].=20
+
+ JRS: on amd64, the dwarf register numbering is, as per
+ gdb-6.3/gdb/tdep-amd64.c and also amd64-abi-0.95.pdf:
+
+ 0 1 2 3 4 5 6 7
+ RAX RDX RCX RBX RSI RDI RBP RSP
+
+ 8 ... 15
+ R8 ... R15
+
+ 16 is the return address (RIP)
+
+ This is pretty strange given this not the encoding scheme for
+ registers used in amd64 code.
+
+ On x86 I cannot find any documentation. It _appears_ to be the
+ actual instruction encoding, viz:
+
+ 0 1 2 3 4 5 6 7
+ EAX ECX EDX EBX ESP EBP ESI EDI
+
+ 8 is the return address (EIP) */
+
+
+/* ------------ Deal with summary-info records ------------ */
+
void VG_(ppCfiSI) ( CfiSI* si )
{
# define SHOW_HOW(_how, _off) \
@@ -879,36 +915,8 @@
}
=20
=20
-/* Useful info ..
+/* --------------- Decls --------------- */
=20
- gdb-6.3/gdb/i386-tdep.c:
-
- DWARF2/GCC uses the stack address *before* the function call as a
- frame's CFA. [jrs: I presume this means %esp before the call as
- the CFA].=20
-
- JRS: on amd64, the dwarf register numbering is, as per
- gdb-6.3/gdb/tdep-amd64.c and also amd64-abi-0.95.pdf:
-
- 0 1 2 3 4 5 6 7
- RAX RDX RCX RBX RSI RDI RBP RSP
-
- 8 ... 15
- R8 ... R15
-
- 16 is the return address (RIP)
-
- This is pretty strange given this not the encoding scheme for
- registers used in amd64 code.
-
- On x86 I cannot find any documentation. It _appears_ to be the
- actual instruction encoding, viz:
-
- 0 1 2 3 4 5 6 7
- EAX ECX EDX EBX ESP EBP ESI EDI
-
- 8 is the return address (EIP) */
-
#if defined(VGP_x86_linux)
#define FP_COL 5
#define SP_COL 4
@@ -976,10 +984,16 @@
#define DW_EH_PE_indirect 0x80
=20
=20
+/* RegRule and UnwindContext are used temporarily to do the unwinding.
+ The result is then summarised into a CfiSI, if possible. */
+
typedef
struct {
enum { RR_Undef, RR_Same, RR_CFAoff, RR_Reg, RR_Arch } tag;
=20
+ /* Note, .coff and .reg are never both in use. Therefore could
+ merge them into one. */
+
/* CFA offset if tag=3D=3DRR_CFAoff */
Int coff;
=20
@@ -988,6 +1002,19 @@
}
RegRule;
=20
+static void ppRegRule ( RegRule* reg )
+{
+ switch (reg->tag) {
+ case RR_Undef: VG_(printf)("u "); break;
+ case RR_Same: VG_(printf)("s "); break;
+ case RR_CFAoff: VG_(printf)("c%d ", reg->coff); break;
+ case RR_Reg: VG_(printf)("r%d ", reg->reg); break;
+ case RR_Arch: VG_(printf)("a "); break;
+ default: VG_(core_panic)("ppRegRule");
+ }
+}
+
+
typedef
struct {
/* Read-only fields. */
@@ -1006,6 +1033,16 @@
}
UnwindContext;
=20
+static void ppUnwindContext ( UnwindContext* ctx )
+{
+ Int i;
+ VG_(printf)("0x%llx: ", (ULong)ctx->loc);
+ VG_(printf)("%d(r%d) ", ctx->cfa_offset, ctx->cfa_reg);
+ for (i =3D 0; i < N_CFI_REGS; i++)
+ ppRegRule(&ctx->reg[i]);
+ VG_(printf)("\n");
+}
+
static void initUnwindContext ( /*OUT*/UnwindContext* ctx )
{
Int i;
@@ -1021,30 +1058,9 @@
}
}
=20
-static void ppRegRule ( RegRule* reg )
-{
- switch (reg->tag) {
- case RR_Undef: VG_(printf)("u "); break;
- case RR_Same: VG_(printf)("s "); break;
- case RR_CFAoff: VG_(printf)("c%d ", reg->coff); break;
- case RR_Reg: VG_(printf)("r%d ", reg->reg); break;
- case RR_Arch: VG_(printf)("a "); break;
- default: VG_(core_panic)("ppRegRule");
- }
-}
=20
+/* --------------- Summarisation --------------- */
=20
-static void ppUnwindContext ( UnwindContext* ctx )
-{
- Int i;
- VG_(printf)("0x%llx: ", (ULong)ctx->loc);
- VG_(printf)("%d(r%d) ", ctx->cfa_offset, ctx->cfa_reg);
- for (i =3D 0; i < N_CFI_REGS; i++)
- ppRegRule(&ctx->reg[i]);
- VG_(printf)("\n");
-}
-
-
/* Summarise ctx into si, if possible. Returns True if successful.
This is taken to be just after ctx's loc advances; hence the
summary is up to but not including the current loc. This works
@@ -1110,9 +1126,12 @@
return True;
=20
failed:
- VG_(printf)("summarise_context(loc_start =3D %p)"
- ": cannot summarise(why=3D%d):\n ", loc_start, why);
- ppUnwindContext(ctx);
+ if (VG_(clo_verbosity) > 1) {
+ VG_(message)(Vg_DebugMsg,
+ "summarise_context(loc_start =3D %p)"
+ ": cannot summarise(why=3D%d): ", loc_start, why);
+ ppUnwindContext(ctx);
+ }
return False;
}
=20
@@ -1137,6 +1156,9 @@
VG_(printf)("\n");
}
=20
+
+/* ------------ Pick apart DWARF2 byte streams ------------ */
+
static inline Bool host_is_little_endian ( void )
{
UInt x =3D 0x76543210;
@@ -1144,7 +1166,6 @@
return toBool(*p =3D=3D 0x10);
}
=20
-
static Short read_Short ( UChar* data )
{
vg_assert(host_is_little_endian());
@@ -1217,11 +1238,11 @@
=20
static Addr read_Addr ( UChar* data )
{
- if (sizeof(Addr) =3D=3D 4)
- return read_UInt(data);
- else if (sizeof(Addr) =3D=3D 8)
- return read_ULong(data);
- vg_assert(0);
+# if VG_WORDSIZE =3D=3D 4
+ return read_UInt(data);
+# else
+ return read_ULong(data);
+# endif
}
=20
static UChar read_UChar ( UChar* data )
@@ -1320,6 +1341,8 @@
}
=20
=20
+/* ------------ Run/show CFI instructions ------------ */
+
/* Run a CFI instruction, and also return its length.
Returns 0 if the instruction could not be executed.=20
*/
@@ -1440,7 +1463,8 @@
break;
=20
default:=20
- VG_(printf)("Unhandled CFI instruction 0:%d\n", (Int)lo6);=20
+ VG_(message)(Vg_DebugMsg, "DWARF2 CFI reader: unhandled CFI "
+ "instruction 0:%d", (Int)lo6);=20
i =3D 0;
break;
}
@@ -1450,6 +1474,7 @@
=20
=20
/* Show a CFI instruction, and also return its length. */
+
static Int show_CF_instruction ( UChar* instr )
{
UInt delta;
@@ -1611,8 +1636,11 @@
}
=20
=20
+/* ------------ Main entry point for CFI reading ------------ */
+
void VG_(read_callframe_info_dwarf2)=20
- ( /*OUT*/SegInfo* si, UChar* ehframe, Int ehframe_sz, Addr ehfra=
me_addr )
+ ( /*OUT*/SegInfo* si,=20
+ UChar* ehframe, Int ehframe_sz, Addr ehframe_addr )
{
UnwindContext ctx, restore_ctx;
Int nbytes;
@@ -1718,6 +1746,10 @@
UChar cie_rareg =3D read_UChar(data); data +=3D sizeof(UChar);
if (VG_(clo_trace_cfi))=20
VG_(printf)("cie.ra_reg =3D %d\n", (Int)cie_rareg);
+ if (cie_rareg !=3D RA_COL) {
+ how =3D "cie.ra_reg does not match RA_COL";
+ goto bad;
+ }
=20
saw_z_augmentation =3D *cie_augmentation =3D=3D 'z';
if (saw_z_augmentation) {
Modified: trunk/coregrind/vg_symtab2.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
--- trunk/coregrind/vg_symtab2.c 2005-05-03 15:23:00 UTC (rev 3603)
+++ trunk/coregrind/vg_symtab2.c 2005-05-03 16:05:00 UTC (rev 3604)
@@ -391,9 +391,19 @@
them. */
if ( cfisi->base + cfisi->len - 1 < si->start
|| si->start + si->size - 1 < cfisi->base ) {
- if (VG_(clo_trace_cfi)) {
- VG_(printf)("CfiSI outside segment: ");
- VG_(ppCfiSI)(cfisi);
+ static Int complaints =3D 3;
+ if (VG_(clo_trace_cfi) || complaints > 0) {
+ complaints--;
+ VG_(message)(
+ Vg_DebugMsg,
+ "warning: CfiSI %p .. %p outside segment %p .. %p",
+ cfisi->base,=20
+ cfisi->base + cfisi->len - 1,
+ si->start,
+ si->start + si->size - 1=20
+ );
+ if (VG_(clo_trace_cfi))=20
+ VG_(ppCfiSI)(cfisi);
}
return;
}
@@ -1709,7 +1719,7 @@
}
=20
/* Read .eh_frame (call-frame-info) if any */
- if (ehframe && ehframe_sz > 4) {
+ if (ehframe) {
VG_(read_callframe_info_dwarf2) ( si, ehframe, ehframe_sz, ehfr=
ame_addr );
}
=20
|
|
From: <sv...@va...> - 2005-05-03 15:23:05
|
Author: sewardj
Date: 2005-05-03 16:23:00 +0100 (Tue, 03 May 2005)
New Revision: 3603
Modified:
trunk/coregrind/vg_symtab2.c
Log:
VG_(addCfiSI): ignore CfiSIs which state an address range outside of
the segment itself. This may well be hiding bugs in the CFI reader,
but I can't figure out why some .so-s generate very low address
ranges -- sometimes eg 0x0 .. 0x1.
Modified: trunk/coregrind/vg_symtab2.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
--- trunk/coregrind/vg_symtab2.c 2005-05-03 15:20:01 UTC (rev 3602)
+++ trunk/coregrind/vg_symtab2.c 2005-05-03 15:23:00 UTC (rev 3603)
@@ -386,6 +386,18 @@
UInt new_sz, i;
CfiSI* new_tab;
=20
+ /* Rule out ones which are completely outside the segment. These
+ probably indicate some kind of bug, but for the meantime ignore
+ them. */
+ if ( cfisi->base + cfisi->len - 1 < si->start
+ || si->start + si->size - 1 < cfisi->base ) {
+ if (VG_(clo_trace_cfi)) {
+ VG_(printf)("CfiSI outside segment: ");
+ VG_(ppCfiSI)(cfisi);
+ }
+ return;
+ }
+
if (si->cfisi_used =3D=3D si->cfisi_size) {
new_sz =3D 2 * si->cfisi_size;
if (new_sz =3D=3D 0) new_sz =3D 20;
@@ -863,6 +875,13 @@
<=3D si->cfisi_maxaddr);
=20
if (i < si->cfisi_used - 1) {
+ /*
+ if (!(si->cfisi[i].base < si->cfisi[i+1].base)) {
+ VG_(printf)("\nOOO cfisis:\n");
+ VG_(ppCfiSI)(&si->cfisi[i]);
+ VG_(ppCfiSI)(&si->cfisi[i+1]);
+ }
+ */
/* In order. */
vg_assert(si->cfisi[i].base < si->cfisi[i+1].base);
/* No overlaps. */
|
|
From: <sv...@va...> - 2005-05-03 15:20:07
|
Author: sewardj
Date: 2005-05-03 16:20:01 +0100 (Tue, 03 May 2005)
New Revision: 3602
Modified:
trunk/coregrind/vg_dwarf.c
Log:
Improve debug printing
Modified: trunk/coregrind/vg_dwarf.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
--- trunk/coregrind/vg_dwarf.c 2005-05-03 12:22:00 UTC (rev 3601)
+++ trunk/coregrind/vg_dwarf.c 2005-05-03 15:20:01 UTC (rev 3602)
@@ -1632,7 +1632,7 @@
if (VG_(clo_trace_cfi)) {
VG_(printf)("\n-----------------------------------------------\n")=
;
VG_(printf)("CFI info: ehframe %p, ehframe_sz %d\n",
- ehframe, ehframe_sz );
+ ehframe, ehframe_sz );
VG_(printf)("CFI info: name %s\n",
si->filename );
}
@@ -1656,7 +1656,8 @@
=20
UChar* ciefde_start =3D data;
if (VG_(clo_trace_cfi))=20
- VG_(printf)("\ncie/fde.start =3D %p\n", ciefde_start);
+ VG_(printf)("\ncie/fde.start =3D %p (ehframe + 0x%x)\n",=20
+ ciefde_start, ciefde_start - ehframe);
=20
UInt ciefde_len =3D read_UInt(data); data +=3D sizeof(UInt);
if (VG_(clo_trace_cfi))=20
|
|
From: <sv...@va...> - 2005-05-03 12:22:06
|
Author: sewardj
Date: 2005-05-03 13:22:00 +0100 (Tue, 03 May 2005)
New Revision: 3601
Modified:
trunk/memcheck/mc_translate.c
Log:
Handle Iop_Neg{8,16,32}.
Modified: trunk/memcheck/mc_translate.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
--- trunk/memcheck/mc_translate.c 2005-05-03 09:30:04 UTC (rev 3600)
+++ trunk/memcheck/mc_translate.c 2005-05-03 12:22:00 UTC (rev 3601)
@@ -1884,6 +1884,17 @@
case Iop_Not1:
return vatom;
=20
+ /* Neg* really fall under the Add/Sub banner, and as such you
+ might think would qualify for the 'expensive add/sub'
+ treatment. However, in this case since the implied literal
+ is zero (0 - arg), we just do the cheap thing anyway. */
+ case Iop_Neg8:
+ return mkLeft8(mce, vatom);
+ case Iop_Neg16:
+ return mkLeft16(mce, vatom);
+ case Iop_Neg32:
+ return mkLeft32(mce, vatom);
+
default:
ppIROp(op);
VG_(tool_panic)("memcheck:expr2vbits_Unop");
|
|
From: <sv...@va...> - 2005-05-03 12:20:19
|
Author: sewardj
Date: 2005-05-03 13:20:15 +0100 (Tue, 03 May 2005)
New Revision: 1159
Modified:
trunk/priv/guest-x86/toIR.c
trunk/pub/libvex_ir.h
Log:
x86 guest: generate Iop_Neg* in the x86->IR phase. Intent is to
ensure that the non-shadow (real) computation done by the program will
fail if Iop_Neg* is incorrectly handled somehow. Until this point,
Iop_Neg* is only generated by memcheck and so it will not be obvious
if it is mishandled. IOW, this commit enhances verifiability of the
x86-IR-x86 pipeline.
Modified: trunk/priv/guest-x86/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
--- trunk/priv/guest-x86/toIR.c 2005-05-03 09:09:27 UTC (rev 1158)
+++ trunk/priv/guest-x86/toIR.c 2005-05-03 12:20:15 UTC (rev 1159)
@@ -848,7 +848,7 @@
|| op8 =3D=3D Iop_Or8 || op8 =3D=3D Iop_And8 || op8 =3D=3D Io=
p_Xor8
|| op8 =3D=3D Iop_Shl8 || op8 =3D=3D Iop_Shr8 || op8 =3D=3D I=
op_Sar8
|| op8 =3D=3D Iop_CmpEQ8 || op8 =3D=3D Iop_CmpNE8
- || op8 =3D=3D Iop_Not8 );
+ || op8 =3D=3D Iop_Not8 || op8 =3D=3D Iop_Neg8);
adj =3D ty=3D=3DIty_I8 ? 0 : (ty=3D=3DIty_I16 ? 1 : 2);
return adj + op8;
}
@@ -2761,7 +2761,7 @@
dst1 =3D newTemp(ty);
assign(dst0, mkU(ty,0));
assign(src, getIReg(sz,eregOfRM(modrm)));
- assign(dst1, binop(mkSizedOp(ty,Iop_Sub8), mkexpr(dst0), mke=
xpr(src)));
+ assign(dst1, unop(mkSizedOp(ty,Iop_Neg8), mkexpr(src)));
setFlags_DEP1_DEP2(Iop_Sub8, dst0, src, ty);
putIReg(sz, eregOfRM(modrm), mkexpr(dst1));
DIP("neg%c %s\n", nameISize(sz), nameIReg(sz, eregOfRM(modrm=
)));
@@ -2810,7 +2810,6 @@
DIP("test%c $0x%x, %s\n", nameISize(sz), d32, dis_buf);
break;
}
- /* probably OK, but awaiting test case */
case 2: /* NOT */
storeLE( mkexpr(addr), unop(mkSizedOp(ty,Iop_Not8), mkexpr(t=
1)));
DIP("not%c %s\n", nameISize(sz), dis_buf);
@@ -2821,7 +2820,7 @@
dst1 =3D newTemp(ty);
assign(dst0, mkU(ty,0));
assign(src, mkexpr(t1));
- assign(dst1, binop(mkSizedOp(ty,Iop_Sub8), mkexpr(dst0), mke=
xpr(src)));
+ assign(dst1, unop(mkSizedOp(ty,Iop_Neg8), mkexpr(src)));
setFlags_DEP1_DEP2(Iop_Sub8, dst0, src, ty);
storeLE( mkexpr(addr), mkexpr(dst1) );
DIP("neg%c %s\n", nameISize(sz), dis_buf);
Modified: trunk/pub/libvex_ir.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
--- trunk/pub/libvex_ir.h 2005-05-03 09:09:27 UTC (rev 1158)
+++ trunk/pub/libvex_ir.h 2005-05-03 12:20:15 UTC (rev 1159)
@@ -200,8 +200,9 @@
=20
typedef
enum {=20
- /* Do not change this ordering. The IR generators
- rely on (eg) Iop_Add64 =3D=3D IopAdd8 + 3. */
+ /* -- Do not change this ordering. The IR generators rely on
+ (eg) Iop_Add64 =3D=3D IopAdd8 + 3. -- */
+
Iop_INVALID=3D0x13000,
Iop_Add8, Iop_Add16, Iop_Add32, Iop_Add64,
Iop_Sub8, Iop_Sub16, Iop_Sub32, Iop_Sub64,
@@ -218,6 +219,10 @@
Iop_CmpNE8, Iop_CmpNE16, Iop_CmpNE32, Iop_CmpNE64,
/* Tags for unary ops */
Iop_Not8, Iop_Not16, Iop_Not32, Iop_Not64,
+ Iop_Neg8, Iop_Neg16, Iop_Neg32, Iop_Neg64,
+
+ /* -- Ordering not important after here. -- */
+
/* Widening multiplies */
Iop_MullS8, Iop_MullS16, Iop_MullS32, Iop_MullS64,
Iop_MullU8, Iop_MullU16, Iop_MullU32, Iop_MullU64,
@@ -229,7 +234,6 @@
zero. You must ensure they are never given a zero argument.
*/
=20
- /* Ordering not important after here. */
Iop_CmpLT32S, Iop_CmpLT64S,
Iop_CmpLE32S, Iop_CmpLE64S,
Iop_CmpLT32U, Iop_CmpLT64U,
@@ -237,7 +241,6 @@
=20
/* As a sop to Valgrind-Memcheck, the following are useful. */
Iop_CmpNEZ8, Iop_CmpNEZ16, Iop_CmpNEZ32, Iop_CmpNEZ64,
- Iop_Neg8, Iop_Neg16, Iop_Neg32, Iop_Neg64,
=20
/* Division */
/* TODO: clarify semantics wrt rounding, negative values, whatever=
*/
|
|
From: <sv...@va...> - 2005-05-03 09:30:08
|
Author: tom
Date: 2005-05-03 10:30:04 +0100 (Tue, 03 May 2005)
New Revision: 3600
Modified:
trunk/coregrind/vg_dwarf.c
Log:
Reset the address encoding to the default before parsing the
augmentation string for a new CIE or we may end up using a bogus
encoding from the previous CIE if the new one has no encoding
specified.
Modified: trunk/coregrind/vg_dwarf.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
--- trunk/coregrind/vg_dwarf.c 2005-05-03 09:03:51 UTC (rev 3599)
+++ trunk/coregrind/vg_dwarf.c 2005-05-03 09:30:04 UTC (rev 3600)
@@ -1728,6 +1728,8 @@
cie_instrs =3D NULL;
}
=20
+ address_encoding =3D default_Addr_encoding();
+
while (*cie_augmentation) {
switch (*cie_augmentation) {
case 'L':
|
|
From: <sv...@va...> - 2005-05-03 09:09:31
|
Author: sewardj
Date: 2005-05-03 10:09:27 +0100 (Tue, 03 May 2005)
New Revision: 1158
Modified:
trunk/priv/host-x86/isel.c
Log:
Generate better code for CmpNEZ64(Or64(x,y)), a common idiom resulting
from memchecking of FP code.
Modified: trunk/priv/host-x86/isel.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
--- trunk/priv/host-x86/isel.c 2005-05-03 09:08:23 UTC (rev 1157)
+++ trunk/priv/host-x86/isel.c 2005-05-03 09:09:27 UTC (rev 1158)
@@ -1560,7 +1560,7 @@
if (matchIRExpr(&mi, p_CmpNEZ32_And32, e)) {
HReg r0 =3D iselIntExpr_R(env, mi.bindee[0]);
X86RMI* rmi1 =3D iselIntExpr_RMI(env, mi.bindee[1]);
- HReg tmp =3D newVRegI(env);
+ HReg tmp =3D newVRegI(env);
addInstr(env, mk_iMOVsd_RR(r0, tmp));
addInstr(env, X86Instr_Alu32R(Xalu_AND,rmi1,tmp));
return Xcc_NZ;
@@ -1575,12 +1575,13 @@
if (matchIRExpr(&mi, p_CmpNEZ32_Or32, e)) {
HReg r0 =3D iselIntExpr_R(env, mi.bindee[0]);
X86RMI* rmi1 =3D iselIntExpr_RMI(env, mi.bindee[1]);
- HReg tmp =3D newVRegI(env);
+ HReg tmp =3D newVRegI(env);
addInstr(env, mk_iMOVsd_RR(r0, tmp));
addInstr(env, X86Instr_Alu32R(Xalu_OR,rmi1,tmp));
return Xcc_NZ;
}
}
+
/* CmpNEZ32(x) */
if (e->tag =3D=3D Iex_Unop=20
&& e->Iex.Unop.op =3D=3D Iop_CmpNEZ32) {
@@ -1603,6 +1604,24 @@
}
}
=20
+ /* CmpNEZ64(Or64(x,y)) */
+ {
+ DECLARE_PATTERN(p_CmpNEZ64_Or64);
+ DEFINE_PATTERN(p_CmpNEZ64_Or64,
+ unop(Iop_CmpNEZ64, binop(Iop_Or64, bind(0), bind(1)=
)));
+ if (matchIRExpr(&mi, p_CmpNEZ64_Or64, e)) {
+ HReg hi1, lo1, hi2, lo2;
+ HReg tmp =3D newVRegI(env);
+ iselInt64Expr( &hi1, &lo1, env, mi.bindee[0] );
+ addInstr(env, mk_iMOVsd_RR(hi1, tmp));
+ addInstr(env, X86Instr_Alu32R(Xalu_OR,X86RMI_Reg(lo1),tmp));
+ iselInt64Expr( &hi2, &lo2, env, mi.bindee[1] );
+ addInstr(env, X86Instr_Alu32R(Xalu_OR,X86RMI_Reg(hi2),tmp));
+ addInstr(env, X86Instr_Alu32R(Xalu_OR,X86RMI_Reg(lo2),tmp));
+ return Xcc_NZ;
+ }
+ }
+
/* CmpNEZ64(x) */
if (e->tag =3D=3D Iex_Unop=20
&& e->Iex.Unop.op =3D=3D Iop_CmpNEZ64) {
|
|
From: <sv...@va...> - 2005-05-03 09:08:29
|
Author: sewardj
Date: 2005-05-03 10:08:23 +0100 (Tue, 03 May 2005)
New Revision: 1157
Modified:
trunk/pub/libvex.h
Log:
Memchecking very large BBs of FP insns on x86 sometimes needs a lot of
spill slots.
Modified: trunk/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
--- trunk/pub/libvex.h 2005-05-02 17:07:02 UTC (rev 1156)
+++ trunk/pub/libvex.h 2005-05-03 09:08:23 UTC (rev 1157)
@@ -189,7 +189,7 @@
On entry, the baseblock pointer register must be 8-aligned.
*/
=20
-#define LibVEX_N_SPILL_BYTES 768
+#define LibVEX_N_SPILL_BYTES 1024
=20
=20
/*-------------------------------------------------------*/
|
|
From: <sv...@va...> - 2005-05-03 09:03:58
|
Author: tom
Date: 2005-05-03 10:03:51 +0100 (Tue, 03 May 2005)
New Revision: 3599
Modified:
trunk/glibc-2.3.supp
trunk/xfree-4.supp
Log:
Some suppressions for FC3 amd64 systems.
Modified: trunk/glibc-2.3.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/glibc-2.3.supp 2005-05-02 17:11:58 UTC (rev 3598)
+++ trunk/glibc-2.3.supp 2005-05-03 09:03:51 UTC (rev 3599)
@@ -374,3 +374,10 @@
obj:/lib/tls/libpthread-2.3.4.so
obj:/lib/tls/libpthread-2.3.4.so
}
+{
+ Unterminated strstr string in is_smp_system() (NPTL)
+ Memcheck:Cond
+ fun:strstr
+ fun:__pthread_initialize_minimal
+ obj:/lib64/tls/libpthread*.so*
+}
Modified: trunk/xfree-4.supp
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/xfree-4.supp 2005-05-02 17:11:58 UTC (rev 3598)
+++ trunk/xfree-4.supp 2005-05-03 09:03:51 UTC (rev 3599)
@@ -202,5 +202,33 @@
fun:_dl_map_object
}
=20
+{
+ strlen-not-intercepted-early-enough-HACK-3
+ Memcheck:Cond
+ fun:strlen
+ fun:_dl_new_object
+ fun:_dl_map_object_from_fd
+ fun:_dl_map_object
+}
+
+{
+ strlen-not-intercepted-early-enough-HACK-4
+ Memcheck:Cond
+ fun:strlen
+ fun:expand_dynamic_string_token
+ fun:_dl_map_object
+ fun:map_doit
+}
+
+## HACK to do with index not being intercepted early enough
+{
+ index-not-intercepted-early-enough-HACK-1
+ Memcheck:Cond
+ fun:index
+ fun:expand_dynamic_string_token
+ fun:_dl_map_object
+ fun:map_doit
+}
+
##----------------------------------------------------------------------=
##
=20
|
|
From: Paul M. <pa...@sa...> - 2005-05-03 06:09:04
|
I have released a PPC version of Valgrind-2.4.0 - it's on the www.valgrind.org site in the Downloads -> Variants section. My thanks to Craig Chaney and the other people who contributed bugfixes and improvements. Paul. |
|
From: Nicholas N. <nj...@cs...> - 2005-05-03 04:04:54
|
On Tue, 3 May 2005, Paul Mackerras wrote: >> This patch adds logic to inet2name() to handle string conversion on big >> endian platforms. > > How about we use ntohl() instead of an ifdef? Sounds good to me. N |
|
From: <js...@ac...> - 2005-05-03 03:02:11
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-05-03 03:50:00 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmx: valgrind ./insn_mmx insn_mmxext: (skipping, prereq failed: ../../../tests/cputest x86-mmxext) insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 201 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/pth_once (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/writev (stderr) corecheck/tests/fdleak_fcntl (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2005-05-03 02:36:05
|
Nightly build on dunsmere ( athlon, Fedora Core 3 ) started at 2005-05-03 03:30:03 BST 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 == 176 tests, 168 stderr failures, 5 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_fork (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/scalar_vfork (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/x86/fpeflags (stderr) memcheck/tests/x86/pushfpopf (stderr) memcheck/tests/x86/tronical (stderr) memcheck/tests/zeropage (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) corecheck/tests/as_mmap (stderr) corecheck/tests/as_shm (stderr) corecheck/tests/erringfds (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) corecheck/tests/pth_atfork1 (stderr) corecheck/tests/pth_cancel1 (stderr) corecheck/tests/pth_cancel2 (stderr) corecheck/tests/pth_cvsimple (stderr) corecheck/tests/pth_empty (stderr) corecheck/tests/pth_exit (stderr) corecheck/tests/pth_exit2 (stderr) corecheck/tests/pth_mutexspeed (stderr) corecheck/tests/pth_once (stderr) corecheck/tests/pth_rwlock (stderr) corecheck/tests/res_search (stderr) corecheck/tests/sigkill (stderr) corecheck/tests/vgprintf (stderr) massif/tests/toobig-allocs (stderr) massif/tests/true_html (stderr) massif/tests/true_text (stderr) lackey/tests/true (stderr) none/tests/args (stderr) none/tests/async-sigs (stderr) none/tests/bitfield1 (stderr) none/tests/blockfault (stderr) none/tests/closeall (stderr) none/tests/cmdline2 (stdout) none/tests/coolo_sigaction (stderr) none/tests/coolo_strlen (stderr) none/tests/discard (stderr) none/tests/exec-sigmask (stderr) none/tests/execve (stderr) none/tests/faultstatus (stderr) none/tests/fcntl_setown (stderr) none/tests/floored (stderr) none/tests/fork (stderr) none/tests/fucomip (stderr) none/tests/gxx304 (stderr) none/tests/manythreads (stderr) none/tests/map_unaligned (stderr) none/tests/map_unmap (stderr) none/tests/mq (stderr) none/tests/mremap (stderr) none/tests/munmap_exe (stderr) none/tests/pending (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_stackalign (stderr) none/tests/rcrl (stderr) none/tests/readline1 (stderr) none/tests/resolv (stderr) none/tests/rlimit_nofile (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/sem (stderr) none/tests/semlimit (stderr) none/tests/sha1_test (stderr) none/tests/shortpush (stderr) none/tests/shorts (stderr) none/tests/sigstackgrowth (stderr) none/tests/smc1 (stderr) none/tests/stackgrowth (stderr) none/tests/syscall-restart1 (stderr) none/tests/syscall-restart2 (stderr) none/tests/system (stderr) none/tests/thread-exits (stderr) none/tests/threaded-fork (stderr) none/tests/tls (stderr) none/tests/x86/badseg (stderr) none/tests/x86/bt_everything (stderr) none/tests/x86/bt_literal (stderr) none/tests/x86/cpuid (stderr) none/tests/x86/fpu_lazy_eflags (stderr) none/tests/x86/getseg (stderr) none/tests/x86/insn_basic (stderr) none/tests/x86/insn_cmov (stderr) none/tests/x86/insn_fpu (stderr) none/tests/x86/insn_mmx (stderr) none/tests/x86/insn_mmxext (stderr) none/tests/x86/insn_sse (stderr) none/tests/x86/int (stderr) none/tests/x86/pushpopseg (stderr) none/tests/x86/seg_override (stderr) none/tests/x86/sigcontext (stdout) none/tests/x86/sigcontext (stderr) none/tests/yield (stderr) |
|
From: Tom H. <th...@cy...> - 2005-05-03 02:30:38
|
Nightly build on audi ( i686, Red Hat 9 ) started at 2005-05-03 03:25:02 BST 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 == 175 tests, 7 stderr failures, 3 stdout failures ================= memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_supp (stderr) none/tests/cmdline2 (stdout) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/sigcontext (stdout) none/tests/x86/sigcontext (stderr) |
|
From: Tom H. <to...@co...> - 2005-05-03 02:26:47
|
Nightly build on dunsmere ( Fedora Core 3 ) started at 2005-05-03 03:20:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int sh: line 1: 28235 Segmentation fault VALGRINDLIB=/tmp/valgrind.2465/valgrind/.in_place /tmp/valgrind.2465/valgrind/./coregrind/valgrind --command-line-only=yes --memcheck:leak-check=no --addrcheck:leak-check=no --tool=none ./int >int.stdout.out 2>int.stderr.out pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 207 tests, 4 stderr failures, 0 stdout failures ================= memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_supp (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-05-03 02:22:30
|
Nightly build on audi ( Red Hat 9 ) started at 2005-05-03 03:15:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow fpu_lazy_eflags: valgrind ./fpu_lazy_eflags insn_basic: valgrind ./insn_basic insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 206 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/scalar (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-05-03 02:21:00
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-05-03 03:15:02 BST 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 == 174 tests, 17 stderr failures, 4 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (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/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/cmdline2 (stdout) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/sigcontext (stdout) none/tests/x86/sigcontext (stderr) none/tests/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-05-03 02:11:55
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2005-05-03 03:05:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow == 205 tests, 17 stderr failures, 0 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/distinguished-writes (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/pointer-trace (stderr) memcheck/tests/pth_once (stderr) memcheck/tests/scalar (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/vgtest_ume (stderr) addrcheck/tests/leak-0 (stderr) addrcheck/tests/leak-cycle (stderr) addrcheck/tests/leak-regroot (stderr) addrcheck/tests/leak-tree (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-05-03 02:04:53
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-05-03 03:00:03 BST 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 == 156 tests, 148 stderr failures, 5 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stderr) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/overlap (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_fork (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/scalar_vfork (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/threadederrno (stderr) memcheck/tests/toobig-allocs (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/dlclose (stderr) corecheck/tests/as_mmap (stderr) corecheck/tests/as_shm (stderr) corecheck/tests/erringfds (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) corecheck/tests/pth_atfork1 (stderr) corecheck/tests/pth_cancel1 (stderr) corecheck/tests/pth_cancel2 (stderr) corecheck/tests/pth_cvsimple (stderr) corecheck/tests/pth_empty (stderr) corecheck/tests/pth_exit (stderr) corecheck/tests/pth_exit2 (stderr) corecheck/tests/pth_mutexspeed (stderr) corecheck/tests/pth_once (stderr) corecheck/tests/pth_rwlock (stderr) corecheck/tests/res_search (stderr) corecheck/tests/sigkill (stderr) corecheck/tests/vgprintf (stderr) massif/tests/toobig-allocs (stderr) massif/tests/true_html (stderr) massif/tests/true_text (stderr) lackey/tests/true (stderr) none/tests/args (stderr) none/tests/async-sigs (stderr) none/tests/bitfield1 (stderr) none/tests/blockfault (stderr) none/tests/closeall (stderr) none/tests/cmdline2 (stdout) none/tests/coolo_sigaction (stderr) none/tests/coolo_strlen (stderr) none/tests/discard (stderr) none/tests/exec-sigmask (stderr) none/tests/execve (stderr) none/tests/faultstatus (stderr) none/tests/fcntl_setown (stderr) none/tests/floored (stderr) none/tests/fork (stderr) none/tests/fucomip (stderr) none/tests/gxx304 (stderr) none/tests/manythreads (stderr) none/tests/map_unaligned (stderr) none/tests/map_unmap (stderr) none/tests/mq (stderr) none/tests/mremap (stderr) none/tests/munmap_exe (stderr) none/tests/pending (stderr) none/tests/pth_blockedsig (stderr) none/tests/pth_stackalign (stderr) none/tests/rcrl (stderr) none/tests/readline1 (stderr) none/tests/resolv (stderr) none/tests/rlimit_nofile (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/sem (stderr) none/tests/semlimit (stderr) none/tests/sha1_test (stderr) none/tests/shortpush (stderr) none/tests/shorts (stderr) none/tests/sigstackgrowth (stderr) none/tests/smc1 (stderr) none/tests/stackgrowth (stderr) none/tests/syscall-restart1 (stderr) none/tests/syscall-restart2 (stderr) none/tests/system (stderr) none/tests/thread-exits (stderr) none/tests/threaded-fork (stderr) none/tests/tls (stderr) none/tests/yield (stderr) |