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
(13) |
3
(7) |
|
4
(9) |
5
(23) |
6
(19) |
7
(18) |
8
(2) |
9
(7) |
10
(21) |
|
11
(13) |
12
|
13
(8) |
14
(17) |
15
(19) |
16
(25) |
17
(43) |
|
18
(22) |
19
(12) |
20
(19) |
21
(12) |
22
(9) |
23
(12) |
24
(5) |
|
25
(16) |
26
(25) |
27
(24) |
28
(19) |
29
(26) |
30
(25) |
31
(6) |
|
From: Tom H. <th...@cy...> - 2004-07-28 22:59:38
|
In message <1090865863.5743.16.camel@localhost>
Jeremy Fitzhardinge <je...@go...> wrote:
> There's a few syscalls in which POST should be called on error exit
> (nanosleep, for example, needs to return the amount of unslept time on
> interrupt). I've been thinking that we should change may_block in
> sys_info into a bitfield, and encode a little more in there - like
> whether the syscall wants POST called on failure.
>
> (Another reason for this would be to allow conditional may_block-ness.
> Change PRE() to return a boolean, and add a flag into sys_info saying
> use the result of PRE rather than a fixed value for blockness. We could
> just change all the PREs to return the appropriate thing, or just use
> the existing value in the table.)
What I've done is to turn may_block into a flags word. There are
currently two flags define - MayBlock and PostOnFail. The latter
indicates that the POST routine should be called on a failure.
I've also added sys_flags to the thread state. The flags word for
the active system call is copied into that before the PRE routine
is called, and all subsequent tests are done on that flags word
rather than the one in the static table.
This means that a PRE routine can alter sys_flags in the thread
state if necessary, either to change the blocking flag, or to
indicate that POST needs to be called on fail.
Tha flags had to be put in the thread state rather than just
returned from the PRE routine because we need to get at them
when the syscall has completed, which is in a separate routine
and may be some time later for a blocking call.
The patch is attached - it also fixes the nanosleep issue you
mentioned. Unless somebody spots a problem I'll commit this and
then use it to fix the shmat bug.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Jeremy F. <je...@go...> - 2004-07-28 21:03:51
|
On Wed, 2004-07-28 at 19:03 +0100, Nicholas Nethercote wrote: > Erk, and so it seems %ecx gets passed to sys_clone too. Any ideas why > they didn't use %esi for the 4th arg as usual, but used %edi instead? clone() (along with fork and vfork) has an unusual calling convention because it isn't passed args as such, but the complete register set. It then picks out the registers it wants; the child ends up with a copy of all the parent's registers. %esi is used for the TLS info, so %edi is really the "fifth" argument. Note that VG_(clone) is just something I wrote, and it doesn't necessarily conform to any other clone-like function API, and the order of its args are arbitrary. As an aside, this isn't really a different calling convention. All syscalls are passed a struct pt_regs argument, which is placed on the stack. If the function is prototyped to take separate args, it gets the first members of struct pt_regs: ebx, ecx, edx, esi... J |
|
From: Bob F. <bfr...@si...> - 2004-07-28 20:29:44
|
On Wed, 28 Jul 2004, Bob Friesenhahn wrote: > > It doesn't seem all that important to keep in sync with the HEAD version > (doing so is actually counter-productive) since the goal is to do the initial > port. However, it seems that your work has been uncovering problems which > should be addressed in the HEAD version. The reason why I say that keeping a development branch in sync with the HEAD version is counterproductive is that doing so makes the expected merge of the branch into HEAD much more difficult due to minor conflicts between the updates in both branches. However, if you can resist copying over fixes, doing the merge into the HEAD branch should take only a few minutes. Bob ====================================== Bob Friesenhahn bfr...@si... http://www.simplesystems.org/users/bfriesen |
|
From: Bob F. <bfr...@si...> - 2004-07-28 20:23:04
|
On Wed, 28 Jul 2004, Nicholas Nethercote wrote: > On Tue, 27 Jul 2004, Bob Friesenhahn wrote: > >> Why not just create a CVS development branch to support the x86-64 port? > > Hmm... > > pros: > - others can see it, try it easily > > cons: > - keeping in sync with HEAD (ie. merging HEAD commits) is a pain > - less flexibility, particularly with moving files around It doesn't seem all that important to keep in sync with the HEAD version (doing so is actually counter-productive) since the goal is to do the initial port. However, it seems that your work has been uncovering problems which should be addressed in the HEAD version. Bob ====================================== Bob Friesenhahn bfr...@si... http://www.simplesystems.org/users/bfriesen |
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 18:03:59
|
On Wed, 28 Jul 2004, Tom Hughes wrote: >> I understand it all except the two lines marked '???'. AIUI, the clone() >> system call (as opposed to the library function) only takes two args, >> 'flags' and 'childstack', so %edx and %edi won't be used by it. >> And those registers aren't used again later in the function. But if I >> remove those two lines, some of the reg tests fail so they're obviously >> doing something useful, possibly returning a value? Can someone explain >> what they are doing? > > The manual page is out of date - there are extra arguments now > which are used to store the parent and child TIDs depending on > what flags are set - see sys_clone in arch/i386/kernel/process.c > for code that extracts those pointers. Erk, and so it seems %ecx gets passed to sys_clone too. Any ideas why they didn't use %esi for the 4th arg as usual, but used %edi instead? N |
|
From: Tom H. <th...@cy...> - 2004-07-28 17:51:08
|
In message <Pin...@he...>
Nicholas Nethercote <nj...@ca...> wrote:
> I understand it all except the two lines marked '???'. AIUI, the clone()
> system call (as opposed to the library function) only takes two args,
> 'flags' and 'childstack', so %edx and %edi won't be used by it.
> And those registers aren't used again later in the function. But if I
> remove those two lines, some of the reg tests fail so they're obviously
> doing something useful, possibly returning a value? Can someone explain
> what they are doing?
The manual page is out of date - there are extra arguments now
which are used to store the parent and child TIDs depending on
what flags are set - see sys_clone in arch/i386/kernel/process.c
for code that extracts those pointers.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 17:34:36
|
Hi,
The x86 asm for VG_(clone) looks like this:
VG_(clone):
#define FSZ (4+4+4) /* frame size = retaddr+ebx+edi */
push %ebx
push %edi
/* set up child stack with function and arg */
movl 4+FSZ(%esp), %ecx /* child stack */
movl 12+FSZ(%esp), %ebx /* fn arg */
movl 0+FSZ(%esp), %eax /* fn */
lea -8(%ecx), %ecx /* make space on stack */
movl %ebx, 4(%ecx) /* fn arg */
movl %eax, 0(%ecx) /* fn */
/* get other args to clone */
movl 8+FSZ(%esp), %ebx /* flags */
movl 20+FSZ(%esp), %edx /* parent tid * */ ???
movl 16+FSZ(%esp), %edi /* child tid * */ ???
movl $__NR_clone, %eax
int $0x80
testl %eax, %eax
jnz 1f
/* CHILD - call thread function */
popl %eax
call *%eax
/* exit with result */
movl %eax, %ebx
movl $__NR_exit, %eax
int $0x80
/* Hm, exit returned */
ud2
1: /* PARENT or ERROR */
pop %edi
pop %ebx
ret
I understand it all except the two lines marked '???'. AIUI, the clone()
system call (as opposed to the library function) only takes two args,
'flags' and 'childstack', so %edx and %edi won't be used by it.
And those registers aren't used again later in the function. But if I
remove those two lines, some of the reg tests fail so they're obviously
doing something useful, possibly returning a value? Can someone explain
what they are doing?
Thanks.
N
|
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 16:03:47
|
CVS commit by nethercote:
Merge equivalent if statements.
M +0 -2 vg_mylibc.c 1.82
--- valgrind/coregrind/vg_mylibc.c #1.81:1.82
@@ -287,7 +287,5 @@ void* VG_(mmap)( void* start, UInt lengt
vg_assert(VG_(valgrind_base) <= res && res+length < VG_(valgrind_end));
}
- }
- if (!VG_(is_kerror)(res)) {
sf_flags |= SF_MMAP;
if ( flags & VKI_MAP_FIXED) sf_flags |= SF_FIXED;
|
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 11:07:27
|
On Tue, 27 Jul 2004, Jeremy Fitzhardinge wrote: > Oh, nasty. I'm pretty sure I'd checked that some actual skipping was > going on, but maybe not. > > Anyway, I'll take a look. Your commit (despite its less-than-inspiring log message :) seems to have worked, thanks. I now have the following invocations working correctly: valgrind --version valgrind --help valgrind --help-debug valgrind --tool=none --help valgrind --tool=none --help-debug Next step is to get init_baseBlock() working... N |
|
From: Tom H. <th...@cy...> - 2004-07-28 10:14:51
|
In message <Pin...@he...>
Nicholas Nethercote <nj...@ca...> wrote:
> While I'm at it, I noticed the function declarations in ume.h do not
> have "extern" -- does this matter?
No - extern is the default for function declarations in C.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 10:02:41
|
On Wed, 28 Jul 2004, Nicholas Nethercote wrote: >> That seems OK, but I think I put the second as_pad there deliberately, >> even though its redundant. Mainly, I think, to reduce the number of >> implicit dependencies between stage1 and stage2. The as_pad in stage1 >> is functionally there to make sure that stage2 loads in the right place; >> the one in stage2 is to make sure the tools load in the right place. >> >> Hm, it isn't a very strong reason for keeping it there. > > Especially since stage2 aborts if stage1 didn't launch it. And there doesn't > seem to be any use in allowing the possibility of stage2 being launched on > its own? Here's a more compelling patch: I've rejigged as_*() so that no implicit state is kept in global variables in ume.c; the padfile fd is now threaded through explicitly. The as_*() interface has changed from this void as_pad(void *start, void *end); void as_unpad(void *start, void *end); void as_closepadfile(void); int as_getpadfd(void); void as_setpadfd(int); to this int as_openpadfile (void); void as_pad (void *start, void *end, int padfile); void as_unpad (void *start, void *end, int padfile); void as_closepadfile(int padfile); which is a definite improvement. Jeremy, can you check this? If there are no complaints I'll commit. ---- While I'm at it, I noticed the function declarations in ume.h do not have "extern" -- does this matter? N |
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 08:36:08
|
On Mon, 26 Jul 2004, Jeremy Fitzhardinge wrote: >> The attached diff removes the redundant as_pad() in vg_main.c, which >> allows layout_client_space() to merge with layout_remaining_space. It >> works fine on my machine. Does it seem ok to you? I'll commit if so. > > That seems OK, but I think I put the second as_pad there deliberately, > even though its redundant. Mainly, I think, to reduce the number of > implicit dependencies between stage1 and stage2. The as_pad in stage1 > is functionally there to make sure that stage2 loads in the right place; > the one in stage2 is to make sure the tools load in the right place. > > Hm, it isn't a very strong reason for keeping it there. Especially since stage2 aborts if stage1 didn't launch it. And there doesn't seem to be any use in allowing the possibility of stage2 being launched on its own? N |
|
From: Nicholas N. <nj...@ca...> - 2004-07-28 08:20:28
|
On Tue, 27 Jul 2004, Bob Friesenhahn wrote: > Why not just create a CVS development branch to support the x86-64 port? Hmm... pros: - others can see it, try it easily cons: - keeping in sync with HEAD (ie. merging HEAD commits) is a pain - less flexibility, particularly with moving files around Does anyone have strong opinions either way? N |
|
From: <js...@ac...> - 2004-07-28 03:00:42
|
Nightly build on nemesis ( SuSE 9.1 ) started at 2004-07-28 03:50:01 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 168 tests, 4 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_fcntl (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2004-07-28 02:25:05
|
Nightly build on dunsmere ( Fedora Core 2 ) started at 2004-07-28 03:20:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 173 tests, 7 stderr failures, 1 stdout failure ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-07-28 02:20:23
|
Nightly build on audi ( Red Hat 9 ) started at 2004-07-28 03:15:06 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 173 tests, 7 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-07-28 02:13:18
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2004-07-28 03:10:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 173 tests, 4 stderr failures, 0 stdout failures ================= helgrind/tests/deadlock (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-07-28 02:08:19
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2004-07-28 03:05:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 173 tests, 6 stderr failures, 1 stdout failure ================= addrcheck/tests/toobig-allocs (stderr) memcheck/tests/badjump (stderr) memcheck/tests/brk (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/new_nothrow (stderr) memcheck/tests/toobig-allocs (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-07-28 02:07:33
|
Nightly build on standard ( Red Hat 7.2 ) started at 2004-07-28 03:00:02 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow rcrl: valgrind ./rcrl readline1: valgrind ./readline1 resolv: valgrind ./resolv rlimit_nofile: valgrind ./rlimit_nofile seg_override: valgrind ./seg_override sem: valgrind ./sem semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 173 tests, 0 stderr failures, 0 stdout failures ================= |