You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
(13) |
2
(33) |
3
(25) |
4
(22) |
5
(22) |
6
(21) |
7
(19) |
|
8
(29) |
9
(34) |
10
(29) |
11
(37) |
12
(36) |
13
(28) |
14
(25) |
|
15
(28) |
16
(23) |
17
(36) |
18
(21) |
19
(12) |
20
(14) |
21
(10) |
|
22
(7) |
23
(15) |
24
(41) |
25
(15) |
26
(9) |
27
(7) |
28
(6) |
|
29
(16) |
30
(24) |
31
(22) |
|
|
|
|
|
From: Nicholas N. <nj...@cs...> - 2005-05-31 22:55:44
|
On Tue, 31 May 2005, Greg Parker wrote: > The problem is that the original message does not include > a MIME-Version header. Any message that specifies a > Content-Transfer-Encoding must also include MIME-Version. > This is probably a bug in the generator of the message. > I'm guessing that some mail clients enforce the letter of > the law and ignore Content-Transfer-Encoding when no > MIME-Version is present. Ah, you're exactly right: I added the Mime version line and Pine displayed it properly. Thanks, Greg. So the follow-up question: how do we make Subversion include the Mime version line? N |
|
From: Greg P. <gp...@us...> - 2005-05-31 22:41:06
|
Greg Parker writes: > A sufficiently sophisticated mail reader should be able to display > quoted-printable text as something more readable. The only other > alternative is to change the message encoding used when the svn > system generates the message. The problem is that the original message does not include a MIME-Version header. Any message that specifies a Content-Transfer-Encoding must also include MIME-Version. This is probably a bug in the generator of the message. I'm guessing that some mail clients enforce the letter of the law and ignore Content-Transfer-Encoding when no MIME-Version is present. -- Greg Parker gp...@us... |
|
From: Nicholas N. <nj...@cs...> - 2005-05-31 22:34:53
|
On Tue, 31 May 2005, Robert Walsh wrote: > Those are, I believe, special magic mime encodings for whitespace, = and > the like. I don't see them, which means my mailer (Evolution) is > decoding them correctly. What's your mailer? Is it mime-aware? Pine (advance, I know). I think it's MIME-aware... it can handle multi-part MIME messages, at least. Nick |
|
From: Greg P. <gp...@us...> - 2005-05-31 22:21:40
|
Nicholas Nethercote writes:
> Here's a question: in my mailer these commit messages always look a bit
> funny. I don't know if you can see it above, but the line after the
> "Modified" line has lots of "=3D" strings in a row. I think it's just meant
> to be '=' characters. And some of the lines further down have "=20" as
> their last character.
This is MIME quoted-printable text encoding. You should see
Content-Transfer-Encoding: quoted-printable
in the original message's headers.
=3D is the equals sign. =20 is a space, usually at the end of a line.
> Does anyone else see this? Any ideas how to fix it?
A sufficiently sophisticated mail reader should be able to display
quoted-printable text as something more readable. The only other
alternative is to change the message encoding used when the svn
system generates the message.
--
Greg Parker gp...@us...
|
|
From: Jeremy F. <je...@go...> - 2005-05-31 22:16:34
|
Josef Weidendorfer wrote:
>I have a question on Valgrind scheduling (I have a bug here in my tool): as
>callgrind has "shadow" call stacks for each thread, it always needs to know
>which thread currently is running. Usually, this is no problem with
>VG_(track_thread_run).
>
>I also track signal handlers. And these can switch the running thread.
>VG_(track_thread_run) is not called directly after a signal handlers return.
>So the question is, what thread is resumed when a signal handler returns? Do
>I have to track this myself? And if, how to do this?
>Can there be a thread switch while a signal handler is running?
>
>
In general, signals do not explicitly cause thread context switches. A
thread may become runnable because it received a signal, but it is no
different from any other reason a thread may become runnable (like a
syscall unblocking). Likewise, returning from a signal doesn't
explicitly cause a thread context switch.
A signal handler isn't special in any way, so there's always a chance
you can get a context switch in a signal handler.
What problem are you seeing?
J
|
|
From: <sv...@va...> - 2005-05-31 22:15:19
|
Author: njn Date: 2005-05-31 23:15:14 +0100 (Tue, 31 May 2005) New Revision: 3830 Modified: trunk/coregrind/core.h Log: Test commit, whitespace change only. Modified: trunk/coregrind/core.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/coregrind/core.h 2005-05-31 21:21:12 UTC (rev 3829) +++ trunk/coregrind/core.h 2005-05-31 22:15:14 UTC (rev 3830) @@ -243,7 +243,7 @@ extern const Int VG_(tramp_syscall_offset); extern const Int VG_(tramp_gettimeofday_offset); extern const Int VG_(tramp_time_offset); - +=20 // --------------------------------------------------------------------- // Architecture-specific things defined in eg. x86/*.c // --------------------------------------------------------------------- |
|
From: Robert W. <rj...@du...> - 2005-05-31 21:52:21
|
> Here's a question: in my mailer these commit messages always look a bit > funny. I don't know if you can see it above, but the line after the > "Modified" line has lots of "=3D" strings in a row. I think it's just meant > to be '=' characters. And some of the lines further down have "=20" as > their last character. > > Does anyone else see this? Any ideas how to fix it? Those are, I believe, special magic mime encodings for whitespace, = and the like. I don't see them, which means my mailer (Evolution) is decoding them correctly. What's your mailer? Is it mime-aware? Regards, Robert. |
|
From: Nicholas N. <nj...@cs...> - 2005-05-31 21:43:50
|
On Tue, 31 May 2005 sv...@va... wrote: > Modified: trunk/index.html > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- trunk/index.html 2005-05-21 19:24:10 UTC (rev 119) > +++ trunk/index.html 2005-05-31 21:33:15 UTC (rev 120) > @@ -9,7 +9,6 @@ > Current stable release: <a href=3D"/downloads/source_code.html#current-s= > table"><?php echo $config['release-version']; ?></a> > </h3> > =20 > - > <p> </p> > =20 > <p>Valgrind is an <a href=3D"http://opensource.org/OSA/">award-winning</= > a>=20 Here's a question: in my mailer these commit messages always look a bit funny. I don't know if you can see it above, but the line after the "Modified" line has lots of "=3D" strings in a row. I think it's just meant to be '=' characters. And some of the lines further down have "=20" as their last character. Does anyone else see this? Any ideas how to fix it? Nick |
|
From: <sv...@va...> - 2005-05-31 21:33:21
|
Author: rjwalsh Date: 2005-05-31 22:33:15 +0100 (Tue, 31 May 2005) New Revision: 120 Modified: trunk/index.html Log: Minor white-space only thing to test my password. Modified: trunk/index.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/index.html 2005-05-21 19:24:10 UTC (rev 119) +++ trunk/index.html 2005-05-31 21:33:15 UTC (rev 120) @@ -9,7 +9,6 @@ Current stable release: <a href=3D"/downloads/source_code.html#current-s= table"><?php echo $config['release-version']; ?></a> </h3> =20 - <p> </p> =20 <p>Valgrind is an <a href=3D"http://opensource.org/OSA/">award-winning</= a>=20 |
Author: rjwalsh Date: 2005-05-31 22:21:12 +0100 (Tue, 31 May 2005) New Revision: 3829 Modified: trunk/ trunk/addrcheck/ trunk/auxprogs/ trunk/cachegrind/ trunk/cachegrind/amd64/ trunk/cachegrind/arm/ trunk/cachegrind/tests/ trunk/cachegrind/tests/amd64/ trunk/cachegrind/tests/arm/ trunk/cachegrind/x86/ trunk/corecheck/ trunk/corecheck/tests/ trunk/coregrind/ trunk/coregrind/amd64/ trunk/coregrind/arm/ trunk/coregrind/linux/ trunk/coregrind/m_aspacemgr/ trunk/coregrind/m_demangle/ trunk/coregrind/m_dispatch/ trunk/coregrind/m_replacemalloc/ trunk/coregrind/m_sigframe/ trunk/coregrind/m_syscalls/ trunk/coregrind/x86/ trunk/docs/images/ trunk/docs/lib/ trunk/docs/xml/ trunk/helgrind/ trunk/helgrind/tests/ trunk/lackey/ trunk/massif/ trunk/massif/hp2ps/ trunk/memcheck/ trunk/memcheck/tests/ trunk/memcheck/tests/amd64/ trunk/memcheck/tests/arm/ trunk/memcheck/tests/x86/ trunk/none/ trunk/none/tests/ trunk/none/tests/amd64/ trunk/none/tests/arm/ trunk/none/tests/x86/ trunk/tests/ Log: Update ignore stuff. Property changes on: trunk ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile acinclude.m4 aclocal.m4 configure config.h* stamp-h* valgrind valgrind.spec cachegrind vg_annotate vg_cachegen default.supp bin lib include share cachegrind.out.* autom4te.cache autom4te-*.cache valgrind.pc .in_place + acinclude.m4 aclocal.m4 autom4te-*.cache autom4te.cache bin cachegrind cachegrind.out.* compile config.guess config.h* config.log config.status config.sub configure default.supp depcomp include .in_place install-sh lib Makefile Makefile.in missing share stamp-h* valgrind valgrind.pc valgrind.spec vg_annotate vg_cachegen Property changes on: trunk/addrcheck ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in Property changes on: trunk/auxprogs ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile valgrind-listener + .deps Makefile Makefile.in valgrind-listener Property changes on: trunk/cachegrind ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile cg_annotate + cg_annotate .deps Makefile Makefile.in *.so Property changes on: trunk/cachegrind/amd64 ___________________________________________________________________ Name: svn:ignore + *.a .deps Makefile Makefile.in Property changes on: trunk/cachegrind/arm ___________________________________________________________________ Name: svn:ignore + .deps Makefile Makefile.in Property changes on: trunk/cachegrind/tests ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile chdir dlclose cachegrind.out cachegrind.out.* *.stdout.diff *.stderr.diff *.stdout.out *.stderr.out + cachegrind.out cachegrind.out.* chdir .deps dlclose Makefile Makefile.in *.so *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out Property changes on: trunk/cachegrind/tests/amd64 ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/cachegrind/tests/arm ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/cachegrind/x86 ___________________________________________________________________ Name: svn:ignore - Makefile Makefile.in + *.a .deps Makefile Makefile.in Property changes on: trunk/corecheck ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in *.so Property changes on: trunk/corecheck/tests ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile erringfds malloc3 sigkill pth_atfork1 pth_cancel1 pth_cancel2 pth_cvsimple pth_empty pth_mutexspeed pth_once pth_rwlock res_search .ktemp *.stdout.diff *.stderr.diff* *.stdout.out *.stderr.out fdleak_cmsg fdleak_creat fdleak_dup fdleak_dup2 fdleak_fcntl fdleak_ipv4 fdleak_open fdleak_pipe fdleak_socketpair pth_exit pth_exit2 vgprintf as_shm as_mmap + as_mmap as_shm .deps erringfds fdleak_cmsg fdleak_creat fdleak_dup fdleak_dup2 fdleak_fcntl fdleak_ipv4 fdleak_open fdleak_pipe fdleak_socketpair .ktemp Makefile Makefile.in malloc3 pth_atfork1 pth_cancel1 pth_cancel2 pth_cvsimple pth_empty pth_exit pth_exit2 pth_mutexspeed pth_once pth_rwlock res_search sigkill *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out threadederrno vgprintf Property changes on: trunk/coregrind ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile valgrind stage2 vg_toolint.h vg_toolint.c vg_intercept.c vg_replace_malloc.c + .deps Makefile Makefile.in *.so stage2 valgrind vg_intercept.c vg_replace_malloc.c vg_toolint.c vg_toolint.h Property changes on: trunk/coregrind/amd64 ___________________________________________________________________ Name: svn:ignore + *.a .deps Makefile Makefile.in stage2.lds Property changes on: trunk/coregrind/arm ___________________________________________________________________ Name: svn:ignore + .deps Makefile Makefile.in Property changes on: trunk/coregrind/linux ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + *.a .deps Makefile Makefile.in Property changes on: trunk/coregrind/m_aspacemgr ___________________________________________________________________ Name: svn:ignore + *.a .deps Makefile Makefile.in Property changes on: trunk/coregrind/m_demangle ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + *.a .deps Makefile Makefile.in Property changes on: trunk/coregrind/m_dispatch ___________________________________________________________________ Name: svn:ignore + *.a Makefile Makefile.in Property changes on: trunk/coregrind/m_replacemalloc ___________________________________________________________________ Name: svn:ignore + *.a .deps Makefile Makefile.in Property changes on: trunk/coregrind/m_sigframe ___________________________________________________________________ Name: svn:ignore + *.a .deps Makefile Makefile.in Property changes on: trunk/coregrind/m_syscalls ___________________________________________________________________ Name: svn:ignore + *.a .deps Makefile Makefile.in Property changes on: trunk/coregrind/x86 ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile stage2.lds + *.a .deps Makefile Makefile.in stage2.lds Property changes on: trunk/docs/images ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/docs/lib ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/docs/xml ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/helgrind ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in *.so Property changes on: trunk/helgrind/tests ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile allok deadlock inherit race race2 readshared *.stdout.diff *.stderr.diff *.stdout.out *.stderr.out + allok deadlock .deps inherit Makefile Makefile.in race race2 readshared *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out Property changes on: trunk/lackey ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in *.so Property changes on: trunk/massif ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in *.so Property changes on: trunk/massif/hp2ps ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile hp2ps + .deps hp2ps Makefile Makefile.in Property changes on: trunk/memcheck ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in *.so Property changes on: trunk/memcheck/tests ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc dir doublefree error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 memalign_test memalign2 memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack signal2 sigprocmask str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl writev zeropage *.stdout.diff *.stderr.diff* *.stdout.out *.stderr.out + addressable badaddrvalue badfree badjump badjump2 badloop badpoll badrw brk brk2 buflen_check clientperm clientstackperm custom_alloc .deps describe-block dir doublefree error_counts errs1 execve execve2 exitprog filter_leak_check_size filter_stderr fprw fwrite hello inits inline leak-0 leak-cycle leakotron leak-regroot leak-tree Makefile Makefile.in malloc1 malloc2 malloc3 manuel1 manuel2 manuel3 match-overrun memalign2 memalign_test memcmptest mempool metadata mismatches mmaptest nanoleak new_nothrow new_override null_socket overlap pointer-trace post-syscall realloc1 realloc2 realloc3 scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork sigaltstack signal2 sigprocmask *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out str_tester supp1 supp2 suppfree threadederrno trivialleak vgtest_ume weirdioctl writev xml1 zeropage Property changes on: trunk/memcheck/tests/amd64 ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/memcheck/tests/arm ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/memcheck/tests/x86 ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile fpeflags pushfpopf tronical *.stdout.diff *.stderr.diff* *.stdout.out *.stderr.out + .deps fpeflags Makefile Makefile.in pushfpopf scalar scalar_exit_group scalar_fork scalar_supp scalar_vfork *.stderr.diff* *.stderr.out *.stdout.diff *.stdout.out tronical Property changes on: trunk/none ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile + .deps Makefile Makefile.in *.so Property changes on: trunk/none/tests ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile args bitfield1 closeall coolo_sigaction coolo_strlen discard exec-sigmask execve fcntl_setown floored fork fucomip gxx304 insn_basic insn_basic.c insn_fpu insn_fpu.c insn_cmov insn_cmov.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse.c insn_sse2 insn_sse2.c map_unmap mq mremap munmap_exe pluto pth_blockedsig pth_stackalign rcrl readline1 resolv rlimit_nofile sem semlimit sha1_test shortpush shorts smc1 susphello syscall-restart1 syscall-restart2 system pth_atfork1 pth_cancel1 pth_cancel2 pth_cvsimple pth_mutexspeed pth_once pth_semaphore1 pth_simple_mutex pth_simple_threads pth_specific pth_yield tls yield *.stdout.diff *.stderr.diff *.stdout.out *.stderr.out + args async-sigs bitfield1 blockfault closeall coolo_sigaction coolo_strlen .deps discard exec-sigmask execve faultstatus fcntl_setown floored fork fucomip gxx304 insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c Makefile Makefile.in manythreads map_unaligned map_unmap mq mremap munmap_exe pending pluto pth_atfork1 pth_blockedsig pth_cancel1 pth_cancel2 pth_cvsimple pth_mutexspeed pth_once pth_semaphore1 pth_simple_mutex pth_simple_threads pth_specific pth_stackalign pth_yield rcrl readline1 resolv rlimit_nofile selfrun sem semlimit sha1_test shortpush shorts sigstackgrowth smc1 *.so stackgrowth *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out susphello syscall-restart1 syscall-restart2 system threaded-fork thread-exits tls yield Property changes on: trunk/none/tests/amd64 ___________________________________________________________________ Name: svn:ignore + .deps insn_fpu insn_mmx insn_sse insn_sse2 Makefile Makefile.in Property changes on: trunk/none/tests/arm ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Property changes on: trunk/none/tests/x86 ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile badseg bt_everything bt_literal cpuid dastest fpu_lazy_eflags insn_basic insn_basic.c insn_fpu insn_fpu.c insn_cmov insn_cmov.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse.c insn_sse2 insn_sse2.c int pushpopseg rcl_assert seg_override *.stdout.diff *.stderr.diff *.stdout.out *.stderr.out + badseg bt_everything bt_literal cpuid dastest .deps fpu_lazy_eflags getseg insn_basic insn_basic.c insn_cmov insn_cmov.c insn_fpu insn_fpu.c insn_mmx insn_mmx.c insn_mmxext insn_mmxext.c insn_sse insn_sse2 insn_sse2.c insn_sse.c int Makefile Makefile.in pushpopseg rcl_assert seg_override sigcontext *.stderr.diff *.stderr.out *.stdout.diff *.stdout.out Property changes on: trunk/tests ___________________________________________________________________ Name: svn:ignore - Makefile.in Makefile cputest vg_regtest toobig-allocs true + cputest .deps Makefile Makefile.in toobig-allocs true vg_regtest |
|
From: <sv...@va...> - 2005-05-31 21:07:04
|
Author: sewardj
Date: 2005-05-31 22:07:01 +0100 (Tue, 31 May 2005)
New Revision: 3828
Modified:
trunk/coregrind/m_syscalls/syscalls-x86-linux.c
Log:
SuSE 9.3 (x86) fix (sigh)
Modified: trunk/coregrind/m_syscalls/syscalls-x86-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-05-31 20:01:34 U=
TC (rev 3827)
+++ trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-05-31 21:07:01 U=
TC (rev 3828)
@@ -1038,6 +1038,7 @@
if (
(cloneflags =3D=3D 0x100011 || cloneflags =3D=3D 0x1200011
|| cloneflags =3D=3D 0x7D0F00
+ || cloneflags =3D=3D 0x3D0F00
|| cloneflags =3D=3D 0xF00
|| cloneflags =3D=3D 0xF21)) {
/* OK */
|
|
From: <sv...@va...> - 2005-05-31 19:49:33
|
Author: sewardj Date: 2005-05-31 20:49:28 +0100 (Tue, 31 May 2005) New Revision: 3826 Added: trunk/memcheck/tests/execve.stderr.exp2 trunk/memcheck/tests/execve2.stderr.exp2 Modified: trunk/memcheck/tests/Makefile.am Log: Expected outputs on Fedora Core 4. Modified: trunk/memcheck/tests/Makefile.am =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/memcheck/tests/Makefile.am 2005-05-31 17:24:49 UTC (rev 3825) +++ trunk/memcheck/tests/Makefile.am 2005-05-31 19:49:28 UTC (rev 3826) @@ -26,8 +26,8 @@ error_counts.stderr.exp error_counts.stdout.exp error_counts.vgtest \ errs1.stderr.exp errs1.vgtest \ exitprog.stderr.exp exitprog.vgtest \ - execve.stderr.exp execve.vgtest \ - execve2.stderr.exp execve2.vgtest \ + execve.stderr.exp execve.stderr.exp2 execve.vgtest \ + execve2.stderr.exp execve2.stderr.exp2 execve2.vgtest \ fprw.stderr.exp fprw.vgtest \ fwrite.stderr.exp fwrite.stderr.exp2 fwrite.stdout.exp fwrite.vgtest \ inits.stderr.exp inits.vgtest \ Added: trunk/memcheck/tests/execve.stderr.exp2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/memcheck/tests/execve.stderr.exp2 2005-05-31 17:24:49 UTC (rev = 3825) +++ trunk/memcheck/tests/execve.stderr.exp2 2005-05-31 19:49:28 UTC (rev = 3826) @@ -0,0 +1,17 @@ +Syscall param execve(filename) points to unaddressable byte(s) + at 0x........: execve (in /...libc...) + by 0x........: __libc_start_main (in /...libc...) + by 0x........: ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param execve(argv[i]) points to unaddressable byte(s) + at 0x........: execve (in /...libc...) + by 0x........: __libc_start_main (in /...libc...) + by 0x........: ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param execve(envp[i]) points to unaddressable byte(s) + at 0x........: execve (in /...libc...) + by 0x........: __libc_start_main (in /...libc...) + by 0x........: ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd Added: trunk/memcheck/tests/execve2.stderr.exp2 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/memcheck/tests/execve2.stderr.exp2 2005-05-31 17:24:49 UTC (rev= 3825) +++ trunk/memcheck/tests/execve2.stderr.exp2 2005-05-31 19:49:28 UTC (rev= 3826) @@ -0,0 +1,5 @@ +Syscall param execve(filename) points to unaddressable byte(s) + at 0x........: execve (in /...libc...) + by 0x........: __libc_start_main (in /...libc...) + by 0x........: ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd |
|
From: <sv...@va...> - 2005-05-31 17:24:57
|
Author: sewardj
Date: 2005-05-31 18:24:49 +0100 (Tue, 31 May 2005)
New Revision: 3825
Modified:
trunk/coregrind/m_scheduler/scheduler.c
Log:
Completely zero out all the thread records at initialisation. As far
as I can see, deallocate_LGDTs_for_thread were being called on
uninitialised thread records.
Modified: trunk/coregrind/m_scheduler/scheduler.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_scheduler/scheduler.c 2005-05-31 15:41:42 UTC (rev =
3824)
+++ trunk/coregrind/m_scheduler/scheduler.c 2005-05-31 17:24:49 UTC (rev =
3825)
@@ -632,8 +632,12 @@
VG_(sema_init)(&run_sema);
=20
for (i =3D 0 /* NB; not 1 */; i < VG_N_THREADS; i++) {
- VG_(threads)[i].sig_queue =3D NULL;
=20
+ /* Paranoia .. completely zero it out. */
+ VG_(memset)( & VG_(threads)[i], 0, sizeof( VG_(threads)[i] ) );
+
+ VG_(threads)[i].sig_queue =3D NULL;
+
VGO_(os_state_init)(&VG_(threads)[i]);
mostly_clear_thread_record(i);
=20
|
|
From: <sv...@va...> - 2005-05-31 15:41:47
|
Author: sewardj
Date: 2005-05-31 16:41:42 +0100 (Tue, 31 May 2005)
New Revision: 3824
Modified:
trunk/coregrind/m_syscalls/syscalls-amd64-linux.c
Log:
Unbreak amd64 build.
Modified: trunk/coregrind/m_syscalls/syscalls-amd64-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscalls/syscalls-amd64-linux.c 2005-05-31 13:08:03=
UTC (rev 3823)
+++ trunk/coregrind/m_syscalls/syscalls-amd64-linux.c 2005-05-31 15:41:42=
UTC (rev 3824)
@@ -30,6 +30,7 @@
=20
#include "core.h"
#include "ume.h" /* for jmp_with_stack */
+#include "pub_core_debuglog.h"
#include "pub_core_aspacemgr.h"
#include "pub_core_sigframe.h"
#include "pub_core_syscalls.h"
@@ -245,64 +246,116 @@
return ((Addr)p) - tst->os_state.valgrind_stack_base;
}
=20
-/*
- Allocate a stack for the main thread, and call VGA_(thread_wrapper)
- on that stack.
- */
-void VGA_(main_thread_wrapper)(ThreadId tid)
+
+/* Run a thread all the way to the end, then do appropriate exit actions
+ (this is the last-one-out-turn-off-the-lights bit).=20
+*/
+static void run_a_thread_NORETURN ( Word tidW )
{
- UWord* rsp =3D allocstack(tid);
+ ThreadId tid =3D (ThreadId)tidW;
=20
- vg_assert(tid =3D=3D VG_(master_tid));
+ VG_(debugLog)(1, "syscalls-x86-linux",=20
+ "run_a_thread_NORETURN(tid=3D%lld): "
+ "VGO_(thread_wrapper) called\n",
+ (ULong)tidW);
=20
- call_on_new_stack_0_1(=20
- (Addr)rsp, /* stack */
- 0, /*bogus return address*/
- VGA_(thread_wrapper), /* fn to call */
- (Word)tid /* arg to give it */
- );
+ /* Run the thread all the way through. */
+ VgSchedReturnCode src =3D VGO_(thread_wrapper)(tid); =20
=20
+ VG_(debugLog)(1, "syscalls-x86-linux",=20
+ "run_a_thread_NORETURN(tid=3D%lld): "
+ "VGO_(thread_wrapper) done\n",
+ (ULong)tidW);
+
+ Int c =3D VG_(count_living_threads)();
+ vg_assert(c >=3D 1); /* stay sane */
+
+ if (c =3D=3D 1) {
+
+ VG_(debugLog)(1, "syscalls-x86-linux",=20
+ "run_a_thread_NORETURN(tid=3D%lld): "
+ "last one standing\n",
+ (ULong)tidW);
+
+ /* We are the last one standing. Keep hold of the lock and
+ carry on to show final tool results, then exit the entire syste=
m. */
+ VG_(shutdown_actions_NORETURN)(tid, src);
+
+ } else {
+
+ VG_(debugLog)(1, "syscalls-x86-linux",=20
+ "run_a_thread_NORETURN(tid=3D%lld): "
+ "not last one standing\n",
+ (ULong)tidW);
+
+ /* OK, thread is dead, but others still exist. Just exit. */
+ ThreadState *tst =3D VG_(get_ThreadState)(tid);
+
+ /* This releases the run lock */
+ VG_(exit_thread)(tid);
+ vg_assert(tst->status =3D=3D VgTs_Zombie);
+
+ /* We have to use this sequence to terminate the thread to
+ prevent a subtle race. If VG_(exit_thread)() had left the
+ ThreadState as Empty, then it could have been reallocated,
+ reusing the stack while we're doing these last cleanups.
+ Instead, VG_(exit_thread) leaves it as Zombie to prevent
+ reallocation. We need to make sure we don't touch the stack
+ between marking it Empty and exiting. Hence the
+ assembler. */
+ asm volatile (
+ "movl %1, %0\n" /* set tst->status =3D VgTs_Empty */
+ "movq %2, %%rax\n" /* set %rax =3D __NR_exit */
+ "movq %3, %%rdi\n" /* set %rdi =3D tst->os_state.exitcode */
+ "syscall\n" /* exit(tst->os_state.exitcode) */
+ : "=3Dm" (tst->status)
+ : "n" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcod=
e));
+
+ VG_(core_panic)("Thread exit failed?\n");
+ }
+
/*NOTREACHED*/
vg_assert(0);
}
=20
-static Int start_thread(void *arg)
+
+/*
+ Allocate a stack for the main thread, and run it all the way to the
+ end. =20
+*/
+void VGP_(main_thread_wrapper_NORETURN)(ThreadId tid)
{
- ThreadState *tst =3D (ThreadState *)arg;
- ThreadId tid =3D tst->tid;
+ VG_(debugLog)(1, "syscalls-amd64-linux",=20
+ "entering VGP_(main_thread_wrapper_NORETURN)\n");
=20
- VGA_(thread_wrapper)(tid);
+ UWord* rsp =3D allocstack(tid);
=20
- /* OK, thread is dead; this releases the run lock */
- VG_(exit_thread)(tid);
+ /* shouldn't be any other threads around yet */
+ vg_assert( VG_(count_living_threads)() =3D=3D 1 );
=20
- vg_assert(tst->status =3D=3D VgTs_Zombie);
+ call_on_new_stack_0_1(=20
+ (Addr)rsp, /* stack */
+ 0, /*bogus return address*/
+ run_a_thread_NORETURN, /* fn to call */
+ (Word)tid /* arg to give it */
+ );
=20
- /* Poke the reaper */
- if (VG_(clo_trace_signals))
- VG_(message)(Vg_DebugMsg, "Sending SIGVGCHLD to master tid=3D%d lw=
p=3D%d",=20
- VG_(master_tid), VG_(threads)[VG_(master_tid)].os_state.lwpid);
+ /*NOTREACHED*/
+ vg_assert(0);
+}
=20
- VG_(tkill)(VG_(threads)[VG_(master_tid)].os_state.lwpid, VKI_SIGVGCHL=
D);
=20
- /* We have to use this sequence to terminate the thread to prevent
- a subtle race. If VG_(exit_thread)() had left the ThreadState
- as Empty, then it could have been reallocated, reusing the stack
- while we're doing these last cleanups. Instead,
- VG_(exit_thread) leaves it as Zombie to prevent reallocation.
- We need to make sure we don't touch the stack between marking it
- Empty and exiting. Hence the assembler. */
- asm volatile (
- "movl %1, %0\n" /* set tst->status =3D VgTs_Empty */
- "movq %2, %%rax\n" /* set %rax =3D __NR_exit */
- "movq %3, %%rdi\n" /* set %rdi =3D tst->os_state.exitcode */
- "syscall\n" /* exit(tst->os_state.exitcode) */
- : "=3Dm" (tst->status)
- : "n" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcode))=
;
+static Int start_thread_NORETURN ( void* arg )
+{
+ ThreadState* tst =3D (ThreadState*)arg;
+ ThreadId tid =3D tst->tid;
=20
- VG_(core_panic)("Thread exit failed?\n");
+ run_a_thread_NORETURN ( (Word)tid );
+ /*NOTREACHED*/
+ vg_assert(0);
}
=20
+
/* ---------------------------------------------------------------------
clone() handling
------------------------------------------------------------------ */
@@ -398,7 +451,7 @@
VG_(sigprocmask)(VKI_SIG_SETMASK, &blockall, &savedmask);
=20
/* Create the new thread */
- ret =3D VG_(clone)(start_thread, stack, flags, &VG_(threads)[ctid],
+ ret =3D VG_(clone)(start_thread_NORETURN, stack, flags, &VG_(threads)=
[ctid],
child_tidptr, parent_tidptr, NULL);
=20
VG_(sigprocmask)(VKI_SIG_SETMASK, &savedmask, NULL);
|
|
From: <sv...@va...> - 2005-05-31 13:08:11
|
Author: sewardj
Date: 2005-05-31 14:08:03 +0100 (Tue, 31 May 2005)
New Revision: 3823
Modified:
trunk/coregrind/m_syscalls/syscalls-x86-linux.c
Log:
At clone(), always start the child off with a copy of the parent's GDT.
Modified: trunk/coregrind/m_syscalls/syscalls-x86-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-05-31 10:12:06 U=
TC (rev 3822)
+++ trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-05-31 13:08:03 U=
TC (rev 3823)
@@ -412,7 +412,7 @@
clone flags of 0xF00, and it seems to rely on the assumption
that the child inherits a copy of the parent's GDT. Hence that
is passed as an arg to setup_child. */
- setup_child( &ctst->arch, &ptst->arch, VG_(clo_support_elan3) );
+ setup_child( &ctst->arch, &ptst->arch, True /*VG_(clo_support_elan3)*=
/ );
=20
VGP_SET_SYSCALL_RESULT(ctst->arch, 0);
if (esp !=3D 0)
@@ -1035,15 +1035,13 @@
- The Quadrics Elan3 driver specifies clone flags of 0xF00.
Everything else is rejected.=20
*/
- if (!VG_(clo_support_elan3)
- && (cloneflags =3D=3D 0x100011 || cloneflags =3D=3D 0x1200011
- || cloneflags =3D=3D 0x7D0F00)) {
- /* OK */
+ if (
+ (cloneflags =3D=3D 0x100011 || cloneflags =3D=3D 0x1200011
+ || cloneflags =3D=3D 0x7D0F00
+ || cloneflags =3D=3D 0xF00
+ || cloneflags =3D=3D 0xF21)) {
+ /* OK */
}
- else=20
- if (VG_(clo_support_elan3) && cloneflags =3D=3D 0xF00) {
- /* OK */
- }
else {
/* Nah. We don't like it. Go away. */
goto reject;
|
|
From: <sv...@va...> - 2005-05-31 10:12:13
|
Author: sewardj
Date: 2005-05-31 11:12:06 +0100 (Tue, 31 May 2005)
New Revision: 3822
Modified:
trunk/coregrind/m_syscalls/syscalls-x86-linux.c
Log:
When handling the clone variant done by the Quadrics Elan3 user-space
driver, start the child off with a copy of the parent's GDT. All
other uses of clone() are unaffected.
Modified: trunk/coregrind/m_syscalls/syscalls-x86-linux.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-05-31 02:38:09 U=
TC (rev 3821)
+++ trunk/coregrind/m_syscalls/syscalls-x86-linux.c 2005-05-31 10:12:06 U=
TC (rev 3822)
@@ -360,7 +360,7 @@
------------------------------------------------------------------ */
=20
// forward declarations
-static void setup_child ( ThreadArchState*, ThreadArchState* );
+static void setup_child ( ThreadArchState*, ThreadArchState*, Bool );
static Int sys_set_thread_area ( ThreadId, vki_modify_ldt_t* );
=20
/*=20
@@ -408,7 +408,11 @@
If the clone call specifies a NULL esp for the new thread, then
it actually gets a copy of the parent's esp.
*/
- setup_child( &ctst->arch, &ptst->arch );
+ /* HACK: The clone call done by the Quadrics Elan3 driver specifies
+ clone flags of 0xF00, and it seems to rely on the assumption
+ that the child inherits a copy of the parent's GDT. Hence that
+ is passed as an arg to setup_child. */
+ setup_child( &ctst->arch, &ptst->arch, VG_(clo_support_elan3) );
=20
VGP_SET_SYSCALL_RESULT(ctst->arch, 0);
if (esp !=3D 0)
@@ -656,6 +660,17 @@
dst[i] =3D src[i];
}
=20
+/* Copy contents between two existing GDTs. */
+static void copy_GDT_from_to ( VexGuestX86SegDescr* src,
+ VexGuestX86SegDescr* dst )
+{
+ Int i;
+ vg_assert(src);
+ vg_assert(dst);
+ for (i =3D 0; i < VEX_GUEST_X86_GDT_NENT; i++)
+ dst[i] =3D src[i];
+}
+
/* Free this thread's DTs, if it has any. */
static void deallocate_LGDTs_for_thread ( VexGuestX86State* vex )
{
@@ -899,11 +914,13 @@
=20
=20
static void setup_child ( /*OUT*/ ThreadArchState *child,=20
- /*IN*/ ThreadArchState *parent )
+ /*IN*/ ThreadArchState *parent,
+ Bool inherit_parents_GDT )
{
/* We inherit our parent's guest state. */
child->vex =3D parent->vex;
child->vex_shadow =3D parent->vex_shadow;
+
/* We inherit our parent's LDT. */
if (parent->vex.guest_LDT =3D=3D (HWord)NULL) {
/* We hope this is the common case. */
@@ -915,8 +932,16 @@
(VexGuestX86SegDescr*)child->vex.guest_LDT );
}
=20
- /* We need an empty GDT. */
+ /* Either we start with an empty GDT (the usual case) or inherit a
+ copy of our parents' one (Quadrics Elan3 driver -style clone
+ only). */
child->vex.guest_GDT =3D (HWord)NULL;
+
+ if (inherit_parents_GDT && parent->vex.guest_GDT !=3D (HWord)NULL) {
+ child->vex.guest_GDT =3D (HWord)alloc_zeroed_x86_GDT();
+ copy_GDT_from_to( (VexGuestX86SegDescr*)parent->vex.guest_GDT,
+ (VexGuestX86SegDescr*)child->vex.guest_GDT );
+ }
} =20
=20
/* ---------------------------------------------------------------------
@@ -1003,6 +1028,27 @@
return;
}
=20
+ /* Be ultra-paranoid and filter out any clone-variants we don't under=
stand:
+ - ??? specifies clone flags of 0x100011
+ - ??? specifies clone flags of 0x1200011.
+ - NPTL specifies clone flags of 0x7D0F00.
+ - The Quadrics Elan3 driver specifies clone flags of 0xF00.
+ Everything else is rejected.=20
+ */
+ if (!VG_(clo_support_elan3)
+ && (cloneflags =3D=3D 0x100011 || cloneflags =3D=3D 0x1200011
+ || cloneflags =3D=3D 0x7D0F00)) {
+ /* OK */
+ }
+ else=20
+ if (VG_(clo_support_elan3) && cloneflags =3D=3D 0xF00) {
+ /* OK */
+ }
+ else {
+ /* Nah. We don't like it. Go away. */
+ goto reject;
+ }
+
/* Only look at the flags we really care about */
switch(cloneflags & (VKI_CLONE_VM | VKI_CLONE_FS | VKI_CLONE_FILES | =
VKI_CLONE_VFORK)) {
case VKI_CLONE_VM | VKI_CLONE_FS | VKI_CLONE_FILES:
@@ -1028,11 +1074,23 @@
break;
=20
default:
+ reject:
/* should we just ENOSYS? */
- VG_(message)(Vg_UserMsg, "Unsupported clone() flags: %x", ARG1);
+ VG_(message)(Vg_UserMsg, "");
+ VG_(message)(Vg_UserMsg, "Unsupported clone() flags: 0x%x", ARG1);
+ VG_(message)(Vg_UserMsg, "");
+ VG_(message)(Vg_UserMsg, "NOTE: if this happened when attempting "
+ "to run code using");
+ VG_(message)(Vg_UserMsg, " Quadrics Elan3 user-space drivers,=
"
+ " you should re-run ");
+ VG_(message)(Vg_UserMsg, " with --support-elan3=3Dyes.");
+ VG_(message)(Vg_UserMsg, "");
+ VG_(message)(Vg_UserMsg, "The only supported clone() uses are:");
+ VG_(message)(Vg_UserMsg, " - via a threads library (LinuxThreads o=
r NPTL)");
+ VG_(message)(Vg_UserMsg, " - via the implementation of fork or vfo=
rk");
+ VG_(message)(Vg_UserMsg, " - for the Quadrics Elan3 user-space dri=
ver");
VG_(unimplemented)
- ("Valgrind does not support general clone(). The only supporte=
d uses "
- "are via a threads library, fork, or vfork.");
+ ("Valgrind does not support general clone().");
}
=20
if (!VG_(is_kerror)(RES)) {
|
|
From: <js...@ac...> - 2005-05-31 02:50:13
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-05-31 03:50:00 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow Nightly build on phoenix ( SuSE 9.1 ) started at 2005-05-31 03:50:00 BST |
|
From: Tom H. <to...@co...> - 2005-05-31 02:36:04
|
Nightly build on dunsmere ( athlon, Fedora Core 3 ) started at 2005-05-31 03:30:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 176 tests, 8 stderr failures, 1 stdout failure ================= memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/selfrun (stdout) none/tests/selfrun (stderr) none/tests/x86/int (stderr) |
|
From: Tom H. <th...@cy...> - 2005-05-31 02:31:12
|
Nightly build on audi ( i686, Red Hat 9 ) started at 2005-05-31 03:25:02 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 175 tests, 4 stderr failures, 1 stdout failure ================= memcheck/tests/xml1 (stderr) corecheck/tests/fdleak_cmsg (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-05-31 02:20:44
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-05-31 03:15:02 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 174 tests, 13 stderr failures, 1 stdout failure ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/xml1 (stderr) corecheck/tests/fdleak_cmsg (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/yield (stdout) |
|
From: Tom H. <th...@cy...> - 2005-05-31 02:11:14
|
Nightly build on dellow ( x86_64, Fedora Core 3 ) started at 2005-05-31 03:10:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of log.verbose follow then mv -f ".deps/syscalls-linux.Tpo" ".deps/syscalls-linux.Po"; else rm -f ".deps/syscalls-linux.Tpo"; exit 1; fi if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../.. -I../../coregrind/amd64 -I../../coregrind/linux -I../../coregrind/amd64-linux -I../../include -I/tmp/valgrind.19977/vex/pub -DVGA_amd64=1 -DVGO_linux=1 -DVGP_amd64_linux=1 -fpie -m64 -fomit-frame-pointer -DELFSZ=64 -Wmissing-prototypes -Winline -Wall -Wshadow -O -g -Wno-long-long -MT syscalls-amd64-linux.o -MD -MP -MF ".deps/syscalls-amd64-linux.Tpo" -c -o syscalls-amd64-linux.o syscalls-amd64-linux.c; \ then mv -f ".deps/syscalls-amd64-linux.Tpo" ".deps/syscalls-amd64-linux.Po"; else rm -f ".deps/syscalls-amd64-linux.Tpo"; exit 1; fi syscalls-amd64-linux.c:253: warning: no previous prototype for 'vgArch_main_thread_wrapper' syscalls-amd64-linux.c: In function `vgArch_main_thread_wrapper': syscalls-amd64-linux.c:256: error: `vgPlain_master_tid' undeclared (first use in this function) syscalls-amd64-linux.c:256: error: (Each undeclared identifier is reported only once syscalls-amd64-linux.c:256: error: for each function it appears in.) syscalls-amd64-linux.c:261: error: `vgArch_thread_wrapper' undeclared (first use in this function) syscalls-amd64-linux.c: In function `start_thread': syscalls-amd64-linux.c:274: warning: implicit declaration of function `vgArch_thread_wrapper' syscalls-amd64-linux.c:284: error: `vgPlain_master_tid' undeclared (first use in this function) syscalls-amd64-linux.c:286: error: `VKI_SIGVGCHLD' undeclared (first use in this function) make[3]: *** [syscalls-amd64-linux.o] Error 1 make[3]: Leaving directory `/tmp/valgrind.19977/valgrind/coregrind/m_syscalls' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.19977/valgrind/coregrind' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.19977/valgrind' make: *** [all] Error 2 |
|
From: Tom H. <th...@cy...> - 2005-05-31 02:01:31
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-05-31 03:00:03 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... failed Last 20 lines of log.verbose follow if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../coregrind -I../.. -I../../coregrind/amd64 -I../../coregrind/linux -I../../coregrind/amd64-linux -I../../include -I/tmp/valgrind.22036/vex/pub -DVGA_amd64=1 -DVGO_linux=1 -DVGP_amd64_linux=1 -fpie -m64 -fomit-frame-pointer -DELFSZ=64 -Wmissing-prototypes -Winline -Wall -Wshadow -O -g -Wno-long-long -MT syscalls-amd64-linux.o -MD -MP -MF ".deps/syscalls-amd64-linux.Tpo" -c -o syscalls-amd64-linux.o syscalls-amd64-linux.c; \ then mv -f ".deps/syscalls-amd64-linux.Tpo" ".deps/syscalls-amd64-linux.Po"; else rm -f ".deps/syscalls-amd64-linux.Tpo"; exit 1; fi syscalls-amd64-linux.c:253: warning: no previous prototype for `vgArch_main_thread_wrapper' syscalls-amd64-linux.c: In function `vgArch_main_thread_wrapper': syscalls-amd64-linux.c:256: error: `vgPlain_master_tid' undeclared (first use in this function) syscalls-amd64-linux.c:256: error: (Each undeclared identifier is reported only once syscalls-amd64-linux.c:256: error: for each function it appears in.) syscalls-amd64-linux.c:261: error: `vgArch_thread_wrapper' undeclared (first use in this function) syscalls-amd64-linux.c: In function `start_thread': syscalls-amd64-linux.c:274: error: `vgArch_thread_wrapper' used prior to declaration syscalls-amd64-linux.c:274: warning: implicit declaration of function `vgArch_thread_wrapper' syscalls-amd64-linux.c:284: error: `vgPlain_master_tid' undeclared (first use in this function) syscalls-amd64-linux.c:286: error: `VKI_SIGVGCHLD' undeclared (first use in this function) make[3]: *** [syscalls-amd64-linux.o] Error 1 make[3]: Leaving directory `/tmp/valgrind.22036/valgrind/coregrind/m_syscalls' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/valgrind.22036/valgrind/coregrind' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/valgrind.22036/valgrind' make: *** [all] Error 2 |