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
|
2
(13) |
3
(29) |
|
4
(18) |
5
(12) |
6
(12) |
7
(22) |
8
(9) |
9
(14) |
10
(6) |
|
11
|
12
|
13
(1) |
14
(5) |
15
(11) |
16
(7) |
17
(5) |
|
18
(1) |
19
(8) |
20
(7) |
21
(12) |
22
(5) |
23
(17) |
24
(6) |
|
25
(27) |
26
(17) |
27
(2) |
28
(10) |
29
(3) |
30
(8) |
31
(20) |
|
From: Robert W. <rj...@ke...> - 2004-01-04 23:16:00
|
CVS commit by rjwalsh: Add missing atoll16 prototype. I use this in the watchpoint stuff. M +3 -0 vg_skin.h.base 1.7 --- valgrind/include/vg_skin.h.base #1.6:1.7 @@ -405,4 +405,7 @@ extern Long VG_(atoll) ( Char* str ); +/* Like atoll(), but converts a number of base 16 */ +extern Long VG_(atoll16) ( Char* str ); + /* Like atoll(), but converts a number of base 2..36 */ extern Long VG_(atoll36) ( UInt base, Char* str ); |
|
From: Jeremy F. <je...@go...> - 2004-01-04 23:10:41
|
CVS commit by fitzhardinge:
Fix do_exec's permission checking.
M +19 -10 ume.c 1.6
--- valgrind/coregrind/ume.c #1.5:1.6
@@ -647,16 +647,25 @@ static int do_exec_inner(const char *exe
}
- if (uid == st.st_uid && !(st.st_mode & S_IXUSR))
- return EACCES;
-
- if (gid == st.st_gid && !(st.st_mode & S_IXGRP))
+ if (uid == st.st_uid) {
+ if (!(st.st_mode & S_IXUSR))
return EACCES;
+ } else {
+ int grpmatch = 0;
+ if (gid == st.st_gid)
+ grpmatch = 1;
+ else
for(i = 0; i < ngrp; i++)
- if (groups[i] == st.st_gid && !(st.st_mode & S_IXGRP))
- return EACCES;
+ if (groups[i] == st.st_gid) {
+ grpmatch = 1;
+ break;
+ }
- if (!(st.st_mode & S_IXOTH))
+ if (grpmatch) {
+ if (!(st.st_mode & S_IXGRP))
return EACCES;
+ } else if (!(st.st_mode & S_IXOTH))
+ return EACCES;
+ }
}
|
|
From: Julian S. <js...@ac...> - 2004-01-04 23:08:40
|
CVS commit by jseward:
In the fast sanity check for these tools which use shadow memory,
remove the test that the first page of memory is inaccessible. This
is now getting in the way.
Fixes #69886.
M +2 -15 addrcheck/ac_main.c 1.58
M +2 -16 helgrind/hg_main.c 1.71
M +2 -15 memcheck/mc_main.c 1.45
--- valgrind/addrcheck/ac_main.c #1.57:1.58
@@ -1143,21 +1143,8 @@ static void ac_detect_memory_leaks ( voi
------------------------------------------------------------------ */
-/* Check that nobody has spuriously claimed that the first or last 16
- pages (64 KB) of address space have become accessible. Failure of
- the following do not per se indicate an internal consistency
- problem, but they are so likely to that we really want to know
- about it if so. */
-
Bool SK_(cheap_sanity_check) ( void )
{
- if (IS_DISTINGUISHED_SM(primary_map[0])
- /* kludge: kernel drops a page up at top of address range for
- magic "optimized syscalls", so we can no longer check the
- highest page */
- /* && IS_DISTINGUISHED_SM(primary_map[65535]) */
- )
+ /* nothing useful we can rapidly check */
return True;
- else
- return False;
}
--- valgrind/helgrind/hg_main.c #1.70:1.71
@@ -2001,21 +2001,8 @@ void* SK_(realloc) ( void* p, Int new_si
/*--------------------------------------------------------------*/
-/* Check that nobody has spuriously claimed that the first or last 16
- pages (64 KB) of address space have become accessible. Failure of
- the following do not per se indicate an internal consistency
- problem, but they are so likely to that we really want to know
- about it if so. */
-
Bool SK_(cheap_sanity_check) ( void )
{
- if (VGE_IS_DISTINGUISHED_SM(primary_map[0])
- /* kludge: kernel drops a page up at top of address range for
- magic "optimized syscalls", so we can no longer check the
- highest page */
- /* && VGE_IS_DISTINGUISHED_SM(primary_map[65535]) */
- )
+ /* nothing useful we can rapidly check */
return True;
- else
- return False;
}
--- valgrind/memcheck/mc_main.c #1.44:1.45
@@ -1469,21 +1469,8 @@ void MC_(detect_memory_leaks) ( void )
------------------------------------------------------------------ */
-/* Check that nobody has spuriously claimed that the first or last 16
- pages (64 KB) of address space have become accessible. Failure of
- the following do not per se indicate an internal consistency
- problem, but they are so likely to that we really want to know
- about it if so. */
-
Bool SK_(cheap_sanity_check) ( void )
{
- if (IS_DISTINGUISHED_SM(primary_map[0])
- /* kludge: kernel drops a page up at top of address range for
- magic "optimized syscalls", so we can no longer check the
- highest page */
- /* && IS_DISTINGUISHED_SM(primary_map[65535]) */
- )
+ /* nothing useful we can rapidly check */
return True;
- else
- return False;
}
|
|
From: Julian S. <js...@ac...> - 2004-01-04 22:50:45
|
CVS commit by jseward:
Handle 'B' (volatile) and 'k' (const) qualifiers in stabs. (Tom
Hughes / Manish Singh). Fixes #71791.
M +7 -0 vg_stabs.c 1.4
--- valgrind/coregrind/vg_stabs.c #1.3:1.4
@@ -651,4 +651,11 @@ static SymType *stabtype_parser(SegInfo
}
+ case 'k': /* const */
+ case 'B': { /* volatile */
+ /* 'k' TYPE */
+ type = stabtype_parser(si, NULL, &p);
+ break;
+ }
+
case 'x': { /* reference to undefined type */
/* 'x' ('s' | 'u' | 'e') NAME ':' */
|
|
From: Jeremy F. <je...@go...> - 2004-01-04 22:05:37
|
On Sun, 2004-01-04 at 02:42, Doug Rabson wrote: > Thats right. My FreeBSD system started valgrind with a stack that wasn't > aligned to 16 bytes and this confused fix_auxv enough to corrupt the > auxv entries given to stage2. Hm, I wonder if that code is ever needed... > The main problem (I think) is that the default data size limit for > FreeBSD is only 0.5G. We do overcommit by default but moving the brk > this way generates valid mappings (lazy allocated zero-filled mappings > but still valid) for the entire ~3G address space and this is greater > than the limit. Yep. Then they all get unmapped again immediately afterwards. Would it help to make a loop which increases brk by a bit, unmaps the pages, etc until brk is at the right place? > Overriding brk, sbrk (and even malloc itself) is perfectly safe in > FreeBSD and it should override all ways that the syscall can be called > apart from a pathological use of syscall(3). I made sure that stage2 was > able to call malloc safely with these changes although there was a > problem with non-trivial use of malloc because stage2's copy of libc.so > ended up being loaded very close to the end of stage2 which didn't leave > much spare to expand the 'brk'. Hm, yes, the kernel gets to place it, so I guess it could do that. Can we convince it to place it below stage2 (which is what happens on Linux)? > I think that RLIMIT_DATA in FreeBSD governs the virtual size of the > brk-managed region. The libc implementation will not fall back to mmap > if sbrk (or brk) fails. OK. And I presume brk/sbrk are not allowed to grow the brk segment beyond the next mapping up. > > I think the best thing to do is use this as a basis for factoring all > > the OS-specific code into OS-specific files. > > Right - I think that process has already been started. Hm. After looking at the patch in a bit more detail, the changes are smaller than I would have guessed. I'm pleased to see that almost all of vg_syscalls.c is common. I definitely don't want to duplicate common stuff, nor do I want to have lots of ifdefs, so the division will need to be more fine-grained than I first thought. I didn't really look at the differences between vg_libpthread.c and vg_libpthread_freebsd.c, but they seemed pretty similar. Why the split? Other things: does FreeBSD have the same sysinfo page mechanism as Linux now? And which version of FreeBSD should I download and install to try your stuff out? Would it be the New Technology release 5.1? 5.2? J |
|
From: Nicholas N. <nj...@ca...> - 2004-01-04 16:58:36
|
CVS commit by nethercote:
Folded cg_sim_{gen,I1,D1,L2}.c into cg_sim.c, which makes a lot more sense and
is shorter.
A cg_sim.c 1.1 [GPL (v2+)]
M +1 -5 Makefile.am 1.42
M +1 -3 cg_main.c 1.60
--- valgrind/cachegrind/Makefile.am #1.41:1.42
@@ -11,9 +11,5 @@
bin_SCRIPTS = cg_annotate
-EXTRA_DIST = \
- cg_sim_I1.c \
- cg_sim_D1.c \
- cg_sim_L2.c \
- cg_sim_gen.c
+EXTRA_DIST = cg_sim.c
val_PROGRAMS = vgskin_cachegrind.so
--- valgrind/cachegrind/cg_main.c #1.59:1.60
@@ -41,7 +41,5 @@ typedef struct {
} cache_t;
-#include "cg_sim_L2.c"
-#include "cg_sim_I1.c"
-#include "cg_sim_D1.c"
+#include "cg_sim.c"
/*------------------------------------------------------------*/
|
|
From: Nicholas N. <nj...@ca...> - 2004-01-04 16:44:02
|
CVS commit by nethercote:
Updated copyright dates for 2004. Also added a couple of missing headers and
footers to some new files.
M +2 -2 addrcheck/ac_main.c 1.57
M +1 -1 auxprogs/valgrind-listener.c 1.12
M +2 -2 cachegrind/cg_annotate.in 1.19
M +2 -2 cachegrind/cg_main.c 1.59
M +1 -1 cachegrind/cg_sim_D1.c 1.9
M +1 -1 cachegrind/cg_sim_I1.c 1.9
M +1 -1 cachegrind/cg_sim_L2.c 1.9
M +1 -1 cachegrind/cg_sim_gen.c 1.12
M +2 -2 corecheck/cc_main.c 1.19
M +1 -1 corecheck/docs/cc_main.html 1.4
M +8 -0 coregrind/stage1.c 1.4
M +9 -0 coregrind/stage2.c 1.5
M +8 -0 coregrind/ume.c 1.5
M +1 -1 coregrind/vg_constants.h 1.15
M +1 -1 coregrind/vg_default.c 1.20
M +1 -1 coregrind/vg_demangle.c 1.7
M +1 -1 coregrind/vg_dispatch.S 1.15
M +1 -1 coregrind/vg_dummy_profile.c 1.9
M +1 -1 coregrind/vg_dwarf.c 1.3
M +1 -1 coregrind/vg_errcontext.c 1.48
M +1 -1 coregrind/vg_execontext.c 1.14
M +1 -1 coregrind/vg_from_ucode.c 1.71
M +1 -1 coregrind/vg_hashtable.c 1.8
M +1 -1 coregrind/vg_helpers.S 1.28
M +1 -1 coregrind/vg_include.h 1.166
M +1 -1 coregrind/vg_instrument.c 1.10
M +1 -1 coregrind/vg_intercept.c 1.28
M +1 -1 coregrind/vg_ldt.c 1.11
M +1 -1 coregrind/vg_libpthread.c 1.143
M +1 -1 coregrind/vg_libpthread_unimp.c 1.43
M +3 -3 coregrind/vg_main.c 1.135
M +1 -1 coregrind/vg_malloc2.c 1.17
M +1 -1 coregrind/vg_memory.c 1.50
M +1 -1 coregrind/vg_messages.c 1.9
M +1 -1 coregrind/vg_mylibc.c 1.64
M +1 -1 coregrind/vg_needs.c 1.14
M +1 -1 coregrind/vg_procselfmaps.c 1.11
M +1 -1 coregrind/vg_proxylwp.c 1.11
M +1 -1 coregrind/vg_replace_malloc.c 1.17
M +1 -1 coregrind/vg_scheduler.c 1.135
M +1 -1 coregrind/vg_signals.c 1.55
M +1 -1 coregrind/vg_stabs.c 1.3
M +1 -1 coregrind/vg_startup.S 1.21
M +1 -1 coregrind/vg_symtab2.c 1.72
M +1 -1 coregrind/vg_symtab2.h 1.5
M +1 -1 coregrind/vg_symtypes.c 1.3
M +1 -1 coregrind/vg_symtypes.h 1.3
M +1 -1 coregrind/vg_syscall.S 1.11
M +1 -1 coregrind/vg_syscalls.c 1.74
M +2 -2 coregrind/vg_to_ucode.c 1.119
M +1 -1 coregrind/vg_translate.c 1.66
M +1 -1 coregrind/vg_transtab.c 1.27
M +1 -1 coregrind/vg_unsafe.h 1.23
M +1 -1 coregrind/arch/x86-freebsd/vg_libpthread.c 1.2
M +1 -1 coregrind/arch/x86-freebsd/vg_syscall.S 1.2
M +1 -1 coregrind/arch/x86-linux/vg_libpthread.c 1.143
M +1 -1 coregrind/arch/x86-linux/vg_libpthread_unimp.c 1.43
M +1 -1 coregrind/arch/x86-linux/vg_syscall.S 1.11
M +1 -1 example/ex_main.c 1.16
M +1 -1 helgrind/helgrind.h 1.7
M +2 -2 helgrind/hg_main.c 1.70
M +1 -1 include/valgrind.h 1.24
M +1 -1 include/vg_constants_skin.h 1.7
M +1 -1 include/vg_kerneliface.h 1.11
M +1 -1 include/vg_profile.c 1.10
M +2 -2 include/vg_skin.h.base 1.6
M +2 -2 lackey/lk_main.c 1.23
M +1 -1 lackey/docs/lk_main.html 1.4
M +1 -1 memcheck/mac_leakcheck.c 1.13
M +1 -1 memcheck/mac_malloc_wrappers.c 1.9
M +1 -1 memcheck/mac_needs.c 1.21
M +1 -1 memcheck/mac_replace_strmem.c 1.12
M +1 -1 memcheck/mac_shared.h 1.16
M +1 -1 memcheck/mc_clientreqs.c 1.18
M +1 -1 memcheck/mc_constants.h 1.4
M +1 -1 memcheck/mc_errcontext.c 1.22
M +1 -1 memcheck/mc_from_ucode.c 1.15
M +1 -1 memcheck/mc_helpers.S 1.8
M +1 -1 memcheck/mc_include.h 1.18
M +2 -2 memcheck/mc_main.c 1.44
M +2 -2 memcheck/mc_translate.c 1.33
M +1 -1 memcheck/memcheck.h 1.17
M +1 -1 memcheck/docs/mc_techdocs.html 1.9
M +2 -2 none/nl_main.c 1.18
M +1 -1 none/docs/nl_main.html 1.4
--- valgrind/addrcheck/ac_main.c #1.56:1.57
@@ -10,5 +10,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
@@ -1276,5 +1276,5 @@ void SK_(pre_clo_init)(void)
VG_(details_description) ("a fine-grained address checker");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
VG_(details_avg_translation_sizeB) ( 135 );
--- valgrind/auxprogs/valgrind-listener.c #1.11:1.12
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/cachegrind/cg_annotate.in #1.18:1.19
@@ -10,5 +10,5 @@
# profiling programs.
#
-# Copyright (C) 2002-2003 Nicholas Nethercote
+# Copyright (C) 2002-2004 Nicholas Nethercote
# nj...@ca...
#
@@ -159,5 +159,5 @@
source files
- Cachegrind is Copyright (C) 2002-2003 Nicholas Nethercote.
+ Cachegrind is Copyright (C) 2002-2004 Nicholas Nethercote.
Both are licensed under the GNU General Public License, version 2.
Bug reports, feedback, admiration, abuse, etc, to: njn25\@cam.ac.uk.
--- valgrind/cachegrind/cg_main.c #1.58:1.59
@@ -10,5 +10,5 @@
profiling programs.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
@@ -2022,5 +2022,5 @@ void SK_(pre_clo_init)(void)
VG_(details_description) ("an I1/D1/L2 cache profiler");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Nicholas Nethercote.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Nicholas Nethercote.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
VG_(details_avg_translation_sizeB) ( 155 );
--- valgrind/cachegrind/cg_sim_D1.c #1.8:1.9
@@ -9,5 +9,5 @@
profiling programs.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/cachegrind/cg_sim_I1.c #1.8:1.9
@@ -9,5 +9,5 @@
profiling programs.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/cachegrind/cg_sim_L2.c #1.8:1.9
@@ -9,5 +9,5 @@
profiling programs.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/cachegrind/cg_sim_gen.c #1.11:1.12
@@ -9,5 +9,5 @@
profiling programs.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/corecheck/cc_main.c #1.18:1.19
@@ -9,5 +9,5 @@
detecting certain basic program errors.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
@@ -38,5 +38,5 @@ void SK_(pre_clo_init)(void)
VG_(details_description) ("a rudimentary error detector");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Nicholas Nethercote.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Nicholas Nethercote.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
--- valgrind/corecheck/docs/cc_main.html #1.3:1.4
@@ -32,5 +32,5 @@
<center>
<a href="mailto:nj...@ca...">nj...@ca...</a><br>
-Copyright © 2000-2003 Nicholas Nethercote
+Copyright © 2000-2004 Nicholas Nethercote
<p>
CoreCheck is licensed under the GNU General Public License,
--- valgrind/coregrind/stage1.c #1.3:1.4
@@ -1,3 +1,7 @@
+/*--------------------------------------------------------------------*/
+/*--- Startup: stage 1 stage1.c ---*/
+/*--------------------------------------------------------------------*/
+
/*
This file is part of Valgrind, an extensible x86 protected-mode
@@ -206,2 +210,6 @@ int main(int argc, char **argv)
ume_go((addr_t)hoops, (addr_t)stack + sizeof(stack));
}
+
+/*--------------------------------------------------------------------*/
+/*--- end stage1.c ---*/
+/*--------------------------------------------------------------------*/
--- valgrind/coregrind/stage2.c #1.4:1.5
@@ -1,3 +1,7 @@
+/*--------------------------------------------------------------------*/
+/*--- Startup: stage 2 stage1.c ---*/
+/*--------------------------------------------------------------------*/
+
/*
This file is part of Valgrind, an extensible x86 protected-mode
@@ -1001,2 +1005,7 @@ int main(int argc, char **argv)
abort();
}
+
+/*--------------------------------------------------------------------*/
+/*--- end stage2.c ---*/
+/*--------------------------------------------------------------------*/
+
--- valgrind/coregrind/ume.c #1.4:1.5
@@ -1,3 +1,7 @@
+/*--------------------------------------------------------------------*/
+/*--- User-mode execve() ume.c ---*/
+/*--------------------------------------------------------------------*/
+
/*
This file is part of Valgrind, an extensible x86 protected-mode
@@ -685,2 +689,6 @@ int do_exec(const char *exe, struct exei
return do_exec_inner(exe, info);
}
+
+/*--------------------------------------------------------------------*/
+/*--- end ume.c ---*/
+/*--------------------------------------------------------------------*/
--- valgrind/coregrind/vg_constants.h #1.14:1.15
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_default.c #1.19:1.20
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Nicholas Nethercote
+ Copyright (C) 2000-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/coregrind/vg_demangle.c #1.6:1.7
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_dispatch.S #1.14:1.15
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_dummy_profile.c #1.8:1.9
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_dwarf.c #1.2:1.3
@@ -7,5 +7,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_errcontext.c #1.47:1.48
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_execontext.c #1.13:1.14
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_from_ucode.c #1.70:1.71
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_hashtable.c #1.7:1.8
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_helpers.S #1.27:1.28
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_include.h #1.165:1.166
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_instrument.c #1.9:1.10
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Nicholas Nethercote
+ Copyright (C) 2000-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/coregrind/vg_intercept.c #1.27:1.28
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_ldt.c #1.10:1.11
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_libpthread.c #1.142:1.143
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_libpthread_unimp.c #1.42:1.43
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_main.c #1.134:1.135
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
@@ -721,5 +721,5 @@ void VG_(usage) ( void )
" Extra options are read from env variable $VALGRIND_OPTS\n"
"\n"
-" Valgrind is Copyright (C) 2000-2003 Julian Seward\n"
+" Valgrind is Copyright (C) 2000-2004 Julian Seward\n"
" and licensed under the GNU General Public License, version 2.\n"
" Bug reports, feedback, admiration, abuse, etc, to: %s.\n"
@@ -1146,5 +1146,5 @@ static void process_cmd_line_options ( c
VERSION);
VG_(message)(Vg_UserMsg,
- "Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward.");
+ "Copyright (C) 2000-2004, and GNU GPL'd, by Julian Seward.");
}
--- valgrind/coregrind/vg_malloc2.c #1.16:1.17
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_memory.c #1.49:1.50
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_messages.c #1.8:1.9
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_mylibc.c #1.63:1.64
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_needs.c #1.13:1.14
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Nicholas Nethercote
+ Copyright (C) 2000-2004 Nicholas Nethercote
nj...@ca...
--- valgrind/coregrind/vg_procselfmaps.c #1.10:1.11
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_proxylwp.c #1.10:1.11
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_replace_malloc.c #1.16:1.17
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_scheduler.c #1.134:1.135
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_signals.c #1.54:1.55
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_stabs.c #1.2:1.3
@@ -7,5 +7,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_startup.S #1.20:1.21
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_symtab2.c #1.71:1.72
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_symtab2.h #1.4:1.5
@@ -7,5 +7,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_symtypes.c #1.2:1.3
@@ -7,5 +7,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_symtypes.h #1.2:1.3
@@ -7,5 +7,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_syscall.S #1.10:1.11
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_syscalls.c #1.73:1.74
@@ -8,5 +8,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_to_ucode.c #1.118:1.119
@@ -1,3 +1,3 @@
-/* -*- c-basic-offset: 3 -*- */
+
/*--------------------------------------------------------------------*/
/*--- The JITter: translate x86 code to ucode. ---*/
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_translate.c #1.65:1.66
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_transtab.c #1.26:1.27
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/vg_unsafe.h #1.22:1.23
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/arch/x86-freebsd/vg_libpthread.c #1.1:1.2
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/arch/x86-freebsd/vg_syscall.S #1.1:1.2
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/arch/x86-linux/vg_libpthread.c #1.142:1.143
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/arch/x86-linux/vg_libpthread_unimp.c #1.42:1.43
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/coregrind/arch/x86-linux/vg_syscall.S #1.10:1.11
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/example/ex_main.c #1.15:1.16
@@ -37,5 +37,5 @@ static void SK_(pre_clo_init)()
VG_(details_description) ("an example Valgrind tool");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and put in the public domain, by Santa Claus.");
+ "Copyright (C) 2002-2004, and put in the public domain, by Santa Claus.");
VG_(details_bug_reports_to) ("san...@no...");
--- valgrind/helgrind/helgrind.h #1.6:1.7
@@ -12,5 +12,5 @@
data races in threaded programs.
- Copyright (C) 2002-2003 Nicholas Nethercote. All rights reserved.
+ Copyright (C) 2002-2004 Nicholas Nethercote. All rights reserved.
Redistribution and use in source and binary forms, with or without
--- valgrind/helgrind/hg_main.c #1.69:1.70
@@ -9,5 +9,5 @@
data races in threaded programs.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
@@ -3236,5 +3236,5 @@ void SK_(pre_clo_init)(void)
VG_(details_description) ("a data race detector");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Nicholas Nethercote.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Nicholas Nethercote.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
VG_(details_avg_translation_sizeB) ( 115 );
--- valgrind/include/valgrind.h #1.23:1.24
@@ -13,5 +13,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward. All rights reserved.
+ Copyright (C) 2000-2004 Julian Seward. All rights reserved.
Redistribution and use in source and binary forms, with or without
--- valgrind/include/vg_constants_skin.h #1.6:1.7
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/include/vg_kerneliface.h #1.10:1.11
@@ -10,5 +10,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/include/vg_profile.c #1.9:1.10
@@ -11,5 +11,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/include/vg_skin.h.base #1.5:1.6
@@ -1,3 +1,3 @@
-/* -*- c -*- */
+
/*--------------------------------------------------------------------*/
/*--- The only header your skin will ever need to #include... ---*/
@@ -9,5 +9,5 @@
emulator for monitoring program execution on x86-Unixes.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/lackey/lk_main.c #1.22:1.23
@@ -9,5 +9,5 @@
some simple program measurement.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
@@ -79,5 +79,5 @@ void SK_(pre_clo_init)(void)
VG_(details_description) ("an example Valgrind tool");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Nicholas Nethercote.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Nicholas Nethercote.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
VG_(details_avg_translation_sizeB) ( 175 );
--- valgrind/lackey/docs/lk_main.html #1.3:1.4
@@ -32,5 +32,5 @@
<center>
<a href="mailto:nj...@ca...">nj...@ca...</a><br>
-Copyright © 2000-2003 Nicholas Nethercote
+Copyright © 2002-2004 Nicholas Nethercote
<p>
Lackey is licensed under the GNU General Public License,
--- valgrind/memcheck/mac_leakcheck.c #1.12:1.13
@@ -10,5 +10,5 @@
for detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mac_malloc_wrappers.c #1.8:1.9
@@ -10,5 +10,5 @@
for detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mac_needs.c #1.20:1.21
@@ -10,5 +10,5 @@
for detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mac_replace_strmem.c #1.11:1.12
@@ -10,5 +10,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mac_shared.h #1.15:1.16
@@ -10,5 +10,5 @@
for detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_clientreqs.c #1.17:1.18
@@ -10,5 +10,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_constants.h #1.3:1.4
@@ -8,5 +8,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_errcontext.c #1.21:1.22
@@ -9,5 +9,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_from_ucode.c #1.14:1.15
@@ -9,5 +9,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_helpers.S #1.7:1.8
@@ -9,5 +9,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_include.h #1.17:1.18
@@ -9,5 +9,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/mc_main.c #1.43:1.44
@@ -10,5 +10,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
@@ -1656,5 +1656,5 @@ void SK_(pre_clo_init)(void)
VG_(details_description) ("a memory error detector");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Julian Seward.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
VG_(details_avg_translation_sizeB) ( 228 );
--- valgrind/memcheck/mc_translate.c #1.32:1.33
@@ -1,3 +1,3 @@
-/* -*- c-basic-offset: 3 -*- */
+
/*--------------------------------------------------------------------*/
/*--- Instrument UCode to perform memory checking operations. ---*/
@@ -9,5 +9,5 @@
detecting memory errors.
- Copyright (C) 2000-2003 Julian Seward
+ Copyright (C) 2000-2004 Julian Seward
js...@ac...
--- valgrind/memcheck/memcheck.h #1.16:1.17
@@ -13,5 +13,5 @@
detecting memory errors.
- Copyright (C) 2002-2003 Julian Seward. All rights reserved.
+ Copyright (C) 2000-2004 Julian Seward. All rights reserved.
Redistribution and use in source and binary forms, with or without
--- valgrind/memcheck/docs/mc_techdocs.html #1.8:1.9
@@ -35,5 +35,5 @@
<a href="mailto:js...@ac...">js...@ac...</a><br>
<a href="http://valgrind.kde.org">http://valgrind.kde.org</a><br>
-Copyright © 2000-2003 Julian Seward
+Copyright © 2000-2004 Julian Seward
<p>
Valgrind is licensed under the GNU General Public License,
--- valgrind/none/nl_main.c #1.17:1.18
@@ -8,5 +8,5 @@
which does nothing.
- Copyright (C) 2002-2003 Nicholas Nethercote
+ Copyright (C) 2002-2004 Nicholas Nethercote
nj...@ca...
@@ -52,5 +52,5 @@ static void pre_clo_init(void)
VG_(details_description) ("a binary JIT-compiler");
VG_(details_copyright_author)(
- "Copyright (C) 2002-2003, and GNU GPL'd, by Nicholas Nethercote.");
+ "Copyright (C) 2002-2004, and GNU GPL'd, by Nicholas Nethercote.");
VG_(details_bug_reports_to) (VG_BUGS_TO);
--- valgrind/none/docs/nl_main.html #1.3:1.4
@@ -32,5 +32,5 @@
<center>
<a href="mailto:nj...@ca...">nj...@ca...</a><br>
-Copyright © 2000-2003 Nicholas Nethercote
+Copyright © 2000-2004 Nicholas Nethercote
<p>
Nulgrind is licensed under the GNU General Public License,
|
|
From: Nicholas N. <nj...@ca...> - 2004-01-04 13:14:21
|
CVS commit by nethercote:
Adding "use strict" and "use warnings", for safety. Required some extra
variable declarations.
M +6 -0 gen_toolint.pl 1.3
--- valgrind/coregrind/gen_toolint.pl #1.2:1.3
@@ -24,4 +24,6 @@
# The GNU General Public License is contained in the file COPYING.
+use strict;
+use warnings;
my $output = shift @ARGV;
@@ -30,4 +32,7 @@
my $include;
my $passcomment = 1;
+my $pre;
+my $post;
+my $generate;
my $struct = "VG_(tool_interface)";
@@ -211,4 +216,5 @@
my $buf;
my $lines;
+my $prefix;
while(<STDIN>) {
|
|
From: Doug R. <df...@nl...> - 2004-01-04 10:43:10
|
On Sat, 2004-01-03 at 22:30, Jeremy Fitzhardinge wrote: > On Fri, 2004-01-02 at 03:56, Doug Rabson wrote: > > I've updated the port to work with the post FV valgrind. You can get a > > patch against today's CVS from > > http://people.freebsd.org/~dfr/valgrind-20040102-dfr.diff. > > That's great! I'll have a look at your latest patch in detail later > today. > > > The only really dodgy bits in this patch are in stage1.c where I had to > > stub out the stack alignment bits. The code couldn't code when the > ^^^^ cope? yes :-) > > alignment offset wasn't exactly zero because it assumed that the new aux > > entries would fit exactly into the gap. > > Do you mean the stuff in fix_auxv? Thats right. My FreeBSD system started valgrind with a stack that wasn't aligned to 16 bytes and this confused fix_auxv enough to corrupt the auxv entries given to stage2. > > > I also had problems moving the > > brk() up past the end of stage2 so I punted on that and just overrode > > brk() and sbrk() instead. > > Is that because FreeBSD doesn't overcommit by default? The reason for > trying to get the brk base into the right place for stage2 is so that > stage2 can use libraries which want to use brk (eg, libc malloc). If > you override brk in stage2, will that definitely override all possible > ways the brk() syscall can be called? Because it could get pretty > disastrous if brk(2) accidentally got called. Also, in FreeBSD, is sbrk > a syscall or just a library function? The main problem (I think) is that the default data size limit for FreeBSD is only 0.5G. We do overcommit by default but moving the brk this way generates valid mappings (lazy allocated zero-filled mappings but still valid) for the entire ~3G address space and this is greater than the limit. Overriding brk, sbrk (and even malloc itself) is perfectly safe in FreeBSD and it should override all ways that the syscall can be called apart from a pathological use of syscall(3). I made sure that stage2 was able to call malloc safely with these changes although there was a problem with non-trivial use of malloc because stage2's copy of libc.so ended up being loaded very close to the end of stage2 which didn't leave much spare to expand the 'brk'. The implementation of brk and sbrk in FreeBSD is a hybrid of library and syscall. The current and minimum break values are handled in user code and new break locations are given to the kernel via the syscall. Its very simple and easy to understand if you read the code (src/lib/libc/i386/sys/brk.S and src/lib/libc/i386/sys/sbrk.S in any FreeBSD source tree). > > Also, what does FreeBSD's RLIMIT_DATA govern? In Linux it is > effectively useless, because it only governs the brk syscall (and a.out > executable BSS size). This is useless because glibc will always fall > back to using mmap() if brk fails, so if brk fails because of > RLIMIT_DATA, it will still keep allocating memory. I was thinking of > taking advantage of this by setting RLIMIT_DATA to 0 so that I can be > sure that brk(2) will always fail and not cause problems. I think that RLIMIT_DATA in FreeBSD governs the virtual size of the brk-managed region. The libc implementation will not fall back to mmap if sbrk (or brk) fails. > > > I had problems with vg_signals.c for the async signal handlers. > > Currently FreeBSD has a bug (which will be fixed RSN) with sigaltstack > > that means that all threads share the same stack setting. This meant > > that async signals (intended for the proxylwp) were being delivered on > > the signal stack instead of the proxylwp stack. I just changed the code > > to not set SA_ONSTACK for those signals. > > That sounds OK. > > > Attaching GDB doesn't work very well with this port since we have no > > equivalent of /proc/self/fd. I guess the code could be changed to > > remember the exec filename and pass that instead of /proc/self/fd/$d. > > Yes, I was planning something like that anyway, cause all the /proc > stuff is pretty non-portable. That said, the GDB attach stuff is broken > anyway, because it's pretty hard to get right (it's very hard for a > program to attach gdb to itself, and set its own state up into something > which gdb wants to examine). In particular, the state of %ebp gets > trashed as part of the exec of gdb, so gdb doesn't see a sane backtrace > at the moment. > > > This also affected the implementation of VG_(resolve_filename) which I > > worked around by using the file descriptor tracking code to lookup the > > filename. > > For just the cases where the fd was obviously created out of a name? Thats right. I also made it unconditional for dup-like calls where the original file descriptor might have had a name. > > > I haven't tested this patch with a Linux box - my RH9 machine is several > > miles away and switched off for the holidays. I've tried to keep things > > decently conditional but there are almost certainly one or two nits. > > I think the best thing to do is use this as a basis for factoring all > the OS-specific code into OS-specific files. Right - I think that process has already been started. |
|
From: Nicholas N. <nj...@ca...> - 2004-01-04 10:43:05
|
On Sun, 4 Jan 2004, Nick wrote: > > Unfortunately, it falls over sometimes. The reason is, I maintain a stack > > of activation records, and if the function returned from doesn't match > > that on the top, it dies. Actually, I do some fiddling with %esp which > > catches many uses of longjmp, but not all. > > What would you call "sometimes", as a short test case? IIRC, it gets most programs right, but falls over on some big ones like OpenOffice. N |
|
From: Eyal L. <ey...@ey...> - 2004-01-04 04:40:43
|
Attached is a small program that demonstrates the problem. HTH. eyal@e7:~$ sh vg1.sh gcc version: 2.95.4 /home/eyal/zz.c(60) will pthread_attr_init /home/eyal/zz.c(63) pthread_attr_init=0 /home/eyal/zz.c(66) will pthread_create /home/eyal/zz.c(70) pthread_create=0 /home/eyal/zz.c(73) will pthread_attr_destroy /home/eyal/zz.c(76) pthread_attr_destroy=0 /home/eyal/zz.c(79) will pthread_join /home/eyal/zz.c(21) thread alive! zz.log /home/eyal/zz.c(34) wait() failed /home/eyal/zz.c(39) child returned 0 /home/eyal/zz.c(82) pthread_join=0 eyal@e7:~$ vi vg1.sh ***** set --trace-children=yes ***** eyal@e7:~$ sh vg1.sh gcc version: 2.95.4 /home/eyal/zz.c(60) will pthread_attr_init /home/eyal/zz.c(63) pthread_attr_init=0 /home/eyal/zz.c(66) will pthread_create /home/eyal/zz.c(70) pthread_create=0 /home/eyal/zz.c(73) will pthread_attr_destroy /home/eyal/zz.c(76) pthread_attr_destroy=0 /home/eyal/zz.c(79) will pthread_join /home/eyal/zz.c(21) thread alive! /home/eyal/zz.c(34) wait() failed /home/eyal/zz.c(44) child did not exit normally /home/eyal/zz.c(47) child received signal 11 /home/eyal/zz.c(82) pthread_join=0 eyal@e7:~$ -- Eyal Lebedinsky (ey...@ey...) <http://samba.org/eyal/> |
|
From: Julian S. <js...@ac...> - 2004-01-04 03:46:49
|
CVS commit by jseward:
Add copyright notices to new files.
M +24 -0 coregrind/gen_toolint.pl 1.2
M +26 -0 coregrind/stage1.c 1.3
M +26 -0 coregrind/stage2.c 1.4
M +26 -0 coregrind/ume.c 1.4
M +26 -0 coregrind/ume.h 1.2
M +26 -0 coregrind/ume_arch.h 1.2
M +26 -0 coregrind/vg_skiplist.c 1.2
M +26 -0 coregrind/vg_unistd.h 1.2
M +26 -0 coregrind/x86/ume_archdefs.c 1.2
M +26 -0 coregrind/x86/ume_archdefs.h 1.2
M +26 -0 coregrind/x86/ume_entry.S 1.2
M +26 -0 coregrind/x86/ume_go.c 1.2
M +25 -0 example/ex_main.c 1.15
--- valgrind/coregrind/gen_toolint.pl #1.1:1.2
@@ -1,4 +1,28 @@
#!/usr/bin/perl
+# This file is part of Valgrind, an extensible x86 protected-mode
+# emulator for monitoring program execution on x86-Unixes.
+#
+# Copyright (C) 2000-2004 Julian Seward
+# js...@ac...
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307, USA.
+#
+# The GNU General Public License is contained in the file COPYING.
+
+
my $output = shift @ARGV;
my $indent = "";
--- valgrind/coregrind/stage1.c #1.2:1.3
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#define _FILE_OFFSET_BITS 64
--- valgrind/coregrind/stage2.c #1.3:1.4
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#define _FILE_OFFSET_BITS 64
--- valgrind/coregrind/ume.c #1.3:1.4
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
/*
User-mode exec
--- valgrind/coregrind/ume.h #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#ifndef _COREGRIND_UME_H
#define _COREGRIND_UME_H
--- valgrind/coregrind/ume_arch.h #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#ifndef UME_ARCH
#define UME_ARCH
--- valgrind/coregrind/vg_skiplist.c #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2002-2004 Nicholas Nethercote
+ nj...@ca...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#include "vg_include.h"
--- valgrind/coregrind/vg_unistd.h #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#ifndef _VG_ASM_I386_UNISTD_H_
#define _VG_ASM_I386_UNISTD_H_
--- valgrind/coregrind/x86/ume_archdefs.c #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#include "ume_archdefs.h"
--- valgrind/coregrind/x86/ume_archdefs.h #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#ifndef UME_ARCHDEFS_H
#define UME_ARCHDEFS_H
--- valgrind/coregrind/x86/ume_entry.S #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
.text
.globl _ume_entry
--- valgrind/coregrind/x86/ume_go.c #1.1:1.2
@@ -1,2 +1,28 @@
+
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2000-2004 Julian Seward
+ js...@ac...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#include "ume_arch.h"
--- valgrind/example/ex_main.c #1.14:1.15
@@ -4,4 +4,29 @@
/*--------------------------------------------------------------------*/
+/*
+ This file is part of Valgrind, an extensible x86 protected-mode
+ emulator for monitoring program execution on x86-Unixes.
+
+ Copyright (C) 2002-2004 Nicholas Nethercote
+ nj...@ca...
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+*/
+
#include "vg_skin.h"
|
|
From: Eyal L. <ey...@ey...> - 2004-01-04 01:57:27
|
Jeremy Fitzhardinge wrote: > Um. It would be nice if you could give us a lot more detail - like the > actual error message it generated, and other debugging stuff it probably > printed. And what do you mean by "spawn"? There's no library function > or syscall called that. Do you mean system? execve? OK, I now have these logs. First a good run of a program 'ssaexec' which simply spawn a child with the same arguments as itself. In real life it is used as a wrapper for redirecting stdout/err and such. ================================ $ valgrind --tool=memcheck --leak-check=yes --show-reachable=no --num-callers=32 \ > --error-limit=no --run-libc-freeres=no --trace-syscalls=yes --trace-children=no --logfile-fd=9 \ > ../bin/ssaexec -- ls *.dbg 9>ssaexec.err.no ids.dbg $ valgrind --tool=memcheck --leak-check=yes --show-reachable=no --num-callers=32 \ > --error-limit=no --run-libc-freeres=no --trace-syscalls=yes --trace-children=yes --logfile-fd=9 \ > ../bin/ssaexec -- ls *.dbg 9>ssaexec.err.yes ssaexec> Spawned program 'ls' failed -9 ssaexec> ErrorLog [104122857 1] ssaexec > It is now 20040104122857 ssaexec> ErrorLog [104122857 1] ssaexec.c 152 rc 2 9*10 ssaexec> ErrorLog [104122857 1] spawn.c 453 rc 9 ssaexec> ErrorLog [104122857 1] pgm_parms[1] ids.dbg ssaexec> ErrorLog [104122857 1] pgm_parms[0] ls ssaexec> ErrorLog [104122857 1] log_parms: pgm_name='ls' ssaexec> ErrorLog [104122857 1] child received signal 11 ssaexec> ErrorLog [104122857 1] child 'ls' did not exit normally $ ================================ The test should simply execute 'ls *.dbg'. And the piece of code that does the actual spawn is executings the usual pid = fork () if (pid == 0) execve () wait (&status) if (WIFEXITED (status))... execve() failed to start the child when --trace-children=yes is used. I should make it clear that the underlying process is a bit more complex than it should be (for this simple case). The events are: - main() starts - a thread is launched and main() waits (join) for it - the thread is where the real meat is, and it does the spawning If this looks too complex for people in the know to track then I can spend more time and synthesize a small program that reproduces the problem. But I hope the attached traces will ring someones bell. -- Eyal Lebedinsky (ey...@ey...) <http://samba.org/eyal/> |
|
From: Nick <ni...@sa...> - 2004-01-04 00:31:53
|
Thanks a million - this is a great help. Even if it's not entirely robust, I can start investigating how we need to modify the rest of our application to accept data from valgrind now. > > Unfortunately, it falls over sometimes. The reason is, I maintain a stack > of activation records, and if the function returned from doesn't match > that on the top, it dies. Actually, I do some fiddling with %esp which > catches many uses of longjmp, but not all. What would you call "sometimes", as a short test case? > > Generally, this function entry/exit tracking is a total pain, much harder > than you'd expect. Anyway, it might be useful for you. > Definitly useful. I still have hopes of understanding calltree's method, but I'm a lot wiser to the magnitude of the problem now. Nick |
|
From: Josef W. <Jos...@gm...> - 2004-01-04 00:20:32
|
Am Samstag, 3. Januar 2004 18:54 schrieb Nicholas Nethercote: > I've attached a tool (skin) I wrote, called Sparrow, that does exactly > ... Hi, for easy installation of sparrow, and to encourage you all to release future tools as separate packages, I attached sparrow.tgz, which adds a configure.in and a Makefile.am to get everything needed for a separate tool package. sp_main.c is left unmodified. Use ./autogen.sh before for the automake run. A "./configure" and "make dist" would produce the package. Josef PS: For robust call tracing, a helper at start of every basic block seems needed for PLT and code pieces without debug info... |
|
From: Tom H. <th...@cy...> - 2004-01-03 23:52:25
|
In message <3FF...@ey...>
Eyal Lebedinsky <ey...@ey...> wrote:
> Eyal Lebedinsky wrote:
> > I also need the --time-stamp patch which I mentioned on
> > the list a few times in the past, but it somehow was
> > never accepted (what do I have to get it in?). I really
> > need it for analysing reports in a client/server environment.
> > I am attaching this patch against cvs.
>
> Patch now really attached...
This feature was also requested in bug 70587 and I've just posted a
patch there to add it. It's a bit different from yours because it is
desigmed for the CVS head so can use libc's localtime instead of
having to reimplement it.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Jeremy F. <je...@go...> - 2004-01-03 22:40:16
|
On Sat, 2004-01-03 at 06:15, Eyal Lebedinsky wrote: > There is a problem with spawn. 2.0.0 is OK but later it went south > (2.1.0 and current). I set --trace-children=no for now (this works OK). > > Basically, I get a "child got sig 11" type message. I am moving up > to current cvs. > > > I also notice that the old way where my servers (which launch many > threads) were running with 98% idle CPU now run with 0% idle, but > the whole run seems to take at lease the same amount of time. This > suggests busy waiting. I will check the new timing options and > see which gives better performance. > > I am running on an AMD Athlon 1200 (pre-XP). Any suggestions for > which values to try? Um. It would be nice if you could give us a lot more detail - like the actual error message it generated, and other debugging stuff it probably printed. And what do you mean by "spawn"? There's no library function or syscall called that. Do you mean system? execve? Also, what does your server actually do? If you expect threads to be blocking in syscalls, which syscalls are they blocking in? The old pre-2.1 code had a tendency to wait up to a 100ms before doing anything, so if your code is syscall-heavy, it might have been using 2% CPU because the rest of the time Valgrind was just sleeping and doing nothing useful. If you run without Valgrind, what CPU usage do you get? If you're using 2.6 kernel, then there aren't really any tuneables which matter. It really depends on what your program is doing - if you have some CPU-bound threads and some IO-bound threads, then --lowlat-syscalls=yes might help, but I'd be surprised. J |
|
From: Jeremy F. <je...@go...> - 2004-01-03 22:30:49
|
On Fri, 2004-01-02 at 03:56, Doug Rabson wrote: > I've updated the port to work with the post FV valgrind. You can get a > patch against today's CVS from > http://people.freebsd.org/~dfr/valgrind-20040102-dfr.diff. That's great! I'll have a look at your latest patch in detail later today. > The only really dodgy bits in this patch are in stage1.c where I had to > stub out the stack alignment bits. The code couldn't code when the ^^^^ cope? > alignment offset wasn't exactly zero because it assumed that the new aux > entries would fit exactly into the gap. Do you mean the stuff in fix_auxv? > I also had problems moving the > brk() up past the end of stage2 so I punted on that and just overrode > brk() and sbrk() instead. Is that because FreeBSD doesn't overcommit by default? The reason for trying to get the brk base into the right place for stage2 is so that stage2 can use libraries which want to use brk (eg, libc malloc). If you override brk in stage2, will that definitely override all possible ways the brk() syscall can be called? Because it could get pretty disastrous if brk(2) accidentally got called. Also, in FreeBSD, is sbrk a syscall or just a library function? Also, what does FreeBSD's RLIMIT_DATA govern? In Linux it is effectively useless, because it only governs the brk syscall (and a.out executable BSS size). This is useless because glibc will always fall back to using mmap() if brk fails, so if brk fails because of RLIMIT_DATA, it will still keep allocating memory. I was thinking of taking advantage of this by setting RLIMIT_DATA to 0 so that I can be sure that brk(2) will always fail and not cause problems. > I had problems with vg_signals.c for the async signal handlers. > Currently FreeBSD has a bug (which will be fixed RSN) with sigaltstack > that means that all threads share the same stack setting. This meant > that async signals (intended for the proxylwp) were being delivered on > the signal stack instead of the proxylwp stack. I just changed the code > to not set SA_ONSTACK for those signals. That sounds OK. > Attaching GDB doesn't work very well with this port since we have no > equivalent of /proc/self/fd. I guess the code could be changed to > remember the exec filename and pass that instead of /proc/self/fd/$d. Yes, I was planning something like that anyway, cause all the /proc stuff is pretty non-portable. That said, the GDB attach stuff is broken anyway, because it's pretty hard to get right (it's very hard for a program to attach gdb to itself, and set its own state up into something which gdb wants to examine). In particular, the state of %ebp gets trashed as part of the exec of gdb, so gdb doesn't see a sane backtrace at the moment. > This also affected the implementation of VG_(resolve_filename) which I > worked around by using the file descriptor tracking code to lookup the > filename. For just the cases where the fd was obviously created out of a name? > I haven't tested this patch with a Linux box - my RH9 machine is several > miles away and switched off for the holidays. I've tried to keep things > decently conditional but there are almost certainly one or two nits. I think the best thing to do is use this as a basis for factoring all the OS-specific code into OS-specific files. J |
|
From: Robert W. <rj...@du...> - 2004-01-03 18:50:25
|
> Oops - that came from me. I didn't realise it was a BSD-sed thing.
I removed it, but the tests were still failing. I had to make this diff
to get the tests running on linux again:
7c7
< sed -E "s/(=3D=3D|--|\+\+|\*\*)[0-9]{1,5}(=3D=3D|--|\+\+|\*\*) //" =
|
---
> sed "s/\(=3D=3D\|--\|\+\+\|\*\*\)[0-9]\{1,5\}\(=3D=3D\|--\|\+\+\|\*\*\) /=
/" |
Regards,
Robert.
--=20
Robert Walsh
Amalgamated Durables, Inc. - "We don't make the things you buy."
Email: rj...@du...
|
|
From: Doug R. <df...@nl...> - 2004-01-03 18:49:03
|
On Sat, 2004-01-03 at 18:06, Nicholas Nethercote wrote: > On Sat, 3 Jan 2004, Doug Rabson wrote: > > > > Well done! A few people have tried this, but it sounds like you've got a > > > lot further than anyone else. Would you be able to write some kind of > > > summary describing the changes you had to make? That would be very useful > > > for people to get a grip on what you've done. > > > > I summarised most of the changes in a later message and you can get a > > patch against today's cvs at > > http://people.freebsd.org/~dfr/valgrind-20040103-dfr.diff. > > Er, which message? I only see a couple of brief descriptions... I was > thinking more along the lines of a page or two of summary -- more work for > you, I realise, but much easier for everyone else to understand than a > 130KB diff... Its earlier in this very thread. I'll just quote the relavent part: The only really dodgy bits in this patch are in stage1.c where I had to stub out the stack alignment bits. The code couldn't code when the alignment offset wasn't exactly zero because it assumed that the new aux entries would fit exactly into the gap. I also had problems moving the brk() up past the end of stage2 so I punted on that and just overrode brk() and sbrk() instead. I had problems with vg_signals.c for the async signal handlers. Currently FreeBSD has a bug (which will be fixed RSN) with sigaltstack that means that all threads share the same stack setting. This meant that async signals (intended for the proxylwp) were being delivered on the signal stack instead of the proxylwp stack. I just changed the code to not set SA_ONSTACK for those signals. Attaching GDB doesn't work very well with this port since we have no equivalent of /proc/self/fd. I guess the code could be changed to remember the exec filename and pass that instead of /proc/self/fd/$d. This also affected the implementation of VG_(resolve_filename) which I worked around by using the file descriptor tracking code to lookup the filename. > > > The most fiddly part was getting syscalls to work. FreeBSD (and probably > > all 4.4BSD derived systems) has a quite different syscall ABI with > > arguments on the stack and error-returns signalled with the carry flag. > > Add to that the fact that some (not all) syscalls return an extra 32bits > > in %edx and things get a bit tricky in vg_syscalls.c. > > That's exactly the sort of thing I'd like to see in a summary (I don't > think you mentioned this previously)... what are the details of "things > get a bit tricky"? Well the part which executes the system call has to be changed to account for the extra return values (eax, edx and eflags instead of just eax). It also needs to be able to preserve the value of edx for those syscalls which don't change its value. All the bits of code through the system which assume the linux-style error return value of -errno need to be tweaked to account for the BSD-style error return which has errno in eax and eflags.C set. Most of that can be hidden by a macro so: res = -VKI_EINVAL; changes to #define seterror(e) do {tst->m_eax = e; tst->m_eflags |= EFlagC;} while(0) ... seterror(VKI_EINVAL); |
|
From: Doug R. <df...@nl...> - 2004-01-03 18:42:47
|
Oops - that came from me. I didn't realise it was a BSD-sed thing. On Sat, 2004-01-03 at 18:38, Robert Walsh wrote: > The sed script in filter_stderr_basic had a -E creep in there some time > recently. Any idea what that is? It's not supported by gnu sed on my > Fedora Core 1 box, that's for sure, so all the tests are failing. > > Regards, > Robert. |
|
From: Robert W. <rj...@du...> - 2004-01-03 18:38:58
|
The sed script in filter_stderr_basic had a -E creep in there some time recently. Any idea what that is? It's not supported by gnu sed on my Fedora Core 1 box, that's for sure, so all the tests are failing. Regards, Robert. --=20 Robert Walsh Amalgamated Durables, Inc. - "We don't make the things you buy." Email: rj...@du... |
|
From: Nicholas N. <nj...@ca...> - 2004-01-03 18:06:08
|
On Sat, 3 Jan 2004, Doug Rabson wrote: > > Well done! A few people have tried this, but it sounds like you've got a > > lot further than anyone else. Would you be able to write some kind of > > summary describing the changes you had to make? That would be very useful > > for people to get a grip on what you've done. > > I summarised most of the changes in a later message and you can get a > patch against today's cvs at > http://people.freebsd.org/~dfr/valgrind-20040103-dfr.diff. Er, which message? I only see a couple of brief descriptions... I was thinking more along the lines of a page or two of summary -- more work for you, I realise, but much easier for everyone else to understand than a 130KB diff... > The most fiddly part was getting syscalls to work. FreeBSD (and probably > all 4.4BSD derived systems) has a quite different syscall ABI with > arguments on the stack and error-returns signalled with the carry flag. > Add to that the fact that some (not all) syscalls return an extra 32bits > in %edx and things get a bit tricky in vg_syscalls.c. That's exactly the sort of thing I'd like to see in a summary (I don't think you mentioned this previously)... what are the details of "things get a bit tricky"? N |
|
From: Nicholas N. <nj...@ca...> - 2004-01-03 17:54:34
|
On Tue, 23 Dec 2003, Nicholas Seow wrote:
> I've been trying to get a valgrind skin i'm tinkering with to get a
> program to report whenever it calls or returns from a function. However,
> I'm getting some really wierd data.
I've attached a tool (skin) I wrote, called Sparrow, that does exactly
this. Here's some example output:
call _init
call __init_misc
call strrchr
exit strrchr
exit __init_misc
call __libc_global_ctors
call _IO_check_libio
exit _IO_check_libio
exit __libc_global_ctors
exit _init
Unfortunately, it falls over sometimes. The reason is, I maintain a stack
of activation records, and if the function returned from doesn't match
that on the top, it dies. Actually, I do some fiddling with %esp which
catches many uses of longjmp, but not all.
Generally, this function entry/exit tracking is a total pain, much harder
than you'd expect. Anyway, it might be useful for you.
N |
|
From: Dirk M. <mu...@kd...> - 2004-01-03 15:33:41
|
CVS commit by mueller: typo M +1 -1 Makefile.am 1.2 --- valgrind/coregrind/arch/Makefile.am #1.1:1.2 @@ -1,2 +1,2 @@ -SUBDIR=$(VG_PLATFORM) +SUBDIRS=$(VG_PLATFORM) |