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
(5) |
2
(15) |
3
(20) |
|
4
(4) |
5
(11) |
6
(8) |
7
(36) |
8
(23) |
9
(6) |
10
(4) |
|
11
(4) |
12
(19) |
13
(17) |
14
(33) |
15
(16) |
16
(17) |
17
(4) |
|
18
(4) |
19
(30) |
20
(22) |
21
(23) |
22
(29) |
23
(20) |
24
(12) |
|
25
(7) |
26
(33) |
27
(10) |
28
(12) |
29
(19) |
30
(15) |
31
(8) |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 23:28:45
|
On Thu, Jan 15, 2009 at 10:19 AM, Nicholas Nethercote <n.n...@gm...> wrote: >> Looking in m_debuginfo, there are a number of OffTs, and I think >> only these two >> >> ./priv_storage.h: OffT rx_map_foff; /* is the .text segment mapping */ >> ./priv_storage.h: OffT rw_map_foff; >> >> are really file offsets. [not 100% sure about that tho.] > > There are a number I wasn't sure about too, I'll look at them again. What about the .*_bias fields in struct _DebugInfo in m_debuginfo/priv_storage.h? I think they are, but VG_(seginfo_get_text_bias) returns a ULong. Perhaps it should return a PtrdiffT, all the places where it's used (only in Callgrind) it treats it like a PtrdiffT. N |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 23:19:08
|
On Thu, Jan 15, 2009 at 9:57 AM, Julian Seward <js...@ac...> wrote: > > So Darwin has off_t as signed 64, but why do we care? We're not > including any system headers on Darwin, right? Actually, we are. For copyright reasons. Sigh. >> Perhaps we could get rid of the OffT type altogether, only have the >> unambiguous Off64T, and give the relevant arguments in these functions >> the Off64T type. On 32-bit platforms, those functions would then have >> to truncate the args before calling the relevant syscall but that >> should be ok. > > That sounds plausible, yes. So the existing places in the Linux port > where OffT is incorrectly used (that is, for anything which isn't a file > offset) would become Word? I'm using PtrdiffT, since the ones being changed are all memory offsets. It's not a clear-cut decision, but PtrdiffT seems reasonable. It's equivalent to Word. > Looking in m_debuginfo, there are a number of OffTs, and I think > only these two > > ./priv_storage.h: OffT rx_map_foff; /* is the .text segment mapping */ > ./priv_storage.h: OffT rw_map_foff; > > are really file offsets. [not 100% sure about that tho.] There are a number I wasn't sure about too, I'll look at them again. N |
|
From: Julian S. <js...@ac...> - 2009-01-14 23:12:15
|
> However, it seems like off_t is actually a signed type and always
> 64-bit on Darwin:
>
> /usr/include/{stdio,aio,fcntl,mman,socket,stat,types,unistd}.h:
> typedef __darwin_off_t off_t;
>
> /usr/include/sys/_types.h:
> typedef __int64_t __darwin_off_t;
So Darwin has off_t as signed 64, but why do we care? We're not
including any system headers on Darwin, right?
> Perhaps we could get rid of the OffT type altogether, only have the
> unambiguous Off64T, and give the relevant arguments in these functions
> the Off64T type. On 32-bit platforms, those functions would then have
> to truncate the args before calling the relevant syscall but that
> should be ok.
That sounds plausible, yes. So the existing places in the Linux port
where OffT is incorrectly used (that is, for anything which isn't a file
offset) would become Word?
Looking in m_debuginfo, there are a number of OffTs, and I think
only these two
./priv_storage.h: OffT rx_map_foff; /* is the .text segment mapping */
./priv_storage.h: OffT rw_map_foff;
are really file offsets. [not 100% sure about that tho.]
> (I'd also add some comments to pub_tool_basics.h
> explaining a lot of this!)
Good.
J
|
|
From: Julian S. <js...@ac...> - 2009-01-14 22:48:02
|
> What's the difference between the 'Addr' and 'AddrH' types > (pub_tool_basics.h)? AddrH was intended to be "Addr on the host", for the notional case where host word size != guest word size. But since the assumption that host arch == guest arch is now so deeply wired in, it's a pretty pointless distinction now. To be honest I'd forgotten that AddrH even existed. J |
|
From: Julian S. <js...@ac...> - 2009-01-14 22:46:11
|
> Any reason for the use of SysRes for only some of them? Not really, it's all a bit ad-hoc. I think a lot of these started out as returning Int, as that's closest to what the standard C library says (eg, see "man 2 rename"), but morphed into SysRes at some point where we needed to see what the actual error values are, rather than merely needing to distinguish between failure and success. Overall SysRes seems more systematic and reliable to me. J |
|
From: <sv...@va...> - 2009-01-14 22:40:00
|
Author: njn
Date: 2009-01-14 22:09:54 +0000 (Wed, 14 Jan 2009)
New Revision: 8956
Log:
DARWIN/helgrind/tests/Makefile.am
DARWIN/drd/tests/Makefile.am
Comment-only changes.
Modified:
branches/DARWIN/drd/tests/Makefile.am
branches/DARWIN/helgrind/tests/Makefile.am
Modified: branches/DARWIN/drd/tests/Makefile.am
===================================================================
--- branches/DARWIN/drd/tests/Makefile.am 2009-01-14 06:54:49 UTC (rev 8955)
+++ branches/DARWIN/drd/tests/Makefile.am 2009-01-14 22:09:54 UTC (rev 8956)
@@ -267,6 +267,7 @@
# DDD: not sure if these ones should work on Darwin or not... if not, should
# be moved into x86-linux/.
# (Darwin pthreads doesn't seem to support barriers.)
+# [barriers and spinlocks are optional in pthreads]
if ! VGO_DARWIN
check_PROGRAMS += \
bar_bad \
Modified: branches/DARWIN/helgrind/tests/Makefile.am
===================================================================
--- branches/DARWIN/helgrind/tests/Makefile.am 2009-01-14 06:54:49 UTC (rev 8955)
+++ branches/DARWIN/helgrind/tests/Makefile.am 2009-01-14 22:09:54 UTC (rev 8956)
@@ -157,6 +157,7 @@
# DDD: not sure if these ones should work on Darwin or not... if not, should
# be moved into x86-linux/.
# (Darwin pthreads doesn't seem to support barriers.)
+# [barriers and spinlocks are optional in pthreads]
if ! VGO_DARWIN
check_PROGRAMS += \
bar_bad \
|
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 22:38:02
|
include/pub_tool_libcfile.h has this: extern SysRes VG_(open) ( const Char* pathname, Int flags, Int mode ); extern void VG_(close) ( Int fd ); extern Int VG_(read) ( Int fd, void* buf, Int count); extern Int VG_(write) ( Int fd, const void* buf, Int count); extern Int VG_(pipe) ( Int fd[2] ); extern Off64T VG_(lseek64)( Int fd, Off64T offset, Int whence ); extern SysRes VG_(stat) ( Char* file_name, struct vg_stat* buf ); extern Int VG_(fstat) ( Int fd, struct vg_stat* buf ); extern SysRes VG_(dup) ( Int oldfd ); extern SysRes VG_(dup2) ( Int oldfd, Int newfd ); extern Int VG_(rename) ( Char* old_name, Char* new_name ); extern Int VG_(unlink) ( Char* file_name ); Any reason for the use of SysRes for only some of them? Nick |
|
From: Greg P. <gp...@ap...> - 2009-01-14 22:37:01
|
On Jan 14, 2009, at 2:04 PM, Nicholas Nethercote wrote:
>
> However, it seems like off_t is actually a signed type and always
> 64-bit on Darwin:
>
> /usr/include/{stdio,aio,fcntl,mman,socket,stat,types,unistd}.h:
> typedef __darwin_off_t off_t;
>
> /usr/include/sys/_types.h:
> typedef __int64_t __darwin_off_t;
>
> Greg also introduced this:
>
> typedef Word PtrdiffT; // 32 64
>
> and replaced two uses of OffT with PtrdiffT. I tried changing Greg's
> definition of OffT back to Word but it broke the Darwin port.
>
> So, something needs to be done, and I'd really like to avoid having
> different definitions of OffT on different platforms if possible. One
> way to minimise the problem is to remove some of our uses of OffT.
> According to http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html
> ,
> 'off_t' should be used for file sizes. We use it in various other
> ways: offsets in memory (eg. the 'rwoffset' field in the AddrInfo
> type), and offsets into the guest state (eg. mc_post_reg_write).
> Perhaps 'PtrdiffT' should be used for some of these, or 'SizeT', or
> 'Word'.
That's what I was trying to distinguish: OffT for file offsets (like
POSIX off_t), and PtrdiffT for memory offsets (like POSIX ptrdiff_t).
Darwin's off_t is in fact always 64-bit, and of course memory offsets
depend on the pointer size.
--
Greg Parker gp...@ap... Runtime Wrangler
|
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 22:32:28
|
On Wed, Jan 14, 2009 at 7:17 PM, Julian Seward <js...@ac...> wrote:
>
>> include/pub_tool_basics.h has this:
>>
>> typedef Word OffT; // 32 64
>> typedef ULong Off64T; // 64 64
>>
>> Surely Off64T should be signed, and thus a Long?
>
> I couldn't find a definition for off_t and off64_t in POSIX although
> I must admit I didn't search particularly thoroughly.
I also couldn't find one.
> The GNU headers are as usual a total maze, but /usr/include/bits/types.h
> and typesizes.h has this
>
> #define __OFF_T_TYPE __SLONGWORD_TYPE
> #define __OFF64_T_TYPE __SQUAD_TYPE
>
> #define __SLONGWORD_TYPE long int
>
> if __WORDSIZE == 32
> # define __SQUAD_TYPE __quad_t
> # define __UQUAD_TYPE __u_quad_t
>
> #elif __WORDSIZE == 64
> # define __SQUAD_TYPE long int
> # define __UQUAD_TYPE unsigned long int
>
> which seems to imply that Off64T should indeed be signed. So I agree.
>
> I wonder if anything will break if it is changed to being signed.
> There are very few places where it's used, so hopefully nothing.
The Darwin branch uses these definitions instead:
typedef ULong OffT; // 32 64
typedef ULong Off64T; // 64 64
The different OffT definition causes a number of regression tests to
fail, mostly like this:
< Address 0x........ is 1 bytes before a block of size 8 alloc'd
< at 0x........: malloc (vg_replace_malloc.c:...)
---
> Address 0x........ is 18,446,744,073,709,551,607 bytes after a block of size 8 alloc'd
> at 0x........: malloc (in /home/njn/grind/ws2/memcheck/vgpreload_memcheck-amd64-linux.so)
Clearly a signedness problem with the block offset.
However, it seems like off_t is actually a signed type and always
64-bit on Darwin:
/usr/include/{stdio,aio,fcntl,mman,socket,stat,types,unistd}.h:
typedef __darwin_off_t off_t;
/usr/include/sys/_types.h:
typedef __int64_t __darwin_off_t;
Greg also introduced this:
typedef Word PtrdiffT; // 32 64
and replaced two uses of OffT with PtrdiffT. I tried changing Greg's
definition of OffT back to Word but it broke the Darwin port.
So, something needs to be done, and I'd really like to avoid having
different definitions of OffT on different platforms if possible. One
way to minimise the problem is to remove some of our uses of OffT.
According to http://www.opengroup.org/onlinepubs/009695399/basedefs/sys/types.h.html,
'off_t' should be used for file sizes. We use it in various other
ways: offsets in memory (eg. the 'rwoffset' field in the AddrInfo
type), and offsets into the guest state (eg. mc_post_reg_write).
Perhaps 'PtrdiffT' should be used for some of these, or 'SizeT', or
'Word'.
If that's done, I think the only uses of OffT remaining are for
VG_(lseek) and VG_(pread) in m_libcfile.c. (On the trunk, VG_(pread)
currently uses an Int for it's 3rd arg but it should be an OffT.)
Perhaps we could get rid of the OffT type altogether, only have the
unambiguous Off64T, and give the relevant arguments in these functions
the Off64T type. On 32-bit platforms, those functions would then have
to truncate the args before calling the relevant syscall but that
should be ok. (I'd also add some comments to pub_tool_basics.h
explaining a lot of this!)
How does that sound? It's all very tedious and complex, but it's
important to get these things right.
N
|
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 22:30:03
|
On Thu, Jan 15, 2009 at 9:04 AM, Nicholas Nethercote <n.n...@gm...> wrote: > > If that's done, I think the only uses of OffT remaining are for > VG_(lseek) and VG_(pread) in m_libcfile.c. (On the trunk, VG_(pread) > currently uses an Int for it's 3rd arg but it should be an OffT.) > Perhaps we could get rid of the OffT type altogether, only have the > unambiguous Off64T, and give the relevant arguments in these functions > the Off64T type. On 32-bit platforms, those functions would then have > to truncate the args before calling the relevant syscall but that > should be ok. They could be renamed as VG_(lseek64) and VG_(pread64), which is what libc calls its 64-bit versions of these functions. Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 22:27:18
|
Hi, What's the difference between the 'Addr' and 'AddrH' types (pub_tool_basics.h)? Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 21:17:03
|
On Wed, Jan 14, 2009 at 7:08 PM, Bart Van Assche <bar...@gm...> wrote: > > Support for barriers and spinlocks is optional. From > http://www.opengroup.org/onlinepubs/000095399/help/codes.html: Thanks, that's useful to know. > IMHO a more elegant solution would be to have automake variables available > that allow to conditionally compile the regression tests that depend on > barriers and spinlocks. Could you give an example of what you mean? Nick |
|
From: Bart V. A. <bar...@gm...> - 2009-01-14 10:35:08
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) started at 2009-01-14 03:58:34 EST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 401 tests, 39 stderr failures, 12 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) massif/tests/long-names (post) massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/zeropage (stdout) none/tests/async-sigs (stdout) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/res_search (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 401 tests, 39 stderr failures, 11 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) massif/tests/long-names (post) massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/zeropage (stdout) none/tests/async-sigs (stdout) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short 2009-01-14 04:46:44.000000000 -0500 --- new.short 2009-01-14 05:35:04.000000000 -0500 *************** *** 8,10 **** ! == 401 tests, 39 stderr failures, 11 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) --- 8,10 ---- ! == 401 tests, 39 stderr failures, 12 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) *************** *** 61,62 **** --- 61,63 ---- none/tests/ppc64/round (stdout) + none/tests/res_search (stdout) |
|
From: Bart V. A. <bar...@gm...> - 2009-01-14 08:38:46
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) started at 2009-01-14 02:00:01 EST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 401 tests, 39 stderr failures, 11 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) massif/tests/long-names (post) massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/zeropage (stdout) none/tests/async-sigs (stdout) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 401 tests, 41 stderr failures, 12 stdout failures, 2 post failures == drd/tests/matinv (stdout) drd/tests/matinv (stderr) drd/tests/pth_create_chain (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) massif/tests/long-names (post) massif/tests/overloaded-new (post) memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/zeropage (stdout) none/tests/async-sigs (stdout) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Jan 14 02:48:11 2009 --- new.short Wed Jan 14 03:38:41 2009 *************** *** 8,13 **** ! == 401 tests, 41 stderr failures, 12 stdout failures, 2 post failures == ! drd/tests/matinv (stdout) ! drd/tests/matinv (stderr) ! drd/tests/pth_create_chain (stderr) exp-ptrcheck/tests/bad_percentify (stderr) --- 8,10 ---- ! == 401 tests, 39 stderr failures, 11 stdout failures, 2 post failures == exp-ptrcheck/tests/bad_percentify (stderr) |
|
From: Julian S. <js...@ac...> - 2009-01-14 08:32:10
|
> include/pub_tool_basics.h has this: > > typedef Word OffT; // 32 64 > typedef ULong Off64T; // 64 64 > > Surely Off64T should be signed, and thus a Long? I couldn't find a definition for off_t and off64_t in POSIX although I must admit I didn't search particularly thoroughly. The GNU headers are as usual a total maze, but /usr/include/bits/types.h and typesizes.h has this #define __OFF_T_TYPE __SLONGWORD_TYPE #define __OFF64_T_TYPE __SQUAD_TYPE #define __SLONGWORD_TYPE long int if __WORDSIZE == 32 # define __SQUAD_TYPE __quad_t # define __UQUAD_TYPE __u_quad_t #elif __WORDSIZE == 64 # define __SQUAD_TYPE long int # define __UQUAD_TYPE unsigned long int which seems to imply that Off64T should indeed be signed. So I agree. I wonder if anything will break if it is changed to being signed. There are very few places where it's used, so hopefully nothing. J |
|
From: Bart V. A. <bar...@gm...> - 2009-01-14 08:08:35
|
Hello Nicholas, I had a look at the diffs between the trunk and the DARWIN branch for the DRD tool, and found this: +# DDD: not sure if these ones should work on Darwin or not... if not, should +# be moved into x86-linux/. +# (Darwin pthreads doesn't seem to support barriers.) +if ! VGO_DARWIN + check_PROGRAMS += \ + bar_bad \ + bar_trivial \ + matinv \ + pth_barrier \ + pth_barrier_reinit \ + pth_spinlock \ + sigalrm \ + trylock +endif + Support for barriers and spinlocks is optional. From http://www.opengroup.org/onlinepubs/000095399/help/codes.html: [BAR<http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap01.html#tag_01_05_01> ][image: [Option Start]] Barriers [image: [Option End]] The functionality described is optional. The functionality described is also an extension to the ISO C standard. Where applicable, functions are marked with the BAR margin legend in the SYNOPSIS section. Where additional semantics apply to a function, the material is identified by use of the BAR margin legend. [SPI<http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap01.html#tag_01_05_01> ][image: [Option Start]] Spin Locks [image: [Option End]] The functionality described is optional. The functionality described is also an extension to the ISO C standard. Where applicable, functions are marked with the SPI margin legend in the SYNOPSIS section. Where additional semantics apply to a function, the material is identified by use of the SPI margin legend. IMHO a more elegant solution would be to have automake variables available that allow to conditionally compile the regression tests that depend on barriers and spinlocks. Bart. |
|
From: Bart V. A. <bar...@gm...> - 2009-01-14 07:26:02
|
On Wed, Jan 14, 2009 at 8:23 AM, Nicholas Nethercote <n.n...@gm...> wrote: > On Wed, Jan 14, 2009 at 6:20 PM, Bart Van Assche > <bar...@gm...> wrote: >> Sorry, I didn't look closely enough to the diff. I do not understand >> why linux-timerfd-syscall.* was renamed into timerfd-syscall.*. AFAIK >> the timerfd system call only exists in Linux and not in other kernels >> (FreeBSD, Darwin) ? > > I moved those tests into a linux/ subdirectory. Hence the original log message: > > Rename linux/linux-* as linux/*. Thanks, I looked over that message. Bart. |
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 07:23:09
|
On Wed, Jan 14, 2009 at 6:20 PM, Bart Van Assche <bar...@gm...> wrote: > Sorry, I didn't look closely enough to the diff. I do not understand > why linux-timerfd-syscall.* was renamed into timerfd-syscall.*. AFAIK > the timerfd system call only exists in Linux and not in other kernels > (FreeBSD, Darwin) ? I moved those tests into a linux/ subdirectory. Hence the original log message: Rename linux/linux-* as linux/*. Nick |
|
From: Bart V. A. <bar...@gm...> - 2009-01-14 07:20:24
|
On Tue, Jan 13, 2009 at 11:57 PM, Nicholas Nethercote <n.n...@gm...> wrote: > On Tue, Jan 13, 2009 at 8:18 PM, Bart Van Assche > <bar...@gm...> wrote: >> On Tue, Jan 13, 2009 at 5:25 AM, <sv...@va...> wrote: >>> Modified: branches/DARWIN/memcheck/tests/linux/Makefile.am >>> =================================================================== >>> --- branches/DARWIN/memcheck/tests/linux/Makefile.am 2009-01-13 03:32:52 UTC (rev 8943) >>> +++ branches/DARWIN/memcheck/tests/linux/Makefile.am 2009-01-13 04:25:04 UTC (rev 8944) >>> @@ -1,12 +1,12 @@ >>> noinst_SCRIPTS = filter_stderr >>> >>> EXTRA_DIST = $(noinst_SCRIPTS) \ >>> - linux-capget linux-capget.stderr.exp \ >>> - linux-timerfd-syscall linux-timerfd-syscall.stderr.exp >>> + capget capget.stderr.exp \ >>> + timerfd-syscall timerfd-syscall.stderr.exp >>> >>> check_PROGRAMS = \ >>> - linux-capget \ >>> - linux-timerfd-syscall >>> + capget \ >>> + timerfd-syscall >>> >>> AM_CPPFLAGS = -I$(top_srcdir)/include >>> AM_CFLAGS = $(WERROR) @FLAG_M32@ -Winline -Wall -Wshadow -g \ >>> >>> [ ... ] >> >> Hello Nicholas, >> >> Are you aware that autoconf/automake supports conditional compilation >> ? You can find an example in drd/tests/Makefile.am, e.g. in the >> following lines: >> >> if HAVE_BOOST_1_35 >> check_PROGRAMS += boost_thread >> endif > > Yes, it's used in lots of our Makefile.am files. But what is the > relevance for this file? Sorry, I didn't look closely enough to the diff. I do not understand why linux-timerfd-syscall.* was renamed into timerfd-syscall.*. AFAIK the timerfd system call only exists in Linux and not in other kernels (FreeBSD, Darwin) ? Bart. |
|
From: Bart V. A. <bar...@gm...> - 2009-01-14 07:14:51
|
Met vriendelijke groeten, Bart Van Assche. On Tue, Jan 13, 2009 at 11:57 PM, Nicholas Nethercote <n.n...@gm...> wrote: > > On Tue, Jan 13, 2009 at 8:18 PM, Bart Van Assche > <bar...@gm...> wrote: > > On Tue, Jan 13, 2009 at 5:25 AM, <sv...@va...> wrote: > >> Modified: branches/DARWIN/memcheck/tests/linux/Makefile.am > >> =================================================================== > >> --- branches/DARWIN/memcheck/tests/linux/Makefile.am 2009-01-13 03:32:52 UTC (rev 8943) > >> +++ branches/DARWIN/memcheck/tests/linux/Makefile.am 2009-01-13 04:25:04 UTC (rev 8944) > >> @@ -1,12 +1,12 @@ > >> noinst_SCRIPTS = filter_stderr > >> > >> EXTRA_DIST = $(noinst_SCRIPTS) \ > >> - linux-capget linux-capget.stderr.exp \ > >> - linux-timerfd-syscall linux-timerfd-syscall.stderr.exp > >> + capget capget.stderr.exp \ > >> + timerfd-syscall timerfd-syscall.stderr.exp > >> > >> check_PROGRAMS = \ > >> - linux-capget \ > >> - linux-timerfd-syscall > >> + capget \ > >> + timerfd-syscall > >> > >> AM_CPPFLAGS = -I$(top_srcdir)/include > >> AM_CFLAGS = $(WERROR) @FLAG_M32@ -Winline -Wall -Wshadow -g \ > >> > >> [ ... ] > > > > Hello Nicholas, > > > > Are you aware that autoconf/automake supports conditional compilation > > ? You can find an example in drd/tests/Makefile.am, e.g. in the > > following lines: > > > > if HAVE_BOOST_1_35 > > check_PROGRAMS += boost_thread > > endif > > Yes, it's used in lots of our Makefile.am files. But what is the > relevance for this file? The memcheck regression tests linux-capget and linux-timerfd-syscall are relevant for the Linux kernel but not for other kernels. Conditional compilation would allow to compile these only on Linux systems and not on other systems. Bart. |
|
From: <sv...@va...> - 2009-01-14 06:54:56
|
Author: njn
Date: 2009-01-14 06:54:49 +0000 (Wed, 14 Jan 2009)
New Revision: 8955
Log:
Make more of the regtest work on Linux. In particular, use standard option
values and error message forms.
Modified:
branches/DARWIN/coregrind/m_debuginfo/debuginfo.c
branches/DARWIN/coregrind/m_errormgr.c
branches/DARWIN/coregrind/m_options.c
branches/DARWIN/coregrind/pub_core_options.h
branches/DARWIN/memcheck/tests/addressable.c
Modified: branches/DARWIN/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/debuginfo.c 2009-01-14 06:41:58 UTC (rev 8954)
+++ branches/DARWIN/coregrind/m_debuginfo/debuginfo.c 2009-01-14 06:54:49 UTC (rev 8955)
@@ -3066,6 +3066,7 @@
}
+// DDD: not used?
Addr VG_(dlsym)(Char *fnname)
{
DebugInfo const *si = NULL;
Modified: branches/DARWIN/coregrind/m_errormgr.c
===================================================================
--- branches/DARWIN/coregrind/m_errormgr.c 2009-01-14 06:41:58 UTC (rev 8954)
+++ branches/DARWIN/coregrind/m_errormgr.c 2009-01-14 06:54:49 UTC (rev 8955)
@@ -301,10 +301,6 @@
VG_(message)(Vg_UserMsg, "Thread %d:", err->tid );
last_tid_printed = err->tid;
}
- VG_(message)(Vg_UserMsg, "");
- VG_(message)(Vg_UserMsg, "");
- VG_(message)(Vg_UserMsg, "ERROR");
- VG_(message)(Vg_UserMsg, "");
}
switch (err->ekind) {
Modified: branches/DARWIN/coregrind/m_options.c
===================================================================
--- branches/DARWIN/coregrind/m_options.c 2009-01-14 06:41:58 UTC (rev 8954)
+++ branches/DARWIN/coregrind/m_options.c 2009-01-14 06:54:49 UTC (rev 8955)
@@ -80,9 +80,9 @@
Bool VG_(clo_trace_sched) = False;
Bool VG_(clo_profile_heap) = False;
Int VG_(clo_dump_error) = 0;
-Int VG_(clo_backtrace_size) = 40; // GrP
+Int VG_(clo_backtrace_size) = 12;
Char* VG_(clo_sim_hints) = NULL;
-Bool VG_(clo_sym_offsets) = True; // GrP
+Bool VG_(clo_sym_offsets) = False;
Bool VG_(clo_read_var_info) = False;
Bool VG_(clo_run_libc_freeres) = True;
Bool VG_(clo_track_fds) = False;
Modified: branches/DARWIN/coregrind/pub_core_options.h
===================================================================
--- branches/DARWIN/coregrind/pub_core_options.h 2009-01-14 06:41:58 UTC (rev 8954)
+++ branches/DARWIN/coregrind/pub_core_options.h 2009-01-14 06:54:49 UTC (rev 8955)
@@ -53,9 +53,9 @@
/* The debugger command? default: whatever gdb ./configure found */
extern Char* VG_(clo_db_command);
/* Listen for a remote debugger? default: YES (GrP fixme no?) */
-extern Bool VG_(clo_db_listen);
+extern Bool VG_(clo_db_listen); // DDD: undocumented
/* TCP port to listen for remote debugger default: 2159 (gdb-remote) */
-extern Int VG_(clo_db_listen_port);
+extern Int VG_(clo_db_listen_port); // DDD: undocumented
/* Generating a suppression for each error? default: 0 (NO)
Other values: 1 (yes, but ask user), 2 (yes, don't ask user) */
extern Int VG_(clo_gen_suppressions);
Modified: branches/DARWIN/memcheck/tests/addressable.c
===================================================================
--- branches/DARWIN/memcheck/tests/addressable.c 2009-01-14 06:41:58 UTC (rev 8954)
+++ branches/DARWIN/memcheck/tests/addressable.c 2009-01-14 06:54:49 UTC (rev 8955)
@@ -12,24 +12,21 @@
static int pgsz;
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS 0
-#endif /* MAP_ANONYMOUS */
-
static char *mm(char *addr, int size, int prot)
{
+ #if defined(__APPLE__)
+ # define MAP_ANONYMOUS MAP_ANON
+ #endif
int flags = MAP_PRIVATE | MAP_ANONYMOUS;
char *ret;
- if (addr)
- flags |= MAP_FIXED;
+ if (addr) flags |= MAP_FIXED;
ret = mmap(addr, size, prot, flags, -1, 0);
if (ret == (char *)-1) {
perror("mmap failed");
exit(1);
}
-
return ret;
}
@@ -37,7 +34,6 @@
static void test1()
{
char *m = mm(0, pgsz * 5, PROT_READ);
-
VALGRIND_CHECK_MEM_IS_DEFINED(m, pgsz*5); /* all defined */
}
|
|
From: <sv...@va...> - 2009-01-14 06:42:03
|
Author: njn
Date: 2009-01-14 06:41:58 +0000 (Wed, 14 Jan 2009)
New Revision: 8954
Log:
DARWIN/tests/cputest.c
Make this file compile on Darwin again.
Modified:
branches/DARWIN/tests/cputest.c
Modified: branches/DARWIN/tests/cputest.c
===================================================================
--- branches/DARWIN/tests/cputest.c 2009-01-14 05:45:54 UTC (rev 8953)
+++ branches/DARWIN/tests/cputest.c 2009-01-14 06:41:58 UTC (rev 8954)
@@ -94,20 +94,20 @@
unsigned int* c, unsigned int* d )
{
__asm__ __volatile__ (
- "push %%eax\n\t"
- "push %%ebx\n\t"
- "push %%ecx\n\t"
- "push %%edx\n\t"
+ "pushl %%eax\n\t"
+ "pushl %%ebx\n\t"
+ "pushl %%ecx\n\t"
+ "pushl %%edx\n\t"
"movl %4, %%eax\n\t"
"cpuid\n\t"
"movl %%eax,%0\n\t"
"movl %%ebx,%1\n\t"
"movl %%ecx,%2\n\t"
"movl %%edx,%3\n\t"
- "pop %%rdx\n\t"
- "pop %%rcx\n\t"
- "pop %%rbx\n\t"
- "pop %%rax\n\t"
+ "popl %%edx\n\t"
+ "popl %%ecx\n\t"
+ "popl %%ebx\n\t"
+ "popl %%eax\n\t"
: "=m" (*a), "=m" (*b), "=m" (*c), "=m" (*d)
: "mr" (n)
);
|
|
From: Nicholas N. <n.n...@gm...> - 2009-01-14 06:38:39
|
Hi, include/pub_tool_basics.h has this: typedef Word OffT; // 32 64 typedef ULong Off64T; // 64 64 Surely Off64T should be signed, and thus a Long? Nick |
|
From: <sv...@va...> - 2009-01-14 05:46:02
|
Author: njn
Date: 2009-01-14 05:45:54 +0000 (Wed, 14 Jan 2009)
New Revision: 8953
Log:
Make the regtests compile on Linux. Lots of them currently fail.
DARWIN/tests/cputest.c
DARWIN/tests/Makefile.am
Fix on Linux, and use the VGP_ constants that match the rest of
Valgrind, and which are easier to understand than the existing ones.
DARWIN/memcheck/tests/linux/timerfd-syscall.c
Fix a broken #include.
Modified:
branches/DARWIN/memcheck/tests/linux/timerfd-syscall.c
branches/DARWIN/tests/Makefile.am
branches/DARWIN/tests/cputest.c
Modified: branches/DARWIN/memcheck/tests/linux/timerfd-syscall.c
===================================================================
--- branches/DARWIN/memcheck/tests/linux/timerfd-syscall.c 2009-01-14 04:53:41 UTC (rev 8952)
+++ branches/DARWIN/memcheck/tests/linux/timerfd-syscall.c 2009-01-14 05:45:54 UTC (rev 8953)
@@ -28,7 +28,7 @@
#define _GNU_SOURCE
-#include "../../config.h"
+#include "../../../config.h"
#include <errno.h>
#include <fcntl.h>
#include <poll.h>
Modified: branches/DARWIN/tests/Makefile.am
===================================================================
--- branches/DARWIN/tests/Makefile.am 2009-01-14 04:53:41 UTC (rev 8952)
+++ branches/DARWIN/tests/Makefile.am 2009-01-14 05:45:54 UTC (rev 8953)
@@ -24,7 +24,9 @@
# generic C ones
cputest_SOURCES = cputest.c
-cputest_CFLAGS = $(AM_CFLAGS) -D__$(VG_ARCH_MAX)__
+cputest_CFLAGS = $(AM_CFLAGS) \
+ -DVGA_$(VG_ARCH_PRI)=1 -DVGO_$(VG_OS)=1 \
+ -DVGP_$(VG_ARCH_PRI)_$(VG_OS)=1
cputest_DEPENDENCIES =
cputest_LDADD =
toobig_allocs_SOURCES = toobig-allocs.c
Modified: branches/DARWIN/tests/cputest.c
===================================================================
--- branches/DARWIN/tests/cputest.c 2009-01-14 04:53:41 UTC (rev 8952)
+++ branches/DARWIN/tests/cputest.c 2009-01-14 05:45:54 UTC (rev 8953)
@@ -23,16 +23,22 @@
NULL
};
-#if !defined(_AIX) && defined(__powerpc__) && !defined(__powerpc64__)
+//-----------------------------------------------------------------------------
+// ppc32-linux
+//---------------------------------------------------------------------------
+#if defined(VGP_ppc32_linux)
static Bool go(char* cpu)
{
if ( strcmp( cpu, "ppc32" ) == 0 )
return True;
return False;
}
-#endif // __powerpc__ (32)
+#endif // VGP_ppc32_linux
-#if !defined(_AIX) && defined(__powerpc__) && defined(__powerpc64__)
+//---------------------------------------------------------------------------
+// ppc64-linux
+//---------------------------------------------------------------------------
+#if defined(VGP_ppc64_linux)
static Bool go(char* cpu)
{
if ( strcmp( cpu, "ppc64" ) == 0 )
@@ -41,9 +47,12 @@
return True;
return False;
}
-#endif // __powerpc__ (64)
+#endif // VGP_ppc64_linux
-#if defined(_AIX)
+//---------------------------------------------------------------------------
+// ppc{32,64}-aix
+//---------------------------------------------------------------------------
+#if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
static Bool go(char* cpu)
{
if (sizeof(void*) == 8) {
@@ -58,33 +67,58 @@
}
return False;
}
-#endif // _AIX
+#endif // VGP_ppc32_aix5 || VGP_ppc64_aix5
-#if !defined(_AIX) && (defined(__i386__) || defined(__x86_64__))
+//---------------------------------------------------------------------------
+// {x86,amd64}-linux (part 1 of 2)
+//---------------------------------------------------------------------------
+#if defined(VGP_x86_linux) || defined(VGP_amd64_linux)
static void cpuid ( unsigned int n,
unsigned int* a, unsigned int* b,
unsigned int* c, unsigned int* d )
{
__asm__ __volatile__ (
- "pushl %%eax\n\t"
- "pushl %%ebx\n\t"
- "pushl %%ecx\n\t"
- "pushl %%edx\n\t"
+ "cpuid"
+ : "=a" (*a), "=b" (*b), "=c" (*c), "=d" (*d) /* output */
+ : "0" (n) /* input */
+ );
+}
+#endif // VGP_x86_linux || VGP_amd64_linux
+
+//---------------------------------------------------------------------------
+// {x86,amd64}-darwin (part 1 of 2)
+//---------------------------------------------------------------------------
+#if defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
+static void cpuid ( unsigned int n,
+ unsigned int* a, unsigned int* b,
+ unsigned int* c, unsigned int* d )
+{
+ __asm__ __volatile__ (
+ "push %%eax\n\t"
+ "push %%ebx\n\t"
+ "push %%ecx\n\t"
+ "push %%edx\n\t"
"movl %4, %%eax\n\t"
"cpuid\n\t"
"movl %%eax,%0\n\t"
"movl %%ebx,%1\n\t"
"movl %%ecx,%2\n\t"
"movl %%edx,%3\n\t"
- "popl %%edx\n\t"
- "popl %%ecx\n\t"
- "popl %%ebx\n\t"
- "popl %%eax\n\t"
+ "pop %%rdx\n\t"
+ "pop %%rcx\n\t"
+ "pop %%rbx\n\t"
+ "pop %%rax\n\t"
: "=m" (*a), "=m" (*b), "=m" (*c), "=m" (*d)
: "mr" (n)
);
}
+#endif // VGP_x86_darwin || VGP_amd64_darwin
+//---------------------------------------------------------------------------
+// {x86,amd64}-{linux,darwin} (part 2 of 2)
+//---------------------------------------------------------------------------
+#if defined(VGP_x86_linux) || defined(VGP_amd64_linux) || \
+ defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
static Bool go(char* cpu)
{
unsigned int level = 0, cmask = 0, dmask = 0, a, b, c, d;
@@ -136,9 +170,13 @@
}
return False;
}
-#endif // !_AIX && (__i386__ || __x86_64__)
+#endif // VGP_x86_linux || VGP_amd64_linux ||
+ // VGP_x86_darwin || VGP_amd64_darwin
+//---------------------------------------------------------------------------
+// main
+//---------------------------------------------------------------------------
int main(int argc, char **argv)
{
int i;
|
|
From: Julian S. <js...@ac...> - 2009-01-14 05:15:10
|
> >> By the way, I just noticed that the freshmeat entry for Valgrind still > >> points to the 3.3.1 tarball: see also > >> http://freshmeat.net/projects/valgrind/ > > > > Nothing to do with me! I have no idea who edits/maintains the freshmeat > > entry. > > Sorry, my confusion. Apparently the entry is maintained by "esigra > (at) gmail (dot) com" (Erik Sigra ?). One way to get this information > updated is to ask Erik. The freshmeat website also provides a way to > transfer project ownership. Maybe he'll get round to it eventually? For all the other releases, he seems to have noticed the new release himself. [I assume.] J |