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
(32) |
2
(22) |
3
(47) |
4
(29) |
5
(18) |
6
(16) |
|
7
(21) |
8
(29) |
9
(23) |
10
(68) |
11
(20) |
12
(17) |
13
(17) |
|
14
(27) |
15
(26) |
16
(21) |
17
(13) |
18
(19) |
19
(29) |
20
(13) |
|
21
(9) |
22
(8) |
23
(29) |
24
(56) |
25
(21) |
26
(46) |
27
(33) |
|
28
(25) |
29
(41) |
30
(35) |
31
(28) |
|
|
|
|
From: <sv...@va...> - 2005-08-25 22:55:21
|
Author: njn
Date: 2005-08-25 23:55:19 +0100 (Thu, 25 Aug 2005)
New Revision: 4515
Log:
comment-only wibbles
Modified:
trunk/coregrind/m_pthreadmodel.c
trunk/coregrind/m_redir.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/pub_core_redir.h
trunk/coregrind/vg_preloaded.c
Modified: trunk/coregrind/m_pthreadmodel.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_pthreadmodel.c 2005-08-25 22:53:57 UTC (rev 4514)
+++ trunk/coregrind/m_pthreadmodel.c 2005-08-25 22:55:19 UTC (rev 4515)
@@ -4,8 +4,8 @@
/*--------------------------------------------------------------------*/
=20
/*
- This file is part of Valgrind, an extensible x86 protected-mode
- emulator for monitoring program execution on x86-Unixes.
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
=20
Copyright (C) 2005 Jeremy Fitzhardinge
je...@go...
Modified: trunk/coregrind/m_redir.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_redir.c 2005-08-25 22:53:57 UTC (rev 4514)
+++ trunk/coregrind/m_redir.c 2005-08-25 22:55:19 UTC (rev 4515)
@@ -1,11 +1,11 @@
+
/*--------------------------------------------------------------------*/
-/*--- Management of function redirection and wrapping. ---*/
-/*--- vg_redir.c ---*/
+/*--- Function replacement and wrapping. m_redir.c ---*/
/*--------------------------------------------------------------------*/
=20
/*
- This file is part of Valgrind, an extensible x86 protected-mode
- emulator for monitoring program execution on x86-Unixes.
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
=20
Copyright (C) 2000-2005 Julian Seward=20
js...@ac...
@@ -757,3 +757,7 @@
//::=20
//:: VG_(SkipList_Insert)(&wrapper_returns, ret);
//:: }
+
+/*--------------------------------------------------------------------*/
+/*--- end ---*/
+/*--------------------------------------------------------------------*/
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-08-25 22:53:57 UTC (rev =
4514)
+++ trunk/coregrind/m_scheduler/scheduler.c 2005-08-25 22:55:19 UTC (rev =
4515)
@@ -4,8 +4,8 @@
/*--------------------------------------------------------------------*/
=20
/*
- This file is part of Valgrind, an extensible x86 protected-mode
- emulator for monitoring program execution on x86-Unixes.
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
=20
Copyright (C) 2000-2005 Julian Seward=20
js...@ac...
Modified: trunk/coregrind/pub_core_redir.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/pub_core_redir.h 2005-08-25 22:53:57 UTC (rev 4514)
+++ trunk/coregrind/pub_core_redir.h 2005-08-25 22:55:19 UTC (rev 4515)
@@ -1,6 +1,6 @@
=20
/*--------------------------------------------------------------------*/
-/*--- Code redirections. pub_core_redir.h ---*/
+/*--- Function replacement and wrapping. pub_core_redir.h ---*/
/*--------------------------------------------------------------------*/
=20
/*
@@ -39,8 +39,6 @@
// functions are when they get loaded.
// - function wrapping: add calls to code before and after client
// functions execute, for inspection and/or modification.
-//
-// It's possible that this should be two or three modules.
//--------------------------------------------------------------------
=20
#include "pub_tool_redir.h"
Modified: trunk/coregrind/vg_preloaded.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/vg_preloaded.c 2005-08-25 22:53:57 UTC (rev 4514)
+++ trunk/coregrind/vg_preloaded.c 2005-08-25 22:55:19 UTC (rev 4515)
@@ -4,8 +4,8 @@
/*--------------------------------------------------------------------*/
=20
/*
- This file is part of Valgrind, an extensible x86 protected-mode
- emulator for monitoring program execution on x86-Unixes.
+ This file is part of Valgrind, a dynamic binary instrumentation
+ framework.
=20
Copyright (C) 2000-2005 Julian Seward=20
js...@ac...
|
|
From: <sv...@va...> - 2005-08-25 22:54:02
|
Author: njn
Date: 2005-08-25 23:53:57 +0100 (Thu, 25 Aug 2005)
New Revision: 4514
Log:
Rename vg_preload_core.so to vgpreload_core.so to be consistent with
tool preload modules, which are called vgpreload_<tool>.so. Also
fixed a couple of comments relating to this.
(This need not be merged into 3_0_X.)
Modified:
trunk/coregrind/Makefile.am
trunk/coregrind/m_libcproc.c
trunk/coregrind/m_main.c
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/pub_core_redir.h
trunk/include/pub_tool_redir.h
Modified: trunk/coregrind/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/coregrind/Makefile.am 2005-08-25 01:52:52 UTC (rev 4513)
+++ trunk/coregrind/Makefile.am 2005-08-25 22:53:57 UTC (rev 4514)
@@ -30,7 +30,7 @@
=20
val_PROGRAMS =3D \
stage2 \
- vg_preload_core.so
+ vgpreload_core.so
=20
noinst_HEADERS =3D \
coregrind.h \
@@ -171,12 +171,12 @@
stage2_LDADD=3D $(stage2_extra) \
-ldl
=20
-vg_preload_core_so_SOURCES =3D vg_preloaded.c
-vg_preload_core_so_CFLAGS =3D $(AM_CFLAGS) -fpic
-vg_preload_core_so_LDADD =3D -ldl
-vg_preload_core_so_LDFLAGS =3D \
+vgpreload_core_so_SOURCES =3D vg_preloaded.c
+vgpreload_core_so_CFLAGS =3D $(AM_CFLAGS) -fpic
+vgpreload_core_so_LDADD =3D -ldl
+vgpreload_core_so_LDFLAGS =3D \
-shared \
- -Wl,--soname,vg_preload_core.so \
+ -Wl,--soname,vgpreload_core.so \
-Wl,-z,initfirst
=20
# Extract ld's default linker script and hack it to our needs.
Modified: trunk/coregrind/m_libcproc.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_libcproc.c 2005-08-25 01:52:52 UTC (rev 4513)
+++ trunk/coregrind/m_libcproc.c 2005-08-25 22:53:57 UTC (rev 4514)
@@ -206,7 +206,7 @@
buf =3D VG_(arena_malloc)(VG_AR_CORE, VG_(strlen)(VG_(libdir)) + 20);
=20
// Remove Valgrind-specific entries from LD_*.
- VG_(sprintf)(buf, "%s*/vg_preload_core.so", VG_(libdir));
+ VG_(sprintf)(buf, "%s*/vgpreload_core.so", VG_(libdir));
mash_colon_env(ld_preload_str, buf);
VG_(sprintf)(buf, "%s*/vgpreload_*.so", VG_(libdir));
mash_colon_env(ld_preload_str, buf);
Modified: trunk/coregrind/m_main.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_main.c 2005-08-25 01:52:52 UTC (rev 4513)
+++ trunk/coregrind/m_main.c 2005-08-25 22:53:57 UTC (rev 4514)
@@ -561,7 +561,7 @@
=20
/* Prepare the client's environment. This is basically a copy of our
environment, except:
- LD_PRELOAD=3D$VALGRINDLIB/vg_preload_core.so:($VALGRINDLIB/vgpreloa=
d_TOOL.so:)?$LD_PRELOAD
+ LD_PRELOAD=3D$VALGRINDLIB/vgpreload_core.so:($VALGRINDLIB/vgpreload=
_TOOL.so:)?$LD_PRELOAD
=20
If this is missing, then it is added.
=20
@@ -572,7 +572,7 @@
*/
static char **fix_environment(char **origenv, const char *preload)
{
- static const char preload_core_so[] =3D "vg_preload_core.so";
+ static const char preload_core_so[] =3D "vgpreload_core.so";
static const char ld_preload[] =3D "LD_PRELOAD=3D";
static const char valgrind_clo[] =3D VALGRINDCLO "=3D";
static const int ld_preload_len =3D sizeof(ld_preload)-1;
@@ -586,8 +586,7 @@
int envc;
const int preloadlen =3D (preload =3D=3D NULL) ? 0 : strlen(preload);
=20
- /* Find the vg_preload_core.so; also make room for the tool preload
- library */
+ // Find the vgpreload_core.so; also make room for the tool preload li=
brary
preload_core_path_len =3D sizeof(preload_core_so) + vgliblen + preloa=
dlen + 16;
preload_core_path =3D malloc(preload_core_path_len);
vg_assert(preload_core_path);
Modified: trunk/coregrind/m_syswrap/syswrap-generic.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_syswrap/syswrap-generic.c 2005-08-25 01:52:52 UTC (=
rev 4513)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2005-08-25 22:53:57 UTC (=
rev 4514)
@@ -2329,7 +2329,7 @@
VG_(reap_threads)(tid);
=20
// Remove the valgrind-specific stuff from the environment so the
- // child doesn't get vg_preload_core.so, vg_preload_TOOL.so, etc. =20
+ // child doesn't get vgpreload_core.so, vgpreload_<tool>.so, etc. =20
// This is done unconditionally, since if we are tracing the child,
// stage1/2 will set up the appropriate client environment.
// Nb: we make a copy of the environment before trying to mangle it
Modified: trunk/coregrind/pub_core_redir.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/pub_core_redir.h 2005-08-25 01:52:52 UTC (rev 4513)
+++ trunk/coregrind/pub_core_redir.h 2005-08-25 22:53:57 UTC (rev 4514)
@@ -85,7 +85,7 @@
replacement.
=20
Functions named with this macro should be in client space, ie. in
- vg_preload_<tool>.h or vg_preload_core.h. */
+ vgpreload_<tool>.h or vgpreload_core.h. */
=20
#define VG_NOTIFY_ON_LOAD(name) _vgw_##name
#define VG_NOTIFY_ON_LOAD_PREFIX "_vgw_"
Modified: trunk/include/pub_tool_redir.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/include/pub_tool_redir.h 2005-08-25 01:52:52 UTC (rev 4513)
+++ trunk/include/pub_tool_redir.h 2005-08-25 22:53:57 UTC (rev 4514)
@@ -64,7 +64,8 @@
=20
Note also that the replacement function should probably (must be?) in
client space, so it runs on the simulated CPU. So it must be in
- either vg_preload_<tool>.so or vg_preload_core.so.
+ either vgpreload_<tool>.so or vgpreload_core.so. It also only works
+ with functions in shared objects, I think.
=20
It is important that the Z-encoded soname contains no unencoded=20
underscores, since the intercept-handlers in vg_symtab2.c detect
|
|
From: Nicholas N. <nj...@cs...> - 2005-08-25 22:22:10
|
On Thu, 25 Aug 2005, Greg Parker wrote: > I'm not sure how much time I'll spend on the PPC and x86 versions. > Part of that depends on whether the Linux/PPC version keeps mostly > ahead of what I need. Eventually, I expect ports for both > architectures. I'm confused by this... can you run Darwin on x86 now, even if it's not the full MacOS X? Nick |
|
From: Greg P. <gp...@us...> - 2005-08-25 21:53:28
|
Julian Seward writes: > Great stuff. What is the current state of your port? I have > a MacOS 10.4 box to hand and would be interested to try it out. > > It would be good to have an overview of the state of the port > and the directions you are going with it. I'm just starting work on Valgrind 3.x. It will be some time before it builds, much less runs anything. Some of my work from 2.x should carry over, especially the launch process, but this time I'm trying to avoid too much hack-and-slash porting. I'm not sure how much time I'll spend on the PPC and x86 versions. Part of that depends on whether the Linux/PPC version keeps mostly ahead of what I need. Eventually, I expect ports for both architectures. > > * Overall, Valgrind 3.x looks far more portable than 2.x. > > I appreciate all of the hard rewriting work; > > Thanks. Note that there are still a lot of cleanups in progress, > and in particular a major overhaul of address space management > is in progress. That should help non-Linux OSs a lot. Good to hear. I'll be making slow progress at best for some time, and if I get blocked behind some other cleanup I can always write some more syscall wrappers :-) > > * Darwin/PPC syscalls indicate success and failure in an unusual > > way: successful calls and failed calls return to different > > points. > > So you're saying that after sc, execution continues either at > CIA+4 or CIA+8 depending on outcome. Right? Exactly. > > Handling this in VEX might be more difficult, because VEX > > might need to know that `sc` looks like a conditional branch > > in basic block analysis. > > Probably pretty harmless. There's all sorts of tricks that can > be played. I think it's a non-problem. Sounds good. In 2.x, I simply incremented the simulated CIA if necessary in do_syscall_for_client, and that seemed to work. I didn't know whether VEX's analysis was more sophisticated so that would fail sometimes. -- Greg Parker gp...@us... |
|
From: Greg P. <gp...@us...> - 2005-08-25 21:51:29
|
Nicholas Nethercote writes: > On Thu, 25 Aug 2005, Greg Parker wrote: > > I've pasted the contents of syscall.master below. > > Ah, very nice. I wish Linux had a master syscall list like that one. It looks like an inherited BSD-ism. Mac OS X makes up for it by having the additional Mach RPC interfaces; some of those that Valgrind will need to recognize aren't even communications with the kernel. -- Greg Parker gp...@us... |
|
From: <sv...@va...> - 2005-08-25 21:34:29
|
Author: sewardj
Date: 2005-08-25 22:34:24 +0100 (Thu, 25 Aug 2005)
New Revision: 1362
Log:
Implement MOVUPS -- move from G (xmm) to E (mem or xmm) [UNVERIFIED]
Modified:
trunk/priv/guest-x86/toIR.c
Modified: trunk/priv/guest-x86/toIR.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/priv/guest-x86/toIR.c 2005-08-25 21:20:18 UTC (rev 1361)
+++ trunk/priv/guest-x86/toIR.c 2005-08-25 21:34:24 UTC (rev 1362)
@@ -7501,15 +7501,17 @@
}
=20
/* 0F 29 =3D MOVAPS -- move from G (xmm) to E (mem or xmm). */
- if (sz =3D=3D 4 && insn[0] =3D=3D 0x0F && insn[1] =3D=3D 0x29) {
+ /* 0F 11 =3D MOVUPS -- move from G (xmm) to E (mem or xmm). */
+ if (sz =3D=3D 4 && insn[0] =3D=3D 0x0F=20
+ && (insn[1] =3D=3D 0x29 || insn[1] =3D=3D 0x11)) {
modrm =3D getIByte(delta+2);
if (epartIsReg(modrm)) {
/* fall through; awaiting test case */
} else {
addr =3D disAMode ( &alen, sorb, delta+2, dis_buf );
storeLE( mkexpr(addr), getXMMReg(gregOfRM(modrm)) );
- DIP("movaps %s,%s\n", nameXMMReg(gregOfRM(modrm)),
- dis_buf );
+ DIP("mov[ua]ps %s,%s\n", nameXMMReg(gregOfRM(modrm)),
+ dis_buf );
delta +=3D 2+alen;
goto decode_success;
}
|
|
From: <sv...@va...> - 2005-08-25 21:20:27
|
Author: sewardj
Date: 2005-08-25 22:20:18 +0100 (Thu, 25 Aug 2005)
New Revision: 1361
Log:
vex_printf/sprintf hackery.
Modified:
trunk/priv/main/vex_util.c
trunk/priv/main/vex_util.h
Modified: trunk/priv/main/vex_util.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/priv/main/vex_util.c 2005-08-24 17:50:59 UTC (rev 1360)
+++ trunk/priv/main/vex_util.c 2005-08-25 21:20:18 UTC (rev 1361)
@@ -179,26 +179,6 @@
New code for vex_util.c should go above this point. */
#include <stdarg.h>
=20
-/* ---------------------------------------------------------------------
- printf implementation. The key function, vg_vprintf(), emits chars=20
- into a caller-supplied function. Distantly derived from:
-
- vprintf replacement for Checker.
- Copyright 1993, 1994, 1995 Tristan Gingold
- Written September 1993 Tristan Gingold
- Tristan Gingold, 8 rue Parmentier, F-91120 PALAISEAU, FRANCE
-
- (Checker itself was GPL'd.)
- ------------------------------------------------------------------ */
-
-static HChar vex_toupper ( HChar c )
-{
- if (c >=3D 'a' && c <=3D 'z')
- return toHChar(c + ('A' - 'a'));
- else
- return c;
-}
-
static Int vex_strlen ( const HChar* str )
{
Int i =3D 0;
@@ -218,252 +198,211 @@
}
}
=20
-/* Some flags. */
-#define VG_MSG_SIGNED 1 /* The value is signed. */
-#define VG_MSG_ZJUSTIFY 2 /* Must justify with '0'. */
-#define VG_MSG_LJUSTIFY 4 /* Must justify on the left. */
-#define VG_MSG_PAREN 8 /* Parenthesize if present (for %y) */
-#define VG_MSG_COMMA 16 /* Add commas to numbers (for %d, %u) */
=20
-/* Copy a string into the buffer. */
-static UInt
-myvprintf_str ( void(*send)(HChar), Int flags, Int width, HChar* str,=20
- Bool capitalise )
+/* Convert N0 into ascii in BUF, which is assumed to be big enough (at
+ least 67 bytes long). Observe BASE, SYNED and HEXCAPS. */
+static
+void convert_int ( /*OUT*/HChar* buf, Long n0,=20
+ Int base, Bool syned, Bool hexcaps )
{
-# define MAYBE_TOUPPER(ch) toHChar(capitalise ? vex_toupper(ch) : (ch))
- UInt ret =3D 0;
- Int i, extra;
- Int len =3D vex_strlen(str);
+ ULong u0;
+ HChar c;
+ Bool minus =3D False;
+ Int i, j, bufi =3D 0;
+ buf[bufi] =3D 0;
=20
- if (width =3D=3D 0) {
- ret +=3D len;
- for (i =3D 0; i < len; i++)
- send(MAYBE_TOUPPER(str[i]));
- return ret;
+ if (syned) {
+ if (n0 < 0) {
+ minus =3D True;
+ u0 =3D (ULong)(-n0);
+ } else {
+ u0 =3D (ULong)(n0);
+ }
+ } else {
+ u0 =3D (ULong)n0;
}
=20
- if (len > width) {
- ret +=3D width;
- for (i =3D 0; i < width; i++)
- send(MAYBE_TOUPPER(str[i]));
- return ret;
+ while (1) {
+ buf[bufi++] =3D '0' + (HChar)(u0 % base);
+ u0 /=3D base;
+ if (u0 =3D=3D 0) break;
}
+ if (minus)
+ buf[bufi++] =3D '-';
=20
- extra =3D width - len;
- if (flags & VG_MSG_LJUSTIFY) {
- ret +=3D extra;
- for (i =3D 0; i < extra; i++)
- send(' ');
- }
- ret +=3D len;
- for (i =3D 0; i < len; i++)
- send(MAYBE_TOUPPER(str[i]));
- if (!(flags & VG_MSG_LJUSTIFY)) {
- ret +=3D extra;
- for (i =3D 0; i < extra; i++)
- send(' ');
- }
+ buf[bufi] =3D 0;
+ for (i =3D 0; i < bufi; i++)
+ if (buf[i] > '9')=20
+ buf[i] +=3D ((hexcaps ? 'A' : 'a') - '9' - 1);
=20
-# undef MAYBE_TOUPPER
-
- return ret;
+ i =3D 0;
+ j =3D bufi-1;
+ while (i <=3D j) {
+ c =3D buf[i];
+ buf[i] =3D buf[j];
+ buf[j] =3D c;
+ i++;
+ j--;
+ }
}
=20
-/* Write P into the buffer according to these args:
- * If SIGN is true, p is a signed.
- * BASE is the base.
- * If WITH_ZERO is true, '0' must be added.
- * WIDTH is the width of the field.
- */
-static UInt
-myvprintf_int64 ( void(*send)(HChar), Int flags, Int base, Int width, UL=
ong p)
+
+/* A half-arsed and buggy, but good-enough, implementation of
+ printf. */
+static
+UInt vprintf_wrk ( void(*sink)(HChar),
+ HChar* format,
+ va_list ap )
{
- HChar buf[40];
- Int ind =3D 0;
- Int i, nc =3D 0;
- Bool neg =3D False;
- HChar *digits =3D "0123456789ABCDEF";
- UInt ret =3D 0;
+# define PUT(_ch) \
+ do { sink(_ch); nout++; } \
+ while (0)
=20
- if (base < 2 || base > 16)
- return ret;
-=20
- if ((flags & VG_MSG_SIGNED) && (Long)p < 0) {
- p =3D - (Long)p;
- neg =3D True;
- }
+# define PAD(_n) \
+ do { Int _qq =3D (_n); for (; _qq > 0; _qq--) PUT(padchar); } \
+ while (0)
=20
- if (p =3D=3D 0)
- buf[ind++] =3D '0';
- else {
- while (p > 0) {
- if ((flags & VG_MSG_COMMA) && 10 =3D=3D base &&
- 0 =3D=3D (ind-nc) % 3 && 0 !=3D ind)=20
- {
- buf[ind++] =3D ',';
- nc++;
- }
- buf[ind++] =3D digits[p % base];
- p /=3D base;
- }
- }
+# define PUTSTR(_str) \
+ do { HChar* _qq =3D _str; for (; *_qq; _qq++) PUT(*_qq); } \
+ while (0)
=20
- if (neg)
- buf[ind++] =3D '-';
+ HChar* saved_format;
+ Bool longlong, ljustify;
+ HChar padchar;
+ Int fwidth, nout, len1, len2, len3;
+ HChar intbuf[100]; /* big enough for a 64-bit # in base 2 */
=20
- if (width > 0 && !(flags & VG_MSG_LJUSTIFY)) {
- for(; ind < width; ind++) {
- vassert(ind < 39);
- buf[ind] =3D toHChar((flags & VG_MSG_ZJUSTIFY) ? '0': ' ');
- }
- }
+ nout =3D 0;
+ while (1) {
=20
- /* Reverse copy to buffer. */
- ret +=3D ind;
- for (i =3D ind -1; i >=3D 0; i--) {
- send(buf[i]);
- }
- if (width > 0 && (flags & VG_MSG_LJUSTIFY)) {
- for(; ind < width; ind++) {
- ret++;
- send(' '); // Never pad with zeroes on RHS -- changes the valu=
e!
+ if (!format)
+ break;
+ if (*format =3D=3D 0)=20
+ break;
+
+ if (*format !=3D '%') {
+ PUT(*format);=20
+ format++;
+ continue;
}
- }
- return ret;
-}
=20
+ saved_format =3D format;
+ longlong =3D False;
+ ljustify =3D False;
+ padchar =3D ' ';
+ fwidth =3D 0;
+ format++;
=20
-/* A simple vprintf(). */
-static=20
-UInt vprintf_wrk ( void(*send)(HChar), const HChar *format, va_list varg=
s )
-{
- UInt ret =3D 0;
- int i;
- int flags;
- int width;
- Bool is_long;
-
- /* We assume that vargs has already been initialised by the=20
- caller, using va_start, and that the caller will similarly
- clean up with va_end.
- */
-
- for (i =3D 0; format[i] !=3D 0; i++) {
- if (format[i] !=3D '%') {
- send(format[i]);
- ret++;
- continue;
+ if (*format =3D=3D '-') {
+ format++;
+ ljustify =3D True;
}
- i++;
- /* A '%' has been found. Ignore a trailing %. */
- if (format[i] =3D=3D 0)
- break;
- if (format[i] =3D=3D '%') {
- /* `%%' is replaced by `%'. */
- send('%');
- ret++;
- continue;
+ if (*format =3D=3D '0') {
+ format++;
+ padchar =3D '0';
}
- flags =3D 0;
- is_long =3D False;
- width =3D 0; /* length of the field. */
- if (format[i] =3D=3D '(') {
- flags |=3D VG_MSG_PAREN;
- i++;
+ while (*format >=3D '0' && *format <=3D '9') {
+ fwidth =3D fwidth * 10 + (*format - '0');
+ format++;
}
- /* If ',' follows '%', commas will be inserted. */
- if (format[i] =3D=3D ',') {
- flags |=3D VG_MSG_COMMA;
- i++;
+ if (*format =3D=3D 'l') {
+ format++;
+ if (*format =3D=3D 'l') {
+ format++;
+ longlong =3D True;
+ }
}
- /* If '-' follows '%', justify on the left. */
- if (format[i] =3D=3D '-') {
- flags |=3D VG_MSG_LJUSTIFY;
- i++;
- }
- /* If '0' follows '%', pads will be inserted. */
- if (format[i] =3D=3D '0') {
- flags |=3D VG_MSG_ZJUSTIFY;
- i++;
- }
- /* Compute the field length. */
- while (format[i] >=3D '0' && format[i] <=3D '9') {
- width *=3D 10;
- width +=3D format[i++] - '0';
- }
- while (format[i] =3D=3D 'l') {
- i++;
- is_long =3D True;
- }
=20
- switch (format[i]) {
- case 'd': /* %d */
- flags |=3D VG_MSG_SIGNED;
- if (is_long)
- ret +=3D myvprintf_int64(send, flags, 10, width,=20
- (ULong)(va_arg (vargs, Long)));
- else
- ret +=3D myvprintf_int64(send, flags, 10, width,=20
- (ULong)(va_arg (vargs, Int)));
+ switch (*format) {
+ case 's': {
+ HChar* str =3D va_arg(ap, HChar*);
+ if (str =3D=3D NULL)
+ str =3D "(null)";
+ len1 =3D len3 =3D 0;
+ len2 =3D vex_strlen(str);
+ if (fwidth > len2) { len1 =3D ljustify ? fwidth-len2 : 0;
+ len3 =3D ljustify ? 0 : fwidth-len2; }
+ PAD(len1); PUTSTR(str); PAD(len3);
break;
- case 'u': /* %u */
- if (is_long)
- ret +=3D myvprintf_int64(send, flags, 10, width,=20
- (ULong)(va_arg (vargs, ULong)));
- else
- ret +=3D myvprintf_int64(send, flags, 10, width,=20
- (ULong)(va_arg (vargs, UInt)));
+ }
+ case 'c': {
+ HChar c =3D (HChar)va_arg(ap, int);
+ HChar str[2];
+ str[0] =3D c;
+ str[1] =3D 0;
+ len1 =3D len3 =3D 0;
+ len2 =3D vex_strlen(str);
+ if (fwidth > len2) { len1 =3D ljustify ? fwidth-len2 : 0;
+ len3 =3D ljustify ? 0 : fwidth-len2; }
+ PAD(len1); PUTSTR(str); PAD(len3);
break;
- case 'p': /* %p */
- ret +=3D 2;
- send('0');
- send('x');
- ret +=3D myvprintf_int64(send, flags, 16, width,=20
- (ULong)((HWord)va_arg (vargs, void *)=
));
+ }
+ case 'd': {
+ Long l;
+ if (longlong) {
+ l =3D va_arg(ap, Long);
+ } else {
+ l =3D (Long)va_arg(ap, Int);
+ }
+ convert_int(intbuf, l, 10/*base*/, True/*signed*/,
+ False/*irrelevant*/);
+ len1 =3D len3 =3D 0;
+ len2 =3D vex_strlen(intbuf);
+ if (fwidth > len2) { len1 =3D ljustify ? fwidth-len2 : 0;
+ len3 =3D ljustify ? 0 : fwidth-len2; }
+ PAD(len1); PUTSTR(intbuf); PAD(len3);
break;
- case 'x': /* %x */
- if (is_long)
- ret +=3D myvprintf_int64(send, flags, 16, width,=20
- (ULong)(va_arg (vargs, ULong)));
- else
- ret +=3D myvprintf_int64(send, flags, 16, width,=20
- (ULong)(va_arg (vargs, UInt)));
- break;
- case 'c': /* %c */
- ret++;
- send(toHChar(va_arg (vargs, int)));
- break;
- case 's': case 'S': { /* %s */
- char *str =3D va_arg (vargs, char *);
- if (str =3D=3D (char*) 0) str =3D "(null)";
- ret +=3D myvprintf_str(send, flags, width, str,=20
- toBool(format[i]=3D=3D'S'));
- break;
}
-# if 0
- case 'y': { /* %y - print symbol */
- Char buf[100];
- Char *cp =3D buf;
- Addr a =3D va_arg(vargs, Addr);
-
- if (flags & VG_MSG_PAREN)
- *cp++ =3D '(';
- if (VG_(get_fnname_w_offset)(a, cp, sizeof(buf)-4)) {
- if (flags & VG_MSG_PAREN) {
- cp +=3D VG_(strlen)(cp);
- *cp++ =3D ')';
- *cp =3D '\0';
- }
- ret +=3D myvprintf_str(send, flags, width, buf, 0);
+ case 'u':=20
+ case 'x':=20
+ case 'X': {
+ Int base =3D *format =3D=3D 'u' ? 10 : 16;
+ Bool hexcaps =3D True; /* *format =3D=3D 'X'; */
+ ULong l;
+ if (longlong) {
+ l =3D va_arg(ap, ULong);
+ } else {
+ l =3D (ULong)va_arg(ap, UInt);
}
+ convert_int(intbuf, l, base, False/*unsigned*/, hexcaps);
+ len1 =3D len3 =3D 0;
+ len2 =3D vex_strlen(intbuf);
+ if (fwidth > len2) { len1 =3D ljustify ? fwidth-len2 : 0;
+ len3 =3D ljustify ? 0 : fwidth-len2; }
+ PAD(len1); PUTSTR(intbuf); PAD(len3);
break;
}
-# endif
+ case 'p':=20
+ case 'P': {
+ Bool hexcaps =3D *format =3D=3D 'P';
+ ULong l =3D Ptr_to_ULong( va_arg(ap, void*) );
+ convert_int(intbuf, l, 16/*base*/, False/*unsigned*/, hexcap=
s);
+ len1 =3D len3 =3D 0;
+ len2 =3D vex_strlen(intbuf)+2;
+ if (fwidth > len2) { len1 =3D ljustify ? fwidth-len2 : 0;
+ len3 =3D ljustify ? 0 : fwidth-len2; }
+ PAD(len1); PUT('0'); PUT('x'); PUTSTR(intbuf); PAD(len3);
+ break;
+ }
default:
+ /* no idea what it is. Print the format literally and
+ move on. */
+ while (saved_format <=3D format) {
+ PUT(*saved_format);
+ saved_format++;
+ }
break;
}
+
+ format++;
+
}
- return ret;
+
+ return nout;
+
+# undef PUT
+# undef PAD
+# undef PUTSTR
}
=20
=20
@@ -476,16 +415,17 @@
=20
static void add_to_myprintf_buf ( HChar c )
{
- if (c =3D=3D '\n' || n_myprintf_buf >=3D 1000-10 /*paranoia*/ ) {
+ Bool emit =3D c =3D=3D '\n' || n_myprintf_buf >=3D 1000-10 /*paranoia=
*/;
+ myprintf_buf[n_myprintf_buf++] =3D c;
+ myprintf_buf[n_myprintf_buf] =3D 0;
+ if (emit) {
(*vex_log_bytes)( myprintf_buf, vex_strlen(myprintf_buf) );
n_myprintf_buf =3D 0;
- myprintf_buf[n_myprintf_buf] =3D 0; =20
+ myprintf_buf[n_myprintf_buf] =3D 0;
}
- myprintf_buf[n_myprintf_buf++] =3D c;
- myprintf_buf[n_myprintf_buf] =3D 0;
}
=20
-UInt vex_printf ( const char *format, ... )
+UInt vex_printf ( HChar* format, ... )
{
UInt ret;
va_list vargs;
@@ -514,7 +454,7 @@
*vg_sprintf_ptr++ =3D c;
}
=20
-UInt vex_sprintf ( HChar* buf, const HChar *format, ... )
+UInt vex_sprintf ( HChar* buf, HChar *format, ... )
{
Int ret;
va_list vargs;
Modified: trunk/priv/main/vex_util.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/priv/main/vex_util.h 2005-08-24 17:50:59 UTC (rev 1360)
+++ trunk/priv/main/vex_util.h 2005-08-25 21:20:18 UTC (rev 1361)
@@ -75,10 +75,10 @@
/* Printing */
=20
__attribute__ ((format (printf, 1, 2)))
-extern UInt vex_printf ( const HChar *format, ... );
+extern UInt vex_printf ( HChar *format, ... );
=20
__attribute__ ((format (printf, 2, 3)))
-extern UInt vex_sprintf ( HChar* buf, const HChar *format, ... );
+extern UInt vex_sprintf ( HChar* buf, HChar *format, ... );
=20
=20
/* String ops */
|
|
From: Nicholas N. <nj...@cs...> - 2005-08-25 19:07:13
|
On Thu, 25 Aug 2005, Greg Parker wrote: > I've pasted the contents of syscall.master below. Ah, very nice. I wish Linux had a master syscall list like that one. N |
|
From: Greg P. <gp...@us...> - 2005-08-25 18:22:11
|
Nicholas Nethercote writes:
> On Wed, 24 Aug 2005, Greg Parker wrote:
> > # The following groups of syscalls are mostly not generic
> > # and should be handled en masse:
> > *16
> > *xattr
> > clock_*
> > mq_*
> > msg*
> > rt_sig*
> > sched_*
> > sig*
> > timer_*
>
> Some of these you have in the "unused but generic" list below:
[snip]
> is that just a mistake? They look like they should be in syswrap-linux.c.
Those individual "unused but generic" functions compile with no error,
but the others in those groups do not. I'd suggest that all functions
in those groups should be moved together, but you already recommended
that everything get aggressively moved anyway, so that's not an issue.
> I'll try to find time to start moving the Linux-specific ones out of
> syswrap-generic.c into syswrap-linux.c, although patience would be
> appreciated :) Can you post a full list of the Darwin syscalls for
> comparison?
I've pasted the contents of syscall.master below.
> And remind me -- is your code visible somewhere?
I'm just getting started with valgrind 3.x, so I currently
have little code. When I have something that's interesting
to look at, you'll be the first to know.
xnu-792.2.4:bsd/kern/syscalls.master
; derived from: FreeBSD @(#)syscalls.master 8.2 (Berkeley) 1/13/94
;
; System call name/number master file.
; This is file processed by .../xnu/bsd/kern/makesyscalls.sh and creates:
; .../xnu/bsd/kern/init_sysent.c
; .../xnu/bsd/kern/syscalls.c
; .../xnu/bsd/sys/syscall.h
; .../xnu/bsd/sys/sysproto.h
; Columns -> | Number | Cancel | Funnel | Files | { Name and Args } | { Comments }
; Number: system call number, must be in order
; Cancel: type of thread cancel - "PRE", "POST" or "NONE"
; Funnel: type of funnel - "KERN" or "NONE"
; Files: with files to generate - "ALL" or any combo of:
; "T" for syscall table (in init_sysent.c)
; "N" for syscall names (in syscalls.c)
; "H" for syscall headers (in syscall.h)
; "P" for syscall prototypes (in sysproto.h)
; Comments: additional comments about the sys call copied to output files
; #ifdef's, #include's, #if's etc. are copied to all output files.
#include <sys/appleapiopts.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/types.h>
#include <sys/sysent.h>
#include <sys/sysproto.h>
0 NONE NONE ALL { int nosys(void); } { indirect syscall }
1 NONE KERN ALL { void exit(int rval); }
2 NONE KERN ALL { int fork(void); }
3 PRE NONE ALL { user_ssize_t read(int fd, user_addr_t cbuf, user_size_t nbyte); }
4 PRE NONE ALL { user_ssize_t write(int fd, user_addr_t cbuf, user_size_t nbyte); }
5 PRE NONE ALL { int open(user_addr_t path, int flags, int mode); }
6 PRE NONE ALL { int close(int fd); }
7 PRE KERN ALL { int wait4(int pid, user_addr_t status, int options, user_addr_t rusage); }
8 NONE NONE ALL { int nosys(void); } { old creat }
9 NONE NONE ALL { int link(user_addr_t path, user_addr_t link); }
10 NONE NONE ALL { int unlink(user_addr_t path); }
11 NONE NONE ALL { int nosys(void); } { old execv }
12 NONE NONE ALL { int chdir(user_addr_t path); }
13 NONE NONE ALL { int fchdir(int fd); }
14 NONE NONE ALL { int mknod(user_addr_t path, int mode, int dev); }
15 NONE NONE ALL { int chmod(user_addr_t path, int mode); }
16 NONE NONE ALL { int chown(user_addr_t path, int uid, int gid); }
17 NONE NONE UALL { int obreak(char *nsize); } { old break }
#if COMPAT_GETFSSTAT
18 NONE NONE ALL { int ogetfsstat(user_addr_t buf, int bufsize, int flags); }
#else
18 NONE NONE ALL { int getfsstat(user_addr_t buf, int bufsize, int flags); }
#endif
19 NONE NONE ALL { int nosys(void); } { old lseek }
20 NONE NONE ALL { int getpid(void); }
21 NONE NONE ALL { int nosys(void); } { old mount }
22 NONE NONE ALL { int nosys(void); } { old umount }
23 NONE KERN ALL { int setuid(uid_t uid); }
24 NONE KERN ALL { int getuid(void); }
25 NONE KERN ALL { int geteuid(void); }
26 NONE KERN ALL { int ptrace(int req, pid_t pid, caddr_t addr, int data); }
27 PRE NONE ALL { int recvmsg(int s, struct msghdr *msg, int flags); }
28 PRE NONE ALL { int sendmsg(int s, caddr_t msg, int flags); }
29 PRE NONE ALL { int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, int *fromlenaddr); }
30 PRE NONE ALL { int accept(int s, caddr_t name, socklen_t *anamelen); }
31 NONE NONE ALL { int getpeername(int fdes, caddr_t asa, socklen_t *alen); }
32 NONE NONE ALL { int getsockname(int fdes, caddr_t asa, socklen_t *alen); }
33 NONE NONE ALL { int access(user_addr_t path, int flags); }
34 NONE NONE ALL { int chflags(char *path, int flags); }
35 NONE NONE ALL { int fchflags(int fd, int flags); }
36 NONE NONE ALL { int sync(void); }
37 NONE KERN ALL { int kill(int pid, int signum); }
38 NONE NONE ALL { int nosys(void); } { old stat }
39 NONE KERN ALL { int getppid(void); }
40 NONE NONE ALL { int nosys(void); } { old lstat }
41 NONE NONE ALL { int dup(u_int fd); }
42 NONE NONE ALL { int pipe(void); }
43 NONE KERN ALL { int getegid(void); }
44 NONE KERN ALL { int profil(short *bufbase, size_t bufsize, u_long pcoffset, u_int pcscale); }
45 NONE KERN ALL { int ktrace(const char *fname, int ops, int facs, int pid); }
46 NONE KERN ALL { int sigaction(int signum, struct __sigaction *nsa, struct sigaction *osa); }
47 NONE KERN ALL { int getgid(void); }
48 NONE KERN ALL { int sigprocmask(int how, user_addr_t mask, user_addr_t omask); }
49 NONE KERN ALL { int getlogin(char *namebuf, u_int namelen); }
50 NONE KERN ALL { int setlogin(char *namebuf); }
51 NONE KERN ALL { int acct(char *path); }
52 NONE KERN ALL { int sigpending(struct sigvec *osv); }
53 NONE KERN ALL { int sigaltstack(struct sigaltstack *nss, struct sigaltstack *oss); }
54 NONE NONE ALL { int ioctl(int fd, u_long com, caddr_t data); }
55 NONE KERN ALL { int reboot(int opt, char *command); }
56 NONE NONE ALL { int revoke(char *path); }
57 NONE NONE ALL { int symlink(char *path, char *link); }
58 NONE NONE ALL { int readlink(char *path, char *buf, int count); }
59 NONE KERN ALL { int execve(char *fname, char **argp, char **envp); }
60 NONE KERN ALL { int umask(int newmask); }
61 NONE KERN ALL { int chroot(user_addr_t path); }
62 NONE NONE ALL { int nosys(void); } { old fstat }
63 NONE NONE ALL { int nosys(void); } { used internally, reserved }
64 NONE NONE ALL { int nosys(void); } { old getpagesize }
65 PRE NONE ALL { int msync(caddr_t addr, size_t len, int flags); }
66 NONE KERN ALL { int vfork(void); }
67 NONE NONE ALL { int nosys(void); } { old vread }
68 NONE NONE ALL { int nosys(void); } { old vwrite }
69 NONE NONE ALL { int sbrk(int incr); }
70 NONE NONE ALL { int sstk(int incr); }
71 NONE NONE ALL { int nosys(void); } { old mmap }
72 NONE NONE ALL { int ovadvise(void); } { old vadvise }
73 NONE NONE ALL { int munmap(caddr_t addr, size_t len); }
74 NONE NONE ALL { int mprotect(caddr_t addr, size_t len, int prot); }
75 NONE NONE ALL { int madvise(caddr_t addr, size_t len, int behav); }
76 NONE NONE ALL { int nosys(void); } { old vhangup }
77 NONE NONE ALL { int nosys(void); } { old vlimit }
78 NONE NONE ALL { int mincore(user_addr_t addr, user_size_t len, user_addr_t vec); }
79 NONE KERN ALL { int getgroups(u_int gidsetsize, gid_t *gidset); }
80 NONE KERN ALL { int setgroups(u_int gidsetsize, gid_t *gidset); }
81 NONE KERN ALL { int getpgrp(void); }
82 NONE KERN ALL { int setpgid(int pid, int pgid); }
83 NONE KERN ALL { int setitimer(u_int which, struct itimerval *itv, struct itimerval *oitv); }
84 NONE NONE ALL { int nosys(void); } { old wait }
85 NONE NONE ALL { int swapon(void); }
86 NONE KERN ALL { int getitimer(u_int which, struct itimerval *itv); }
87 NONE NONE ALL { int nosys(void); } { old gethostname }
88 NONE NONE ALL { int nosys(void); } { old sethostname }
89 NONE NONE ALL { int getdtablesize(void); }
90 NONE NONE ALL { int dup2(u_int from, u_int to); }
91 NONE NONE ALL { int nosys(void); } { old getdopt }
92 PRE NONE ALL { int fcntl(int fd, int cmd, long arg); }
93 PRE KERN ALL { int select(int nd, u_int32_t *in, u_int32_t *ou, u_int32_t *ex, struct timeval *tv); }
94 NONE NONE ALL { int nosys(void); } { old setdopt }
95 PRE NONE ALL { int fsync(int fd); }
96 NONE KERN ALL { int setpriority(int which, int who, int prio); }
97 NONE NONE ALL { int socket(int domain, int type, int protocol); }
98 PRE NONE ALL { int connect(int s, caddr_t name, socklen_t namelen); }
99 NONE NONE ALL { int nosys(void); } { old accept }
100 NONE KERN ALL { int getpriority(int which, int who); }
101 NONE NONE ALL { int nosys(void); } { old send }
102 NONE NONE ALL { int nosys(void); } { old recv }
#ifdef __ppc__
103 NONE NONE ALL { int nosys(void); } { old sigreturn }
#else
103 NONE KERN UALL { int sigreturn(struct sigcontext *sigcntxp); }
#endif
104 NONE NONE ALL { int bind(int s, caddr_t name, socklen_t namelen); }
105 NONE NONE ALL { int setsockopt(int s, int level, int name, caddr_t val, socklen_t valsize); }
106 NONE NONE ALL { int listen(int s, int backlog); }
107 NONE NONE ALL { int nosys(void); } { old vtimes }
108 NONE NONE ALL { int nosys(void); } { old sigvec }
109 NONE NONE ALL { int nosys(void); } { old sigblock }
110 NONE NONE ALL { int nosys(void); } { old sigsetmask }
111 PRE KERN ALL { int sigsuspend(sigset_t mask); }
112 NONE NONE ALL { int nosys(void); } { old sigstack }
113 NONE NONE ALL { int nosys(void); } { old recvmsg }
114 NONE NONE ALL { int nosys(void); } { old sendmsg }
115 NONE NONE ALL { int nosys(void); } { old vtrace }
#ifdef __ppc__
116 NONE NONE ALL { int ppc_gettimeofday(struct timeval *tp, struct timezone *tzp); }
#else
116 NONE NONE ALL { int gettimeofday(struct timeval *tp, struct timezone *tzp); }
#endif
117 NONE KERN ALL { int getrusage(int who, struct rusage *rusage); }
118 NONE NONE ALL { int getsockopt(int s, int level, int name, caddr_t val, socklen_t *avalsize); }
119 NONE NONE ALL { int nosys(void); } { old resuba }
120 PRE NONE ALL { user_ssize_t readv(int fd, struct iovec *iovp, u_int iovcnt); }
121 PRE NONE ALL { user_ssize_t writev(int fd, struct iovec *iovp, u_int iovcnt); }
122 NONE KERN ALL { int settimeofday(struct timeval *tv, struct timezone *tzp); }
123 NONE NONE ALL { int fchown(int fd, int uid, int gid); }
124 NONE NONE ALL { int fchmod(int fd, int mode); }
125 NONE NONE ALL { int nosys(void); } { old recvfrom }
126 NONE NONE ALL { int nosys(void); } { old setreuid }
127 NONE NONE ALL { int nosys(void); } { old setregid }
128 NONE NONE ALL { int rename(char *from, char *to); }
129 NONE NONE ALL { int nosys(void); } { old truncate }
130 NONE NONE ALL { int nosys(void); } { old ftruncate }
131 NONE NONE ALL { int flock(int fd, int how); }
132 NONE NONE ALL { int mkfifo(user_addr_t path, int mode); }
133 PRE NONE ALL { int sendto(int s, caddr_t buf, size_t len, int flags, caddr_t to, socklen_t tolen); }
134 NONE NONE ALL { int shutdown(int s, int how); }
135 NONE NONE ALL { int socketpair(int domain, int type, int protocol, int *rsv); }
136 NONE NONE ALL { int mkdir(user_addr_t path, int mode); }
137 NONE NONE ALL { int rmdir(char *path); }
138 NONE NONE ALL { int utimes(char *path, struct timeval *tptr); }
139 NONE NONE ALL { int futimes(int fd, struct timeval *tptr); }
140 NONE KERN ALL { int adjtime(struct timeval *delta, struct timeval *olddelta); }
141 NONE NONE ALL { int nosys(void); } { old getpeername }
142 NONE NONE ALL { int nosys(void); } { old gethostid }
143 NONE NONE ALL { int nosys(void); } { old sethostid }
144 NONE NONE ALL { int nosys(void); } { old getrlimit }
145 NONE NONE ALL { int nosys(void); } { old setrlimit }
146 NONE NONE ALL { int nosys(void); } { old killpg }
147 NONE KERN ALL { int setsid(void); }
148 NONE NONE ALL { int nosys(void); } { old setquota }
149 NONE NONE ALL { int nosys(void); } { old qquota }
150 NONE NONE ALL { int nosys(void); } { old getsockname }
151 NONE KERN ALL { int getpgid(pid_t pid); }
152 NONE KERN ALL { int setprivexec(int flag); }
153 PRE NONE ALL { user_ssize_t pread(int fd, user_addr_t buf, user_size_t nbyte, off_t offset); }
154 PRE NONE ALL { user_ssize_t pwrite(int fd, user_addr_t buf, user_size_t nbyte, off_t offset); }
#if NFSSERVER
155 NONE KERN ALL { int nfssvc(int flag, caddr_t argp); }
#else
155 NONE NONE ALL { int nosys(void); }
#endif
156 NONE NONE ALL { int nosys(void); } { old getdirentries }
157 NONE NONE ALL { int statfs(char *path, struct statfs *buf); }
158 NONE NONE ALL { int fstatfs(int fd, struct statfs *buf); }
159 NONE NONE ALL { int unmount(user_addr_t path, int flags); }
160 NONE NONE ALL { int nosys(void); } { old async_daemon }
#if NFSCLIENT
161 NONE KERN ALL { int getfh(char *fname, fhandle_t *fhp); }
#else
161 NONE NONE ALL { int nosys(void); }
#endif
162 NONE NONE ALL { int nosys(void); } { old getdomainname }
163 NONE NONE ALL { int nosys(void); } { old setdomainname }
164 NONE NONE ALL { int nosys(void); }
165 NONE KERN ALL { int quotactl(char *path, int cmd, int uid, caddr_t arg); }
166 NONE NONE ALL { int nosys(void); } { old exportfs }
167 NONE NONE ALL { int mount(char *type, char *path, int flags, caddr_t data); }
168 NONE NONE ALL { int nosys(void); } { old ustat }
169 NONE NONE ALL { int nosys(void); }
170 NONE NONE HN { int table(void); } { old table }
171 NONE NONE ALL { int nosys(void); } { old wait3 }
172 NONE NONE ALL { int nosys(void); } { old rpause }
173 PRE KERN ALL { int waitid(idtype_t idtype, id_t id, siginfo_t *infop, int options); }
174 NONE NONE ALL { int nosys(void); } { old getdents }
175 NONE NONE ALL { int nosys(void); } { old gc_control }
176 NONE KERN ALL { int add_profil(short *bufbase, size_t bufsize, u_long pcoffset, u_int pcscale); }
177 NONE NONE ALL { int nosys(void); }
178 NONE NONE ALL { int nosys(void); }
179 NONE NONE ALL { int nosys(void); }
180 NONE NONE UALL { int kdebug_trace(int code, int arg1, int arg2, int arg3, int arg4, int arg5); }
181 NONE KERN ALL { int setgid(gid_t gid); }
182 NONE KERN ALL { int setegid(gid_t egid); }
183 NONE KERN ALL { int seteuid(uid_t euid); }
#ifdef __ppc__
184 NONE KERN ALL { int sigreturn(struct ucontext *uctx, int infostyle); }
#else
184 NONE NONE ALL { int nosys(void); }
#endif
185 NONE NONE ALL { int nosys(void); }
186 NONE NONE ALL { int nosys(void); }
187 NONE NONE ALL { int nosys(void); }
188 NONE NONE ALL { int stat(user_addr_t path, user_addr_t ub); }
189 NONE NONE ALL { int fstat(int fd, user_addr_t ub); }
190 NONE NONE ALL { int lstat(user_addr_t path, user_addr_t ub); }
191 NONE NONE ALL { int pathconf(char *path, int name); }
192 NONE NONE ALL { int fpathconf(int fd, int name); }
#if COMPAT_GETFSSTAT
193 NONE NONE ALL { int getfsstat(user_addr_t buf, user_long_t bufsize, int flags); }
#else
193 NONE NONE ALL { int nosys(void); }
#endif
194 NONE KERN ALL { int getrlimit(u_int which, struct rlimit *rlp); }
195 NONE KERN ALL { int setrlimit(u_int which, struct rlimit *rlp); }
196 NONE NONE ALL { int getdirentries(int fd, char *buf, u_int count, long *basep); }
197 NONE NONE ALL { user_addr_t mmap(caddr_t addr, size_t len, int prot, int flags, int fd, off_t pos); }
198 NONE NONE ALL { int nosys(void); } { __syscall }
199 NONE NONE ALL { off_t lseek(int fd, off_t offset, int whence); }
200 NONE NONE ALL { int truncate(char *path, off_t length); }
201 NONE NONE ALL { int ftruncate(int fd, off_t length); }
202 NONE KERN ALL { int __sysctl(int *name, u_int namelen, void *old, size_t *oldlenp, void *new, size_t newlen); }
203 NONE NONE ALL { int mlock(caddr_t addr, size_t len); }
204 NONE NONE ALL { int munlock(caddr_t addr, size_t len); }
205 NONE NONE ALL { int undelete(user_addr_t path); }
#ifdef __ppc__
206 NONE NONE ALL { int ATsocket(int proto); }
207 NONE NONE UALL { int ATgetmsg(int fd, void *ctlptr, void *datptr, int *flags); }
208 NONE NONE UALL { int ATputmsg(int fd, void *ctlptr, void *datptr, int flags); }
209 NONE NONE UALL { int ATPsndreq(int fd, unsigned char *buf, int len, int nowait); }
210 NONE NONE UALL { int ATPsndrsp(int fd, unsigned char *respbuff, int resplen, int datalen); }
211 NONE NONE UALL { int ATPgetreq(int fd, unsigned char *buf, int buflen); }
212 NONE NONE UALL { int ATPgetrsp(int fd, unsigned char *bdsp); }
213 NONE NONE ALL { int nosys(void); } { Reserved for AppleTalk }
#else
206 NONE NONE HN { int ATsocket(int proto); }
207 NONE NONE UHN { int ATgetmsg(int fd, void *ctlptr, void *datptr, int *flags); }
208 NONE NONE UHN { int ATputmsg(int fd, void *ctlptr, void *datptr, int flags); }
209 NONE NONE UHN { int ATPsndreq(int fd, unsigned char *buf, int len, int nowait); }
210 NONE NONE UHN { int ATPsndrsp(int fd, unsigned char *respbuff, int resplen, int datalen); }
211 NONE NONE UHN { int ATPgetreq(int fd, unsigned char *buf, int buflen); }
212 NONE NONE UHN { int ATPgetrsp(int fd, unsigned char *bdsp); }
213 NONE NONE ALL { int nosys(void); } { Reserved for AppleTalk }
#endif /* __ppc__ */
214 NONE KERN ALL { int kqueue_from_portset_np(int portset); }
215 NONE KERN ALL { int kqueue_portset_np(int fd); }
; System Calls 216 - 230 are reserved for calls to support HFS/HFS Plus
; file system semantics. Currently, we only use 215-227. The rest is
; for future expansion in anticipation of new MacOS APIs for HFS Plus.
; These calls are not conditionalized becuase while they are specific
; to HFS semantics, they are not specific to the HFS filesystem.
; We expect all filesystems to recognize the call and report that it is
; not supported or to actually implement it.
216 NONE NONE UHN { int mkcomplex(const char *path, mode_t mode, u_long type); } { soon to be obsolete }
217 NONE NONE UHN { int statv(const char *path, struct vstat *vsb); } { soon to be obsolete }
218 NONE NONE UHN { int lstatv(const char *path, struct vstat *vsb); } { soon to be obsolete }
219 NONE NONE UHN { int fstatv(int fd, struct vstat *vsb); } { soon to be obsolete }
220 NONE NONE ALL { int getattrlist(const char *path, struct attrlist *alist, void *attributeBuffer, size_t bufferSize, u_long options); }
221 NONE NONE ALL { int setattrlist(const char *path, struct attrlist *alist, void *attributeBuffer, size_t bufferSize, u_long options); }
222 NONE NONE ALL { int getdirentriesattr(int fd, struct attrlist *alist, void *buffer, size_t buffersize, u_long *count, u_long *basep, u_long *newstate, u_long options); }
223 NONE NONE ALL { int exchangedata(const char *path1, const char *path2, u_long options); }
#ifdef __APPLE_API_OBSOLETE
224 NONE NONE UALL { int checkuseraccess(const char *path, uid_t userid, gid_t *groups, int ngroups, int accessrequired, u_long options); }
#else
224 NONE NONE ALL { int nosys(void); } { HFS checkuseraccess check access to a file }
#endif /* __APPLE_API_OBSOLETE */
225 NONE KERN ALL { int searchfs(const char *path, struct fssearchblock *searchblock, u_long *nummatches, u_long scriptcode, u_long options, struct searchstate *state); }
226 NONE NONE ALL { int delete(user_addr_t path); } { private delete (Carbon semantics) }
227 NONE NONE ALL { int copyfile(char *from, char *to, int mode, int flags); }
228 NONE NONE ALL { int nosys(void); }
229 NONE NONE ALL { int nosys(void); }
230 PRE NONE ALL { int poll(struct pollfd *fds, u_int nfds, int timeout); }
231 NONE NONE UALL { int watchevent(struct eventreq *u_req, int u_eventmask); }
232 NONE NONE UALL { int waitevent(struct eventreq *u_req, struct timeval *tv); }
233 NONE NONE UALL { int modwatch(struct eventreq *u_req, int u_eventmask); }
234 NONE NONE ALL { user_ssize_t getxattr(user_addr_t path, user_addr_t attrname, user_addr_t value, size_t size, uint32_t position, int options); }
235 NONE NONE ALL { user_ssize_t fgetxattr(int fd, user_addr_t attrname, user_addr_t value, size_t size, uint32_t position, int options); }
236 NONE NONE ALL { int setxattr(user_addr_t path, user_addr_t attrname, user_addr_t value, size_t size, uint32_t position, int options); }
237 NONE NONE ALL { int fsetxattr(int fd, user_addr_t attrname, user_addr_t value, size_t size, uint32_t position, int options); }
238 NONE NONE ALL { int removexattr(user_addr_t path, user_addr_t attrname, int options); }
239 NONE NONE ALL { int fremovexattr(int fd, user_addr_t attrname, int options); }
240 NONE NONE ALL { user_ssize_t listxattr(user_addr_t path, user_addr_t namebuf, size_t bufsize, int options); }
241 NONE NONE ALL { user_ssize_t flistxattr(int fd, user_addr_t namebuf, size_t bufsize, int options); }
242 NONE KERN ALL { int fsctl(const char *path, u_long cmd, caddr_t data, u_long options); }
243 NONE KERN ALL { int initgroups(u_int gidsetsize, gid_t *gidset, int gmuid); }
244 NONE NONE ALL { int nosys(void); }
245 NONE NONE ALL { int nosys(void); }
246 NONE NONE ALL { int nosys(void); }
#if NFSCLIENT
247 NONE KERN ALL { int nfsclnt(int flag, caddr_t argp); }
248 NONE KERN ALL { int fhopen(const struct fhandle *u_fhp, int flags); }
#else
247 NONE NONE ALL { int nosys(void); }
248 NONE NONE ALL { int nosys(void); }
#endif
249 NONE NONE ALL { int nosys(void); }
250 NONE NONE ALL { int minherit(void *addr, size_t len, int inherit); }
251 NONE NONE ALL { int semsys(u_int which, int a2, int a3, int a4, int a5); }
252 NONE NONE ALL { int msgsys(u_int which, int a2, int a3, int a4, int a5); }
253 NONE NONE ALL { int shmsys(u_int which, int a2, int a3, int a4); }
254 NONE NONE ALL { int semctl(int semid, int semnum, int cmd, semun_t arg); }
255 NONE NONE ALL { int semget(key_t key, int nsems, int semflg); }
256 NONE NONE ALL { int semop(int semid, struct sembuf *sops, int nsops); }
257 NONE NONE ALL { int semconfig(semconfig_ctl_t flag); }
258 NONE NONE ALL { int msgctl(int msqid, int cmd, struct msqid_ds *buf); }
259 NONE NONE ALL { int msgget(key_t key, int msgflg); }
260 PRE NONE ALL { int msgsnd(int msqid, void *msgp, size_t msgsz, int msgflg); }
261 PRE NONE ALL { user_ssize_t msgrcv(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); }
262 NONE NONE ALL { int shmat(int shmid, void *shmaddr, int shmflg); }
263 NONE NONE ALL { int shmctl(int shmid, int cmd, struct shmid_ds *buf); }
264 NONE NONE ALL { int shmdt(void *shmaddr); }
265 NONE NONE ALL { int shmget(key_t key, size_t size, int shmflg); }
266 NONE NONE ALL { int shm_open(const char *name, int oflag, int mode); }
267 NONE NONE ALL { int shm_unlink(const char *name); }
268 NONE NONE ALL { user_addr_t sem_open(const char *name, int oflag, int mode, int value); }
269 NONE NONE ALL { int sem_close(sem_t *sem); }
270 NONE NONE ALL { int sem_unlink(const char *name); }
271 PRE NONE ALL { int sem_wait(sem_t *sem); }
272 NONE NONE ALL { int sem_trywait(sem_t *sem); }
273 NONE NONE ALL { int sem_post(sem_t *sem); }
274 NONE NONE ALL { int sem_getvalue(sem_t *sem, int *sval); }
275 NONE NONE ALL { int sem_init(sem_t *sem, int phsared, u_int value); }
276 NONE NONE ALL { int sem_destroy(sem_t *sem); }
277 NONE NONE ALL { int open_extended(user_addr_t path, int flags, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity); }
278 NONE KERN ALL { int umask_extended(int newmask, user_addr_t xsecurity); }
279 NONE NONE ALL { int stat_extended(user_addr_t path, user_addr_t ub, user_addr_t xsecurity, user_addr_t xsecurity_size); }
280 NONE NONE ALL { int lstat_extended(user_addr_t path, user_addr_t ub, user_addr_t xsecurity, user_addr_t xsecurity_size); }
281 NONE NONE ALL { int fstat_extended(int fd, user_addr_t ub, user_addr_t xsecurity, user_addr_t xsecurity_size); }
282 NONE NONE ALL { int chmod_extended(user_addr_t path, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity); }
283 NONE NONE ALL { int fchmod_extended(int fd, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity); }
284 NONE NONE ALL { int access_extended(user_addr_t entries, size_t size, user_addr_t results, uid_t uid); }
285 NONE NONE ALL { int settid(uid_t uid, gid_t gid); }
286 NONE NONE ALL { int gettid(uid_t *uidp, gid_t *gidp); }
287 NONE NONE ALL { int setsgroups(int setlen, user_addr_t guidset); }
288 NONE NONE ALL { int getsgroups(user_addr_t setlen, user_addr_t guidset); }
289 NONE NONE ALL { int setwgroups(int setlen, user_addr_t guidset); }
290 NONE NONE ALL { int getwgroups(user_addr_t setlen, user_addr_t guidset); }
291 NONE NONE ALL { int mkfifo_extended(user_addr_t path, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity); }
292 NONE NONE ALL { int mkdir_extended(user_addr_t path, uid_t uid, gid_t gid, int mode, user_addr_t xsecurity); }
293 NONE NONE ALL { int identitysvc(int opcode, user_addr_t message); }
294 NONE NONE ALL { int nosys(void); }
295 NONE NONE ALL { int nosys(void); }
296 NONE KERN UALL { int load_shared_file(char *filename, caddr_t mfa, u_long mfs, caddr_t *ba, int map_cnt, sf_mapping_t *mappings, int *flags); }
297 NONE KERN UALL { int reset_shared_file(caddr_t *ba, int map_cnt, sf_mapping_t *mappings); }
298 NONE KERN ALL { int new_system_shared_regions(void); }
299 NONE KERN UALL { int shared_region_map_file_np(int fd, uint32_t mappingCount, user_addr_t mappings, user_addr_t slide_p); }
300 NONE KERN UALL { int shared_region_make_private_np(uint32_t rangeCount, user_addr_t ranges); }
301 NONE NONE ALL { int nosys(void); }
302 NONE NONE ALL { int nosys(void); }
303 NONE NONE ALL { int nosys(void); }
304 NONE NONE ALL { int nosys(void); }
305 NONE NONE ALL { int nosys(void); }
306 NONE NONE ALL { int nosys(void); }
307 NONE NONE ALL { int nosys(void); }
308 NONE NONE ALL { int nosys(void); }
309 NONE NONE ALL { int nosys(void); }
310 NONE KERN ALL { int getsid(pid_t pid); }
311 NONE NONE ALL { int settid_with_pid(pid_t pid, int assume); }
312 NONE NONE ALL { int nosys(void); }
313 NONE NONE ALL { int aio_fsync(int op, user_addr_t aiocbp); }
314 NONE NONE ALL { user_ssize_t aio_return(user_addr_t aiocbp); }
315 PRE NONE ALL { int aio_suspend(user_addr_t aiocblist, int nent, user_addr_t timeoutp); }
316 NONE NONE ALL { int aio_cancel(int fd, user_addr_t aiocbp); }
317 NONE NONE ALL { int aio_error(user_addr_t aiocbp); }
318 NONE NONE ALL { int aio_read(user_addr_t aiocbp); }
319 NONE NONE ALL { int aio_write(user_addr_t aiocbp); }
320 NONE NONE ALL { int lio_listio(int mode, user_addr_t aiocblist, int nent, user_addr_t sigp); }
321 NONE NONE ALL { int nosys(void); }
322 NONE NONE ALL { int nosys(void); }
323 NONE NONE ALL { int nosys(void); }
324 NONE NONE ALL { int mlockall(int how); }
325 NONE NONE ALL { int munlockall(int how); }
326 NONE NONE ALL { int nosys(void); }
327 NONE KERN ALL { int issetugid(void); }
328 NONE KERN ALL { int __pthread_kill(int thread_port, int sig); }
329 NONE KERN ALL { int pthread_sigmask(int how, user_addr_t set, user_addr_t oset); }
330 PRE KERN ALL { int sigwait(user_addr_t set, user_addr_t sig); }
331 NONE KERN ALL { int __disable_threadsignal(int value); }
332 NONE NONE ALL { int __pthread_markcancel(int thread_port); }
333 NONE NONE ALL { int __pthread_canceled(int action); }
334 POST NONE ALL { int __semwait_signal(int cond_sem, int mutex_sem, int timeout, int relative, time_t tv_sec, int32_t tv_nsec); }
335 NONE KERN ALL { int utrace(const void *addr, size_t len); }
336 NONE NONE ALL { int nosys(void); }
337 NONE NONE ALL { int nosys(void); }
338 NONE NONE ALL { int nosys(void); }
339 NONE NONE ALL { int nosys(void); }
340 NONE NONE ALL { int nosys(void); }
341 NONE NONE ALL { int nosys(void); }
342 NONE NONE ALL { int nosys(void); }
343 NONE NONE ALL { int nosys(void); }
344 NONE NONE ALL { int nosys(void); }
345 NONE NONE ALL { int nosys(void); }
346 NONE NONE ALL { int nosys(void); }
347 NONE NONE ALL { int nosys(void); }
348 NONE NONE ALL { int nosys(void); }
349 NONE NONE ALL { int nosys(void); }
350 NONE KERN ALL { int audit(void *record, int length); }
351 NONE KERN ALL { int auditon(int cmd, void *data, int length); }
352 NONE KERN ALL { int nosys(void); }
353 NONE KERN ALL { int getauid(au_id_t *auid); }
354 NONE KERN ALL { int setauid(au_id_t *auid); }
355 NONE KERN ALL { int getaudit(struct auditinfo *auditinfo); }
356 NONE KERN ALL { int setaudit(struct auditinfo *auditinfo); }
357 NONE KERN ALL { int getaudit_addr(struct auditinfo_addr *auditinfo_addr, int length); }
358 NONE KERN ALL { int setaudit_addr(struct auditinfo_addr *auditinfo_addr, int length); }
359 NONE KERN ALL { int auditctl(char *path); }
360 NONE NONE ALL { int nosys(void); }
361 NONE NONE ALL { int nosys(void); }
362 NONE NONE ALL { int kqueue(void); }
363 NONE NONE ALL { int kevent(int fd, const struct kevent *changelist, int nchanges, struct kevent *eventlist, int nevents, const struct timespec *timeout); }
364 NONE NONE ALL { int lchown(user_addr_t path, uid_t owner, gid_t group); }
365 NONE NONE ALL { int nosys(void); }
366 NONE NONE ALL { int nosys(void); }
367 NONE NONE ALL { int nosys(void); }
368 NONE NONE ALL { int nosys(void); }
369 NONE NONE ALL { int nosys(void); }
|
|
From: <js...@ac...> - 2005-08-25 02:56:05
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-08-25 03:30:00 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 == 185 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Results from 24 hours ago == ================================================= 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 == 184 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:43:06 2005 --- new.short Thu Aug 25 03:55:52 2005 *************** *** 10,12 **** ! == 184 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) --- 10,12 ---- ! == 185 tests, 2 stderr failures, 0 stdout failures ================= none/tests/faultstatus (stderr) |
|
From: <js...@ac...> - 2005-08-25 02:44:54
|
Nightly build on g5 ( YDL 4.0, ppc970 ) started at 2005-08-25 04:40:00 CEST 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 == 158 tests, 17 stderr failures, 1 stdout failure ================= memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/fprw (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp_unknown (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/dlclose (stdout) cachegrind/tests/dlclose (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_cmsg (stderr) none/tests/fdleak_ipv4 (stderr) |
|
From: Tom H. <to...@co...> - 2005-08-25 02:40:58
|
Nightly build on dunsmere ( athlon, Fedora Core 4 ) started at 2005-08-25 03:30:04 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 187 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 186 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/x86/int (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:35:33 2005 --- new.short Thu Aug 25 03:40:51 2005 *************** *** 8,10 **** ! == 186 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) --- 8,10 ---- ! == 187 tests, 5 stderr failures, 0 stdout failures ================= memcheck/tests/leak-tree (stderr) |
|
From: Tom H. <th...@cy...> - 2005-08-25 02:30:25
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2005-08-25 03:00:03 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 164 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/tls (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 163 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/tls (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:15:26 2005 --- new.short Thu Aug 25 03:30:19 2005 *************** *** 8,10 **** ! == 163 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigprocmask (stderr) --- 8,10 ---- ! == 164 tests, 7 stderr failures, 1 stdout failure ================= memcheck/tests/sigprocmask (stderr) |
|
From: Tom H. <th...@cy...> - 2005-08-25 02:29:05
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2005-08-25 03:15:03 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 186 tests, 15 stderr failures, 2 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (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/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/cmpxchg8b (stdout) none/tests/x86/cmpxchg8b (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 185 tests, 15 stderr failures, 2 stdout failures ================= memcheck/tests/addressable (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (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/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) none/tests/faultstatus (stderr) none/tests/x86/cmpxchg8b (stdout) none/tests/x86/cmpxchg8b (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:22:02 2005 --- new.short Thu Aug 25 03:28:52 2005 *************** *** 8,10 **** ! == 185 tests, 15 stderr failures, 2 stdout failures ================= memcheck/tests/addressable (stderr) --- 8,10 ---- ! == 186 tests, 15 stderr failures, 2 stdout failures ================= memcheck/tests/addressable (stderr) |
|
From: Tom H. <th...@cy...> - 2005-08-25 02:24:47
|
Nightly build on ginetta ( i686, Red Hat 8.0 ) started at 2005-08-25 03:10:09 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 186 tests, 2 stderr failures, 1 stdout failure ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 185 tests, 2 stderr failures, 1 stdout failure ================= none/tests/faultstatus (stderr) none/tests/x86/int (stderr) none/tests/x86/yield (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:18:28 2005 --- new.short Thu Aug 25 03:24:43 2005 *************** *** 8,10 **** ! == 185 tests, 2 stderr failures, 1 stdout failure ================= none/tests/faultstatus (stderr) --- 8,10 ---- ! == 186 tests, 2 stderr failures, 1 stdout failure ================= none/tests/faultstatus (stderr) |
|
From: Tom H. <th...@cy...> - 2005-08-25 02:20:31
|
Nightly build on dellow ( x86_64, Fedora Core 4 ) started at 2005-08-25 03:10:09 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 164 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 163 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:16:03 2005 --- new.short Thu Aug 25 03:20:26 2005 *************** *** 8,10 **** ! == 163 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) --- 8,10 ---- ! == 164 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) |
|
From: Tom H. <th...@cy...> - 2005-08-25 02:16:35
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-08-25 03:05:09 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 164 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 163 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) memcheck/tests/strchr (stderr) memcheck/tests/vgtest_ume (stderr) memcheck/tests/weirdioctl (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Aug 25 03:11:38 2005 --- new.short Thu Aug 25 03:16:26 2005 *************** *** 8,10 **** ! == 163 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) --- 8,10 ---- ! == 164 tests, 6 stderr failures, 0 stdout failures ================= memcheck/tests/sigprocmask (stderr) |
|
From: <sv...@va...> - 2005-08-25 01:52:57
|
Author: njn
Date: 2005-08-25 02:52:52 +0100 (Thu, 25 Aug 2005)
New Revision: 4513
Log:
avoid unnecessary newlines
Modified:
trunk/coregrind/m_scheduler/scheduler.c
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-08-25 00:22:20 UTC (rev =
4512)
+++ trunk/coregrind/m_scheduler/scheduler.c 2005-08-25 01:52:52 UTC (rev =
4513)
@@ -943,7 +943,7 @@
case VG_USERREQ__CLIENT_CALL0: {
UWord (*f)(ThreadId) =3D (void*)arg[1];
if (f =3D=3D NULL)
- VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL0: func=3D%p\n", =
f);
+ VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL0: func=3D%p", f)=
;
else
SET_CLCALL_RETVAL(tid, f ( tid ), (Addr)f);
break;
@@ -951,7 +951,7 @@
case VG_USERREQ__CLIENT_CALL1: {
UWord (*f)(ThreadId, UWord) =3D (void*)arg[1];
if (f =3D=3D NULL)
- VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL1: func=3D%p\n", =
f);
+ VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL1: func=3D%p", f)=
;
else
SET_CLCALL_RETVAL(tid, f ( tid, arg[2] ), (Addr)f );
break;
@@ -959,7 +959,7 @@
case VG_USERREQ__CLIENT_CALL2: {
UWord (*f)(ThreadId, UWord, UWord) =3D (void*)arg[1];
if (f =3D=3D NULL)
- VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL2: func=3D%p\n", =
f);
+ VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL2: func=3D%p", f)=
;
else
SET_CLCALL_RETVAL(tid, f ( tid, arg[2], arg[3] ), (Addr)f );
break;
@@ -967,7 +967,7 @@
case VG_USERREQ__CLIENT_CALL3: {
UWord (*f)(ThreadId, UWord, UWord, UWord) =3D (void*)arg[1];
if (f =3D=3D NULL)
- VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL3: func=3D%p\n", =
f);
+ VG_(message)(Vg_DebugMsg, "VG_USERREQ__CLIENT_CALL3: func=3D%p", f)=
;
else
SET_CLCALL_RETVAL(tid, f ( tid, arg[2], arg[3], arg[4] ), (Addr)f )=
;
break;
|
|
From: Nicholas N. <nj...@cs...> - 2005-08-25 00:23:49
|
On Thu, 25 Aug 2005, Julian Seward wrote: > Dirk, this is all useful stuff -- thanks for that. > Except, please don't merge any ppc32 specific stuff. > ppc32 is never going to work on 3.0.X (3.1.X yes, but > not 3.0.X) and so there is no point in copying any > ppc32 specific changes across. There's also probably not much point merging in little changes like adding comments or cutting #include lines... Nick |
|
From: <sv...@va...> - 2005-08-25 00:22:23
|
Author: njn Date: 2005-08-25 01:22:20 +0100 (Thu, 25 Aug 2005) New Revision: 4512 Log: update Modified: trunk/docs/internals/3_0_BUGSTATUS.txt Modified: trunk/docs/internals/3_0_BUGSTATUS.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/docs/internals/3_0_BUGSTATUS.txt 2005-08-25 00:20:56 UTC (rev 4= 511) +++ trunk/docs/internals/3_0_BUGSTATUS.txt 2005-08-25 00:22:20 UTC (rev 4= 512) @@ -434,3 +434,10 @@ FIXED-TRUNK: 4492 FIXED-30BRANCH: 4509 =20 +---------------------------------------------------------------- + +101204: noisy warning + +FIXED-TRUNK: 4511 +FIXED-30BRANCH: TODO + |
|
From: <sv...@va...> - 2005-08-25 00:21:01
|
Author: njn
Date: 2005-08-25 01:20:56 +0100 (Thu, 25 Aug 2005)
New Revision: 4511
Log:
Only show the "line number too large" warning once.
Modified:
trunk/coregrind/m_debuginfo/symtab.c
Modified: trunk/coregrind/m_debuginfo/symtab.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_debuginfo/symtab.c 2005-08-24 23:09:19 UTC (rev 451=
0)
+++ trunk/coregrind/m_debuginfo/symtab.c 2005-08-25 00:20:56 UTC (rev 451=
1)
@@ -273,23 +273,29 @@
/* vg_assert(this < si->start + si->size && next-1 >=3D si->start); *=
/
if (this >=3D si->start + si->size || next-1 < si->start) {
if (0)
- VG_(message)(Vg_DebugMsg,=20
- "warning: ignoring line info entry falling "
- "outside current SegInfo: %p %p %p %p",
- si->start, si->start + si->size,=20
- this, next-1);
+ VG_(message)(Vg_DebugMsg,=20
+ "warning: ignoring line info entry falling "
+ "outside current SegInfo: %p %p %p %p",
+ si->start, si->start + si->size,=20
+ this, next-1);
return;
}
=20
vg_assert(lineno >=3D 0);
if (lineno > MAX_LINENO) {
- VG_(message)(Vg_UserMsg,=20
- "warning: ignoring line info entry with "
- "huge line number (%d)", lineno);
- VG_(message)(Vg_UserMsg,=20
- " Can't handle line numbers "
- "greater than %d, sorry", MAX_LINENO);
- return;
+ static Bool complained =3D False;
+ if (!complained) {
+ complained =3D True;
+ VG_(message)(Vg_UserMsg,=20
+ "warning: ignoring line info entry with "
+ "huge line number (%d)", lineno);
+ VG_(message)(Vg_UserMsg,=20
+ " Can't handle line numbers "
+ "greater than %d, sorry", MAX_LINENO);
+ VG_(message)(Vg_UserMsg,=20
+ "(Nb: this message is only shown once)");
+ }
+ return;
}
=20
loc.addr =3D this;
|