You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(11) |
|
2
(5) |
3
(11) |
4
(13) |
5
(1) |
6
(15) |
7
(1) |
8
(1) |
|
9
(2) |
10
(4) |
11
(15) |
12
(2) |
13
(12) |
14
(2) |
15
(3) |
|
16
(1) |
17
(16) |
18
(1) |
19
(32) |
20
(19) |
21
(3) |
22
|
|
23
|
24
(4) |
25
|
26
(1) |
27
(19) |
28
(4) |
29
(2) |
|
30
(3) |
|
|
|
|
|
|
|
From: Julian S. <js...@ac...> - 2003-11-03 19:15:38
|
CVS commit by jseward:
Implement __NR_clock_gettime (265). Needed on Red Hat Severn.
MERGE TO HEAD
M +12 -0 vg_syscalls.c 1.40.2.6
--- valgrind/coregrind/vg_syscalls.c #1.40.2.5:1.40.2.6
@@ -486,4 +486,16 @@ void VG_(perform_assumed_nonblocking_sys
/* !!!!!!!!!! New, untested syscalls !!!!!!!!!!!!!!!!!!!!! */
+# if defined(__NR_clock_gettime)
+ case __NR_clock_gettime: /* syscall 265 */
+ /* int clock_gettime(clockid_t clk_id, struct timespec *tp); */
+ MAYBE_PRINTF( "clock_gettime( %d, %p )\n" ,arg1,arg2);
+ SYSCALL_TRACK( pre_mem_write, tid, "clock_gettime(tp)",
+ arg2, sizeof(struct timespec) );
+ KERNEL_DO_SYSCALL(tid,res);
+ if (!VG_(is_kerror)(res) && res > 0)
+ VG_TRACK( post_mem_write, arg2, sizeof(struct timespec) );
+ break;
+# endif
+
# if defined(__NR_ptrace)
case __NR_ptrace: { /* syscall 26 */
|
|
From: Julian S. <js...@ac...> - 2003-11-03 14:58:50
|
CVS commit by jseward:
Merge in .cfi support from head:
configure.in 1.96 (partial) and 1.98
coregrind/vg_startup.S 1.17 and 1.18
M +17 -0 configure.in 1.93.2.3
M +17 -0 coregrind/vg_startup.S 1.16.2.1
--- valgrind/configure.in #1.93.2.2:1.93.2.3
@@ -282,4 +282,21 @@
+# check if the GNU as supports CFI directives
+AC_MSG_CHECKING([if gas accepts .cfi])
+AC_TRY_LINK(, [
+
+__asm__ __volatile__ (".cfi_startproc\n"
+ ".cfi_adjust_cfa_offset 0x0\n"
+ ".cfi_endproc\n");
+],
+[
+ AC_DEFINE_UNQUOTED([HAVE_GAS_CFI], 1, [Define if your GNU as supports .cfi])
+ AC_MSG_RESULT(yes)
+],
+ AC_MSG_RESULT(no)
+)
+
+
+
AC_MSG_CHECKING([if this is an NPTL-based system])
safe_LIBS="$LIBS"
--- valgrind/coregrind/vg_startup.S #1.16:1.16.2.1
@@ -31,4 +31,5 @@
#include "vg_constants.h"
+#include "../config.h"
@@ -229,6 +230,10 @@
.text
+.type VG_(swizzle_esp_then_start_GDB),@function
.global VG_(swizzle_esp_then_start_GDB)
VG_(swizzle_esp_then_start_GDB):
+#ifdef HAVE_GAS_CFI
+ .cfi_startproc
+#endif
pushal
@@ -257,6 +262,12 @@
# push %EBP. This is a faked %ebp-chain pointer.
pushl %eax
+#ifdef HAVE_GAS_CFI
+ .cfi_adjust_cfa_offset 0x4
+#endif
movl %esp, %ebp
+#ifdef HAVE_GAS_CFI
+ .cfi_def_cfa_register ebp
+#endif
call VG_(start_GDB_whilst_on_client_stack)
@@ -265,7 +276,13 @@
movl vg_ebp_saved_over_GDB_start, %ebp
movl vg_esp_saved_over_GDB_start, %esp
+#ifdef HAVE_GAS_CFI
+ .cfi_adjust_cfa_offset -0x4
+#endif
popal
ret
+#ifdef HAVE_GAS_CFI
+ .cfi_endproc
+#endif
# gcc puts this construction at the end of every function. I think it
|
|
From: Julian S. <js...@ac...> - 2003-11-03 14:45:58
|
CVS commit by jseward:
Merge rev 1.107:
Move var declarations to start of block, for older versions of gcc.
M +2 -2 vg_to_ucode.c 1.87.2.10
--- valgrind/coregrind/vg_to_ucode.c #1.87.2.9:1.87.2.10
@@ -3580,6 +3580,6 @@ static
void dis_push_segreg ( UCodeBlock* cb, UInt sreg, Int sz )
{
- vg_assert(sz == 4);
Int t1 = newTemp(cb), t2 = newTemp(cb);
+ vg_assert(sz == 4);
uInstr2(cb, GETSEG, 2, ArchRegS, sreg, TempReg, t1);
uInstr2(cb, GET, 4, ArchReg, R_ESP, TempReg, t2);
@@ -3595,6 +3595,6 @@ static
void dis_pop_segreg ( UCodeBlock* cb, UInt sreg, Int sz )
{
- vg_assert(sz == 4);
Int t1 = newTemp(cb), t2 = newTemp(cb);
+ vg_assert(sz == 4);
uInstr2(cb, GET, 4, ArchReg, R_ESP, TempReg, t2);
uInstr2(cb, LOAD, 2, TempReg, t2, TempReg, t1);
|
|
From: Julian S. <js...@ac...> - 2003-11-03 14:45:01
|
CVS commit by jseward:
Merge revs
mac_replace_strmem.c 1.5
tests/overlap.c 1.3
Fixed bug in overlap check in strncpy() -- it was assuming the src was 'n'
bytes longs, when it could be shorter, which could cause false positives.
Added an example of this to the regtest.
M +6 -4 mac_replace_strmem.c 1.3.2.1
M +9 -0 tests/overlap.c 1.2.2.1
--- valgrind/memcheck/mac_replace_strmem.c #1.3:1.3.2.1
@@ -187,11 +187,13 @@ char* strcpy ( char* dst, const char* sr
char* strncpy ( char* dst, const char* src, int n )
{
+ const Char* src_orig = src;
Char* dst_orig = dst;
Int m = 0;
- if (is_overlap(dst, src, n, n))
- complain3("strncpy", dst, src, n);
-
while (m < n && *src) { m++; *dst++ = *src++; }
+ /* Check for overlap after copying; all n bytes of dst are relevant,
+ but only m+1 bytes of src if terminator was found */
+ if (is_overlap(dst_orig, src_orig, n, (m < n) ? m+1 : n))
+ complain3("strncpy", dst, src, n);
while (m++ < n) *dst++ = 0; /* must pad remainder with nulls */
--- valgrind/memcheck/tests/overlap.c #1.2:1.2.2.1
@@ -113,4 +113,13 @@ int main(void)
strncat(a, a+20, 21);
+ /* This is ok, but once gave a warning when strncpy() was wrong,
+ and used 'n' for the length, even when the src was shorter than 'n' */
+ {
+ char dest[64];
+ char src [16];
+ strcpy( src, "short" );
+ strncpy( dest, src, 20 );
+ }
+
return 0;
}
|
|
From: Julian S. <js...@ac...> - 2003-11-03 14:44:17
|
CVS commit by jseward:
Merge rev 1.106:
Implemented PUSH/POP %{FS,GS}, and PUSH %CS (Nb: there is no POP %CS). Based
on patches from Adam Gundy and Tom Hughes.
M +51 -44 vg_to_ucode.c 1.87.2.9
|
|
From: Julian S. <js...@ac...> - 2003-11-03 14:43:36
|
CVS commit by jseward: Merge rev 1.17: Updated FAQ #8, to reflect the fact that we now support a lot of SSE/SSE2 instructions. M +9 -13 FAQ.txt 1.7.2.4 --- valgrind/FAQ.txt #1.7.2.3:1.7.2.4 @@ -153,19 +153,15 @@ ----------------------------------------------------------------- -Q8. My program dies (exactly) like this: +Q8. My program dies, printing a message like this along the way: - REPE then 0xF - valgrind: the `impossible' happened: - Unhandled REPE case + disInstr: unhandled instruction bytes: 0x66 0xF 0x2E 0x5 -A8. Yeah ... that I believe is a SSE or SSE2 instruction. Are you - building your app with -march=pentium4 or -march=athlon or - something like that? If you can somehow dissuade gcc from - producing SSE/SSE2 instructions, you may be able to avoid this. - Some folks have reported that removing the flag -march=... - works around this. - - I'd be interested to hear if you can get rid of it by changing - your application build flags. +A8. Valgrind doesn't support the full x86 instruction set, although it + now supports many SSE and SSE2 instructions. If you know the + failing instruction is an SSE/SSE2 instruction, you might be able + to recompile your program without it by fiddling with the + -march=... flag(s) for gcc. In particular, get rid of + -march=pentium4 or -march=athlon if you can. Either way, let us + know and we'll try to fix it. ----------------------------------------------------------------- |
|
From: Julian S. <js...@ac...> - 2003-11-03 14:43:00
|
CVS commit by jseward:
Merge rev 1.52:
Add missing printf and pre_mem_read to rt_sigtimedwait(), thanks to Thomas
Lussnig <lu...@sm...>.
M +7 -2 vg_syscalls.c 1.40.2.5
--- valgrind/coregrind/vg_syscalls.c #1.40.2.4:1.40.2.5
@@ -1241,4 +1241,9 @@ void VG_(perform_assumed_nonblocking_sys
/* int sigtimedwait(const sigset_t *set, siginfo_t *info,
const struct timespec timeout); */
+ MAYBE_PRINTF("sigtimedwait ( %p, %p, timeout )\n", arg1, arg2);
+ if (arg1 != (UInt)NULL)
+ SYSCALL_TRACK( pre_mem_read, tid,
+ "sigtimedwait(set)", arg1,
+ sizeof(vki_ksigset_t));
if (arg2 != (UInt)NULL)
SYSCALL_TRACK( pre_mem_write, tid, "sigtimedwait(info)", arg2,
|
|
From: John L. <le...@mo...> - 2003-11-03 14:26:23
|
On Mon, Nov 03, 2003 at 11:14:58AM +0000, Nicholas Nethercote wrote: > I don't understand gcc's C99 support; it lets me do some things (such as > declarations not at the start of a block) without any command line args, > but other things, eg. "for (int i = 0; ...)" requires -std=c99. Why is > this? -std=xx means "accept code meeting that standard". "-pedantic[-errors]" is what changes whether non-standard code is accepted or not. > And is there a command-line option I can give to prevent me from > accidentally using non-block-starting declarations? -Wdeclaration-after-statement (in gcc 3.4) regards john -- Khendon's Law: If the same point is made twice by the same person, the thread is over. |
|
From: Nicholas N. <nj...@ca...> - 2003-11-03 12:10:06
|
CVS commit by nethercote:
Move var declarations to start of block, for older versions of gcc.
MERGE TO STABLE
M +2 -2 vg_to_ucode.c 1.107
--- valgrind/coregrind/vg_to_ucode.c #1.106:1.107
@@ -3597,6 +3597,6 @@ static
void dis_push_segreg ( UCodeBlock* cb, UInt sreg, Int sz )
{
- vg_assert(sz == 4);
Int t1 = newTemp(cb), t2 = newTemp(cb);
+ vg_assert(sz == 4);
uInstr2(cb, GETSEG, 2, ArchRegS, sreg, TempReg, t1);
uInstr2(cb, GET, 4, ArchReg, R_ESP, TempReg, t2);
@@ -3612,6 +3612,6 @@ static
void dis_pop_segreg ( UCodeBlock* cb, UInt sreg, Int sz )
{
- vg_assert(sz == 4);
Int t1 = newTemp(cb), t2 = newTemp(cb);
+ vg_assert(sz == 4);
uInstr2(cb, GET, 4, ArchReg, R_ESP, TempReg, t2);
uInstr2(cb, LOAD, 2, TempReg, t2, TempReg, t1);
|
|
From: Nicholas N. <nj...@ca...> - 2003-11-03 11:14:59
|
On Mon, 3 Nov 2003, Tom Hughes wrote: > A change made yesterday introduced a variable declaration that isn't > at the start of a block which stops the code compiling on older > versions of gcc that don't have C99 support. The attached patch > fixes this. Committed, thanks. I don't understand gcc's C99 support; it lets me do some things (such as declarations not at the start of a block) without any command line args, but other things, eg. "for (int i = 0; ...)" requires -std=c99. Why is this? And is there a command-line option I can give to prevent me from accidentally using non-block-starting declarations? Thanks. N |
|
From: Tom H. <th...@cy...> - 2003-11-03 09:53:30
|
A change made yesterday introduced a variable declaration that isn't at the start of a block which stops the code compiling on older versions of gcc that don't have C99 support. The attached patch fixes this. Tom -- Tom Hughes (th...@cy...) Software Engineer, Cyberscience Corporation http://www.cyberscience.com/ |