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
(11) |
3
|
4
(9) |
5
(10) |
6
(4) |
7
(14) |
|
8
(15) |
9
(15) |
10
(14) |
11
(13) |
12
(16) |
13
(12) |
14
(9) |
|
15
(21) |
16
(13) |
17
(11) |
18
(13) |
19
(5) |
20
(29) |
21
(20) |
|
22
(13) |
23
(18) |
24
(21) |
25
(17) |
26
(26) |
27
(13) |
28
(17) |
|
29
(10) |
30
(5) |
|
|
|
|
|
|
From: <sv...@va...> - 2014-06-20 21:47:53
|
Author: florian
Date: Fri Jun 20 21:47:41 2014
New Revision: 14069
Log:
Fix a few Char / HChar mixups.
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 21:47:41 2014
@@ -72,7 +72,7 @@
#define msgh_request_port msgh_remote_port
#define msgh_reply_port msgh_local_port
#define BOOTSTRAP_MAX_NAME_LEN 128
-typedef char name_t[BOOTSTRAP_MAX_NAME_LEN];
+typedef HChar name_t[BOOTSTRAP_MAX_NAME_LEN];
typedef uint64_t mig_addr_t;
@@ -358,7 +358,7 @@
mach_port_t port;
mach_port_type_t type; /* right type(s) */
Int send_count; /* number of send rights */
- Char *name; /* bootstrap name or NULL */
+ HChar *name; /* bootstrap name or NULL */
ExeContext *where; /* first allocation only */
struct OpenPort *next, *prev;
} OpenPort;
@@ -423,7 +423,7 @@
// Give a port a name, without changing its refcount
// GrP fixme don't override name if it already has a specific one
-__private_extern__ void assign_port_name(mach_port_t port, const char *name)
+__private_extern__ void assign_port_name(mach_port_t port, const HChar *name)
{
OpenPort *i;
if (!port) return;
@@ -436,19 +436,19 @@
i->name =
VG_(arena_malloc)(VG_AR_CORE, "syswrap-darwin.mach-port-name",
VG_(strlen)(name) + PORT_STRLEN + 1);
- VG_(sprintf)((HChar*)i->name, name, port);
+ VG_(sprintf)(i->name, name, port);
}
// Return the name of the given port or "UNKNOWN 0x1234" if not known.
-static const Char *name_for_port(mach_port_t port)
+static const HChar *name_for_port(mach_port_t port)
{
- static Char buf[8 + PORT_STRLEN + 1];
+ static HChar buf[8 + PORT_STRLEN + 1];
OpenPort *i;
// hack
- if (port == VG_(gettid)()) return (const Char *)"mach_thread_self()";
- if (port == 0) return (const Char *)"NULL";
+ if (port == VG_(gettid)()) return "mach_thread_self()";
+ if (port == 0) return "NULL";
i = allocated_ports;
while (i) {
@@ -458,7 +458,7 @@
i = i->next;
}
- VG_(sprintf)((HChar*)buf, "NONPORT-%#x", port);
+ VG_(sprintf)(buf, "NONPORT-%#x", port);
return buf;
}
@@ -555,7 +555,7 @@
/* Note the fact that a Mach port was just allocated or transferred.
If the port is already known, increment its reference count. */
void record_named_port(ThreadId tid, mach_port_t port,
- mach_port_right_t right, const char *name)
+ mach_port_right_t right, const HChar *name)
{
OpenPort *i;
if (!port) return;
@@ -1060,7 +1060,7 @@
/* ---------------------------------------------------------------------
darwin fcntl wrapper
------------------------------------------------------------------ */
-static const char *name_for_fcntl(UWord cmd) {
+static const HChar *name_for_fcntl(UWord cmd) {
#define F(n) case VKI_##n: return #n
switch (cmd) {
F(F_CHKCLEAN);
@@ -1600,7 +1600,7 @@
// but we ignore them all until some work item starts running on it.
}
-static const char *workqop_name(int op)
+static const HChar *workqop_name(int op)
{
switch (op) {
case VKI_WQOPS_QUEUE_ADD: return "QUEUE_ADD";
@@ -2464,7 +2464,7 @@
// by 'data'.
*flags |= SfMayBlock;
PRINT("sys_mount( %#lx(%s), %#lx(%s), %#lx, %#lx )",
- ARG1,(Char*)ARG1, ARG2,(Char*)ARG2, ARG3, ARG4);
+ ARG1,(char*)ARG1, ARG2,(char*)ARG2, ARG3, ARG4);
PRE_REG_READ4(long, "mount",
const char *, type, const char *, dir,
int, flags, void *, data);
@@ -2887,7 +2887,7 @@
// is, they to be run natively.
setuid_allowed = trace_this_child ? False : True;
ret = VG_(check_executable)(NULL/*&is_setuid*/,
- (HChar*)exe_name, setuid_allowed);
+ exe_name, setuid_allowed);
if (0 != ret) {
return VG_(mk_SysRes_Error)(ret);
}
@@ -2970,7 +2970,7 @@
}
/* Ok. So let's give it a try. */
- VG_(debugLog)(1, "syswrap", "Posix_spawn of %s\n", (Char*)ARG2);
+ VG_(debugLog)(1, "syswrap", "Posix_spawn of %s\n", (HChar*)ARG2);
/* posix_spawn on Darwin is combining the fork and exec in one syscall.
So, we should not terminate gdbserver : this is still the parent
@@ -7377,7 +7377,7 @@
if (port == vg_task_port) return True;
- return (0 == VG_(strncmp)("task-", (const HChar *)name_for_port(port), 5));
+ return (0 == VG_(strncmp)("task-", name_for_port(port), 5));
}
|
|
From: Julian S. <js...@ac...> - 2014-06-20 21:06:57
|
On 06/20/2014 06:24 PM, Florian Krohm wrote: > I'm suggesting the attached patch which I compiled with clang 3.4.2 > with no new warnings. But I cannot test on macos. Thanks! It compiles fine on OSX 10.9 (XCode 5.5.1.) Please commit. J |
|
From: Florian K. <fl...@ei...> - 2014-06-20 16:25:10
|
On 06/20/2014 03:22 PM, sv...@va... wrote:
> Author: sewardj
> Date: Fri Jun 20 13:22:57 2014
> New Revision: 14060
>
> Log:
> Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name
> "0003-darwin-remove-warnings-in-logs-related-to-Char-HChar.patch"
> (Frederic Germain, fre...@gm...)
>
> Modified:
> trunk/coregrind/m_syswrap/syswrap-darwin.c
>
> Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
> ==============================================================================
> --- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
> +++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 13:22:57 2014
> @@ -436,19 +436,19 @@
> i->name =
> VG_(arena_malloc)(VG_AR_CORE, "syswrap-darwin.mach-port-name",
> VG_(strlen)(name) + PORT_STRLEN + 1);
> - VG_(sprintf)(i->name, name, port);
> + VG_(sprintf)((HChar*)i->name, name, port);
This indicates that i->name has the wrong type. Should be HChar * to
begin with.
> }
>
>
> // Return the name of the given port or "UNKNOWN 0x1234" if not known.
> -static const char *name_for_port(mach_port_t port)
> +static const Char *name_for_port(mach_port_t port)
Should be HChar not Char.
> {
> - static char buf[8 + PORT_STRLEN + 1];
> + static Char buf[8 + PORT_STRLEN + 1];
Likewise.
> OpenPort *i;
>
> // hack
> - if (port == VG_(gettid)()) return "mach_thread_self()";
> - if (port == 0) return "NULL";
> + if (port == VG_(gettid)()) return (const Char *)"mach_thread_self()";
> + if (port == 0) return (const Char *)"NULL";
Yikes...
and so on.
I'm suggesting the attached patch which I compiled with clang 3.4.2
with no new warnings. But I cannot test on macos.
Florian
|
|
From: <sv...@va...> - 2014-06-20 15:30:30
|
Author: sewardj
Date: Fri Jun 20 15:30:18 2014
New Revision: 14068
Log:
Fix a missing-prototype warning on OS X 10.7.
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
Modified: trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-darwin.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-darwin.h Fri Jun 20 15:30:18 2014
@@ -344,7 +344,7 @@
DECL_TEMPLATE(darwin, fchmod_extended); // 283
DECL_TEMPLATE(darwin, access_extended); // 284
DECL_TEMPLATE(darwin, settid); // 285
-#if DARWIN_VERS >= DARWIN_10_8
+#if DARWIN_VERS >= DARWIN_10_7
DECL_TEMPLATE(darwin, gettid); // 286
#endif
// NYI setsgroups 287
|
|
From: <sv...@va...> - 2014-06-20 14:27:34
|
Author: sewardj
Date: Fri Jun 20 14:27:27 2014
New Revision: 2882
Log:
Fix an enum type confusion, PPCAvFpOp vs PPCAvOp, as excellently
detected by Clang. Gcc, are you paying attention?
Modified:
trunk/priv/host_ppc_isel.c
Modified: trunk/priv/host_ppc_isel.c
==============================================================================
--- trunk/priv/host_ppc_isel.c (original)
+++ trunk/priv/host_ppc_isel.c Fri Jun 20 14:27:27 2014
@@ -4853,16 +4853,16 @@
return dst;
}
- case Iop_Clz8Sx16: fpop = Pav_ZEROCNTBYTE; goto do_zerocnt;
- case Iop_Clz16Sx8: fpop = Pav_ZEROCNTHALF; goto do_zerocnt;
- case Iop_Clz32Sx4: fpop = Pav_ZEROCNTWORD; goto do_zerocnt;
- case Iop_Clz64x2: fpop = Pav_ZEROCNTDBL; goto do_zerocnt;
- case Iop_PwBitMtxXpose64x2: fpop = Pav_BITMTXXPOSE; goto do_zerocnt;
+ case Iop_Clz8Sx16: op = Pav_ZEROCNTBYTE; goto do_zerocnt;
+ case Iop_Clz16Sx8: op = Pav_ZEROCNTHALF; goto do_zerocnt;
+ case Iop_Clz32Sx4: op = Pav_ZEROCNTWORD; goto do_zerocnt;
+ case Iop_Clz64x2: op = Pav_ZEROCNTDBL; goto do_zerocnt;
+ case Iop_PwBitMtxXpose64x2: op = Pav_BITMTXXPOSE; goto do_zerocnt;
do_zerocnt:
{
HReg arg = iselVecExpr(env, e->Iex.Unop.arg);
HReg dst = newVRegV(env);
- addInstr(env, PPCInstr_AvUnary(fpop, dst, arg));
+ addInstr(env, PPCInstr_AvUnary(op, dst, arg));
return dst;
}
|
|
From: <sv...@va...> - 2014-06-20 14:26:00
|
Author: sewardj
Date: Fri Jun 20 14:25:53 2014
New Revision: 14067
Log:
Mark unused functions as unused, to keep Clang happy.
Modified:
trunk/helgrind/libhb_core.c
Modified: trunk/helgrind/libhb_core.c
==============================================================================
--- trunk/helgrind/libhb_core.c (original)
+++ trunk/helgrind/libhb_core.c Fri Jun 20 14:25:53 2014
@@ -517,6 +517,7 @@
#define SecMap_MAGIC 0x571e58cbU
+__attribute__((unused))
static inline Bool is_sane_SecMap ( SecMap* sm ) {
return sm != NULL && sm->magic == SecMap_MAGIC;
}
@@ -3789,6 +3790,7 @@
static inline Bool SVal__isA ( SVal s ) {
return (2ULL << 62) == (s & SVAL_TAGMASK);
}
+__attribute__((unused))
static inline SVal SVal__mkA ( void ) {
return 2ULL << 62;
}
|
|
From: <sv...@va...> - 2014-06-20 14:17:16
|
Author: sewardj
Date: Fri Jun 20 14:17:09 2014
New Revision: 14066
Log:
Remove unused function swapfunc().
Modified:
trunk/callgrind/dump.c
Modified: trunk/callgrind/dump.c
==============================================================================
--- trunk/callgrind/dump.c (original)
+++ trunk/callgrind/dump.c Fri Jun 20 14:17:09 2014
@@ -990,16 +990,6 @@
*/
static __inline__
-void swapfunc(BBCC** a, BBCC** b, int n)
-{
- while(n>0) {
- BBCC* t = *a; *a = *b; *b = t;
- a++, b++;
- n--;
- }
-}
-
-static __inline__
void swap(BBCC** a, BBCC** b)
{
BBCC* t;
|
|
From: <sv...@va...> - 2014-06-20 14:15:06
|
Author: sewardj
Date: Fri Jun 20 14:14:59 2014
New Revision: 14065
Log:
Remove fd_exists(), as it is never used.
Modified:
trunk/coregrind/m_libcfile.c
Modified: trunk/coregrind/m_libcfile.c
==============================================================================
--- trunk/coregrind/m_libcfile.c (original)
+++ trunk/coregrind/m_libcfile.c Fri Jun 20 14:14:59 2014
@@ -50,12 +50,6 @@
File stuff
------------------------------------------------------------------ */
-static inline Bool fd_exists(Int fd)
-{
- struct vg_stat st;
- return VG_(fstat)(fd, &st) == 0;
-}
-
/* Move an fd into the Valgrind-safe range */
Int VG_(safe_fd)(Int oldfd)
{
|
|
From: <sv...@va...> - 2014-06-20 14:11:34
|
Author: sewardj
Date: Fri Jun 20 14:11:27 2014
New Revision: 14064
Log:
Fix incorrect header guard macro, as awesomely detected by clang.
Modified:
trunk/coregrind/m_initimg/priv_initimg_pathscan.h
Modified: trunk/coregrind/m_initimg/priv_initimg_pathscan.h
==============================================================================
--- trunk/coregrind/m_initimg/priv_initimg_pathscan.h (original)
+++ trunk/coregrind/m_initimg/priv_initimg_pathscan.h Fri Jun 20 14:11:27 2014
@@ -30,10 +30,10 @@
*/
#ifndef __PRIV_INITIMG_PATHSCAN_H
-#define __PRIV_INITIMG_PATHSCAN_
+#define __PRIV_INITIMG_PATHSCAN_H
#include "pub_core_basics.h" // HChar
extern const HChar* ML_(find_executable) ( const HChar* exec );
-#endif
+#endif // ndef __PRIV_INITIMG_PATHSCAN_H
|
|
From: <sv...@va...> - 2014-06-20 14:07:45
|
Author: sewardj
Date: Fri Jun 20 14:07:38 2014
New Revision: 14063
Log:
Fix a -Wshadow warning from some oldish version of XCode.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c Fri Jun 20 14:07:38 2014
@@ -927,7 +927,7 @@
struct vki_msghdr *msg,
UInt length,
void (*foreach_func)( ThreadId, Bool, const HChar *, Addr, SizeT ),
- Bool recv
+ Bool rekv /* "recv" apparently shadows some header decl on OSX108 */
)
{
HChar *fieldName;
@@ -948,7 +948,7 @@
/* msg_flags is completely ignored for send_mesg, recv_mesg doesn't read
the field, but does write to it. */
- if ( recv )
+ if ( rekv )
foreach_func ( tid, False, fieldName, (Addr)&msg->msg_flags, sizeof( msg->msg_flags ) );
if ( ML_(safe_to_deref)(&msg->msg_name, sizeof (void *))
|
|
From: <sv...@va...> - 2014-06-20 13:38:14
|
Author: sewardj
Date: Fri Jun 20 13:38:04 2014
New Revision: 14062
Log:
Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name
"0005-darwin-try-to-improve-support-for-mach_msg-on-extern.patch"
(Frederic Germain, fre...@gm...)
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-darwin.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-darwin.h Fri Jun 20 13:38:04 2014
@@ -51,7 +51,7 @@
void VG_(show_open_ports)(void);
-void ML_(sync_mappings)(const HChar *when, const HChar *where, Int num);
+Bool ML_(sync_mappings)(const HChar *when, const HChar *where, Int num);
// Unix syscalls.
// GEN = it uses the generic wrapper
@@ -599,6 +599,7 @@
DECL_TEMPLATE(darwin, process_policy);
#endif /* DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9 */
DECL_TEMPLATE(darwin, mach_msg_unhandled);
+DECL_TEMPLATE(darwin, mach_msg_unhandled_check);
DECL_TEMPLATE(darwin, mach_msg);
DECL_TEMPLATE(darwin, mach_reply_port);
DECL_TEMPLATE(darwin, mach_thread_self);
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 13:38:04 2014
@@ -633,7 +633,7 @@
sync_mappings
------------------------------------------------------------------ */
-void ML_(sync_mappings)(const HChar *when, const HChar *where, Int num)
+Bool ML_(sync_mappings)(const HChar *when, const HChar *where, Int num)
{
// Usually the number of segments added/removed in a single calls is very
// small e.g. 1. But it sometimes gets up to at least 100 or so (eg. for
@@ -689,6 +689,8 @@
}
VG_(free)(css);
+
+ return css_used > 0;
}
/* ---------------------------------------------------------------------
@@ -7463,12 +7465,132 @@
return;
}
else {
- // arbitrary message to arbitrary port
- PRINT("UNHANDLED mach_msg [id %d, to %s, reply 0x%x]",
- mh->msgh_id, name_for_port(mh->msgh_request_port),
- mh->msgh_reply_port);
-
+ // this is an attempt to optimize mapping sync
+ // but there are always some cases hard to find
+#if 0
+ Bool do_mapping_update = False;
+ // sorted by msgh_id, we suppose that msgh_id are different for each service,
+ // which is obviously not true...
+ switch (mh->msgh_id) {
+ // com.apple.windowserver.active
+ case 29008: // this one opens a port type 'a'
+
+ // com.apple.windowserver.active 'a' port
+ case 29000:
+ case 29822:
+ case 29820: // adds a vm mapping
+ case 29809: // contains a ool mem
+ case 29800: // opens a port type 'b'
+ case 29873:
+ case 29876: // adds a vm mapping
+
+ // com.apple.windowserver.active 'b' port
+ case 29624:
+ case 29625:
+ case 29506:
+ case 29504:
+ case 29509:
+ case 29315:
+ case 29236:
+ case 29473:
+ case 29268:
+ case 29237: // contains a ool mem
+ case 29360:
+ case 29301:
+ case 29287:
+ case 29568:
+ case 29570: // contains a ool mem
+ case 29211:
+ case 29569: // contains a ool mem
+ case 29374:
+ case 29246:
+ case 29239:
+ case 29272:
+ if (mh->msgh_id == 29820 ||
+ mh->msgh_id == 29876)
+ do_mapping_update = True;
+
+ PRINT("com.apple.windowserver.active service mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ break;
+
+ // com.apple.FontServer
+ case 13024:
+ PRINT("com.apple.FontServerservice mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ break;
+
+ // com.apple.system.notification_center
+ case 78945698:
+ case 78945701:
+ case 78945695: // contains a ool mem
+ case 78945694:
+ case 78945700:
+ if (mh->msgh_id == 78945695)
+ do_mapping_update = False;
+ PRINT("com.apple.system.notification_center mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ break;
+
+ // com.apple.CoreServices.coreservicesd
+ case 10000:
+ case 10019:
+ case 10002: // adds vm mappings
+ case 10003: // adds vm mappings
+ case 14007:
+ case 13000:
+ case 13001:
+ case 13011:
+ case 13016: // contains a ool mem
+ if (mh->msgh_id == 10002||
+ mh->msgh_id == 10003)
+ do_mapping_update = True;
+ PRINT("com.apple.CoreServices.coreservicesd mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ break;
+
+ // com.apple.system.logger
+ case 118:
+ PRINT("com.apple.system.logger mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ break;
+
+ // com.apple.coreservices.launchservicesd, and others
+ case 1999646836: // might adds vm mapping
+ if (mh->msgh_id == 1999646836)
+ do_mapping_update = True;
+ PRINT("om.apple.coreservices.launchservicesd mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ break;
+
+ // com.apple.ocspd
+ case 33012:
+ PRINT("com.apple.ocspd mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+
+ default:
+ // arbitrary message to arbitrary port
+ do_mapping_update = True;
+ PRINT("UNHANDLED mach_msg [id %d, to %s, reply 0x%x]",
+ mh->msgh_id, name_for_port(mh->msgh_request_port),
+ mh->msgh_reply_port);
+ }
+
+ // this is an optimization, don't check mapping on known mach_msg
+ if (do_mapping_update)
+ AFTER = POST_FN(mach_msg_unhandled);
+ else
+ AFTER = POST_FN(mach_msg_unhandled_check);
+#else
AFTER = POST_FN(mach_msg_unhandled);
+#endif
// Assume the entire message body may be read.
// GrP fixme generates false positives for unknown protocols
@@ -7518,6 +7640,12 @@
ML_(sync_mappings)("after", "mach_msg_receive (unhandled)", 0);
}
+POST(mach_msg_unhandled_check)
+{
+ if (ML_(sync_mappings)("after", "mach_msg_receive (unhandled_check)", 0))
+ PRINT("mach_msg_unhandled_check tid:%d missed mapping change()", tid);
+}
+
/* ---------------------------------------------------------------------
other Mach traps
|
|
From: <sv...@va...> - 2014-06-20 13:29:39
|
Author: sewardj
Date: Fri Jun 20 13:29:31 2014
New Revision: 14061
Log:
Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name
"0004-wqthread_hijack-fix-magic_delta-on-darwin-10.9.patch"
(Frederic Germain, fre...@gm...)
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c Fri Jun 20 13:29:31 2014
@@ -476,8 +476,13 @@
idea why. */
# if DARWIN_VERS <= DARWIN_10_6
UWord magic_delta = 0;
-# elif DARWIN_VERS >= DARWIN_10_7
+# elif DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8
UWord magic_delta = 0x60;
+# elif DARWIN_VERS == DARWIN_10_9
+ UWord magic_delta = 0xE0;
+# else
+# error "magic_delta: to be computed on new OS version"
+ // magic_delta = tst->os_state.pthread - self
# endif
// This thread already exists; we're merely re-entering
|
|
From: <sv...@va...> - 2014-06-20 13:23:05
|
Author: sewardj
Date: Fri Jun 20 13:22:57 2014
New Revision: 14060
Log:
Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name
"0003-darwin-remove-warnings-in-logs-related-to-Char-HChar.patch"
(Frederic Germain, fre...@gm...)
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 13:22:57 2014
@@ -436,19 +436,19 @@
i->name =
VG_(arena_malloc)(VG_AR_CORE, "syswrap-darwin.mach-port-name",
VG_(strlen)(name) + PORT_STRLEN + 1);
- VG_(sprintf)(i->name, name, port);
+ VG_(sprintf)((HChar*)i->name, name, port);
}
// Return the name of the given port or "UNKNOWN 0x1234" if not known.
-static const char *name_for_port(mach_port_t port)
+static const Char *name_for_port(mach_port_t port)
{
- static char buf[8 + PORT_STRLEN + 1];
+ static Char buf[8 + PORT_STRLEN + 1];
OpenPort *i;
// hack
- if (port == VG_(gettid)()) return "mach_thread_self()";
- if (port == 0) return "NULL";
+ if (port == VG_(gettid)()) return (const Char *)"mach_thread_self()";
+ if (port == 0) return (const Char *)"NULL";
i = allocated_ports;
while (i) {
@@ -458,7 +458,7 @@
i = i->next;
}
- VG_(sprintf)(buf, "NONPORT-%#x", port);
+ VG_(sprintf)((HChar*)buf, "NONPORT-%#x", port);
return buf;
}
@@ -2073,7 +2073,7 @@
SET_STATUS_Failure( VKI_EMFILE );
} else {
if (VG_(clo_track_fds))
- ML_(record_fd_open_with_given_name)(tid, RES, (Char*)ARG1);
+ ML_(record_fd_open_with_given_name)(tid, RES, (char*)ARG1);
}
}
@@ -2852,7 +2852,7 @@
/* Largely copied from PRE(sys_execve) in syswrap-generic.c, and from
the simpler AIX equivalent (syswrap-aix5.c). */
// Pre_read a char** argument.
-static void pre_argv_envp(Addr a, ThreadId tid, const Char* s1, const Char* s2)
+static void pre_argv_envp(Addr a, ThreadId tid, const HChar* s1, const HChar* s2)
{
while (True) {
Addr a_deref;
@@ -2893,11 +2893,11 @@
}
PRE(posix_spawn)
{
- Char* path = NULL; /* path to executable */
+ HChar* path = NULL; /* path to executable */
HChar** envp = NULL;
HChar** argv = NULL;
HChar** arg2copy;
- Char* launcher_basename = NULL;
+ HChar* launcher_basename = NULL;
Int i, j, tot_args;
SysRes res;
Bool trace_this_child;
@@ -2990,7 +2990,7 @@
launcher_basename = path;
} else {
- path = (Char*)ARG2;
+ path = (HChar*)ARG2;
}
// Set up the child's environment.
@@ -3058,7 +3058,7 @@
continue;
argv[j++] = * (HChar**) VG_(indexXA)( VG_(args_for_valgrind), i );
}
- argv[j++] = (Char*)ARG2;
+ argv[j++] = (HChar*)ARG2;
if (arg2copy && arg2copy[0])
for (i = 1; arg2copy[i]; i++)
argv[j++] = arg2copy[i];
@@ -4109,8 +4109,8 @@
Addr start = VG_PGROUNDDN((Addr)desc->out_of_line.address);
Addr end = VG_PGROUNDUP((Addr)desc->out_of_line.address +
(Addr)desc->out_of_line.size);
- PRINT("got ool mem %p..%#lx;\n", desc->out_of_line.address,
- (Addr)desc->out_of_line.address+desc->out_of_line.size);
+ PRINT("got ool mem %p..%p;\n", desc->out_of_line.address,
+ (char*)desc->out_of_line.address+desc->out_of_line.size);
ML_(notify_core_and_tool_of_mmap)(
start, end - start, VKI_PROT_READ|VKI_PROT_WRITE,
@@ -6464,10 +6464,12 @@
Request *req = (Request *)ARG1;
// GrP fixme check these
- PRINT("mach_vm_map(in %s, at 0x%llx, size %llu, from %s ...)",
- name_for_port(MACH_REMOTE),
+ PRINT("mach_vm_map(in %s->%s at 0x%llx, size %llu, cur_prot:%x max_prot:%x ...)",
+ name_for_port(req->Head.msgh_remote_port),
+ name_for_port(req->object.name),
req->address, req->size,
- name_for_port(req->object.name));
+ req->cur_protection,
+ req->max_protection);
MACH_ARG(mach_vm_map.size) = req->size;
MACH_ARG(mach_vm_map.copy) = req->copy;
@@ -7373,7 +7375,7 @@
if (port == vg_task_port) return True;
- return (0 == VG_(strncmp)("task-", name_for_port(port), 5));
+ return (0 == VG_(strncmp)("task-", (const HChar *)name_for_port(port), 5));
}
@@ -8148,7 +8150,7 @@
PRE(kernelrpc_mach_vm_allocate_trap)
{
- PRINT("kernelrpc_mach_vm_allocate_trap(target:%#lx, address:%p, size:%#lx, flags:%#lx)", ARG1, *(void**)ARG2, ARG3, ARG4);
+ PRINT("kernelrpc_mach_vm_allocate_trap(target:%s, address:%p, size:%#lx, flags:%#lx)", name_for_port(ARG1), *(void**)ARG2, ARG3, ARG4);
if ((ARG4 & VM_FLAGS_ANYWHERE) == VM_FLAGS_FIXED)
ML_(notify_core_and_tool_of_mmap)(*(mach_vm_address_t*)ARG2, ARG3, VKI_PROT_READ|VKI_PROT_WRITE, VKI_MAP_ANON, -1, 0);
}
|
|
From: <sv...@va...> - 2014-06-20 13:14:05
|
Author: sewardj
Date: Fri Jun 20 13:13:57 2014
New Revision: 14059
Log:
Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name
"0002-thread_state_from_vex-adding-support-for-x86_THREAD_.patch"
(Frederic Germain, fre...@gm...)
Modified:
trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c Fri Jun 20 13:13:57 2014
@@ -134,8 +134,25 @@
vg_assert(count == x86_FLOAT_STATE64_COUNT);
x86_float_state64_from_vex((x86_float_state64_t *)mach_generic, vex);
break;
+
+ case x86_THREAD_STATE:
+ ((x86_float_state_t *)mach_generic)->fsh.flavor = flavor;
+ ((x86_float_state_t *)mach_generic)->fsh.count = count;
+ x86_thread_state64_from_vex(&((x86_thread_state_t *)mach_generic)->uts.ts64, vex);
+ break;
+
+ case x86_FLOAT_STATE:
+ ((x86_float_state_t *)mach_generic)->fsh.flavor = flavor;
+ ((x86_float_state_t *)mach_generic)->fsh.count = count;
+ x86_float_state64_from_vex(&((x86_float_state_t *)mach_generic)->ufs.fs64, vex);
+ break;
+ case x86_EXCEPTION_STATE:
+ VG_(printf)("thread_state_from_vex: TODO, want exception state\n");
+ vg_assert(0);
+
default:
+ VG_(printf)("thread_state_from_vex: flavor:%#x\n", flavor);
vg_assert(0);
}
}
|
|
From: <sv...@va...> - 2014-06-20 13:09:04
|
Author: sewardj
Date: Fri Jun 20 13:08:51 2014
New Revision: 14058
Log:
Un-break the build on OS X 10.8 following r14057
(0001-adding-support-for-loads-of-new-syscall-in-darwin-10.patch)
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 13:08:51 2014
@@ -8889,15 +8889,19 @@
MACX_(__NR_semaphore_timedwait_trap, semaphore_timedwait),
MACX_(__NR_semaphore_timedwait_signal_trap, semaphore_timedwait_signal),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(40)), // -40
+
#if defined(VGA_x86)
// _____(__NR_init_process),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(42)),
// _____(__NR_map_fd),
#else
+# if DARWIN_VERS >= DARWIN_10_9
MACX_(__NR_kernelrpc_mach_port_guard_trap, kernelrpc_mach_port_guard_trap),
MACX_(__NR_kernelrpc_mach_port_unguard_trap, kernelrpc_mach_port_unguard_trap),
+# endif
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(43)),
#endif
+
// _____(__NR_task_name_for_pid),
MACXY(__NR_task_for_pid, task_for_pid),
MACXY(__NR_pid_for_task, pid_for_task),
|
Author: sewardj
Date: Fri Jun 20 12:35:00 2014
New Revision: 14057
Log:
Mac OS X 10.9 improvements. Bug 326724 comment 27 patch name
"0001-adding-support-for-loads-of-new-syscall-in-darwin-10.patch"
(Frederic Germain, fre...@gm...)
Modified:
trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/coregrind/pub_core_threadstate.h
trunk/include/vki/vki-darwin.h
trunk/include/vki/vki-scnums-darwin.h
Modified: trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-darwin.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-darwin.h Fri Jun 20 12:35:00 2014
@@ -344,7 +344,9 @@
DECL_TEMPLATE(darwin, fchmod_extended); // 283
DECL_TEMPLATE(darwin, access_extended); // 284
DECL_TEMPLATE(darwin, settid); // 285
-// NYI gettid 286
+#if DARWIN_VERS >= DARWIN_10_8
+DECL_TEMPLATE(darwin, gettid); // 286
+#endif
// NYI setsgroups 287
// NYI getsgroups 288
// NYI setwgroups 289
@@ -431,7 +433,7 @@
DECL_TEMPLATE(darwin, bsdthread_register); // 366
DECL_TEMPLATE(darwin, workq_open); // 367
DECL_TEMPLATE(darwin, workq_ops); // 368
-// 369
+DECL_TEMPLATE(darwin, kevent64); // 369
// 370
// 371
DECL_TEMPLATE(darwin, __thread_selfid); // 372
@@ -492,6 +494,19 @@
DECL_TEMPLATE(darwin, fsgetpath); // 427
DECL_TEMPLATE(darwin, audit_session_self); // 428
// NYI audit_session_join 429
+DECL_TEMPLATE(darwin, fileport_makeport); // 430
+
+// NYI shared_region_map_and_slide_np // 438
+// NYI kas_info // 439
+// NYI memorystatus_control // 440
+DECL_TEMPLATE(darwin, guarded_open_np); // 441
+DECL_TEMPLATE(darwin, guarded_close_np); // 442
+DECL_TEMPLATE(darwin, guarded_kqueue_np); // 443
+DECL_TEMPLATE(darwin, change_fdguard_np); // 444
+
+// NYI proc_rlimit_control // 446
+DECL_TEMPLATE(darwin, connectx); // 447
+DECL_TEMPLATE(darwin, disconnectx); // 448
// Mach message helpers
DECL_TEMPLATE(darwin, mach_port_set_context);
@@ -519,6 +534,7 @@
DECL_TEMPLATE(darwin, task_get_exception_ports);
DECL_TEMPLATE(darwin, semaphore_create);
DECL_TEMPLATE(darwin, semaphore_destroy);
+DECL_TEMPLATE(darwin, task_policy_set);
DECL_TEMPLATE(darwin, mach_ports_lookup);
DECL_TEMPLATE(darwin, task_threads);
DECL_TEMPLATE(darwin, task_suspend);
@@ -540,8 +556,10 @@
DECL_TEMPLATE(darwin, mach_vm_deallocate);
DECL_TEMPLATE(darwin, mach_vm_protect);
DECL_TEMPLATE(darwin, mach_vm_copy);
+DECL_TEMPLATE(darwin, mach_vm_read_overwrite);
DECL_TEMPLATE(darwin, mach_vm_inherit);
DECL_TEMPLATE(darwin, mach_vm_map);
+DECL_TEMPLATE(darwin, mach_vm_remap);
DECL_TEMPLATE(darwin, mach_vm_region_recurse);
DECL_TEMPLATE(darwin, thread_terminate);
DECL_TEMPLATE(darwin, thread_create);
@@ -561,14 +579,24 @@
// Mach traps
#if DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9
-DECL_TEMPLATE(darwin, mach__10);
-DECL_TEMPLATE(darwin, mach__12);
-DECL_TEMPLATE(darwin, mach__14);
-DECL_TEMPLATE(darwin, mach__16);
-DECL_TEMPLATE(darwin, mach__18);
-DECL_TEMPLATE(darwin, mach__19);
-DECL_TEMPLATE(darwin, mach__20);
-DECL_TEMPLATE(darwin, mach__21);
+DECL_TEMPLATE(darwin, kernelrpc_mach_vm_allocate_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_vm_deallocate_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_vm_protect_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_vm_map_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_allocate_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_destroy_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_deallocate_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_mod_refs_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_move_member_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_insert_right_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_insert_member_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_extract_member_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_construct_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_destruct_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_guard_trap);
+DECL_TEMPLATE(darwin, kernelrpc_mach_port_unguard_trap);
+DECL_TEMPLATE(darwin, iopolicysys);
+DECL_TEMPLATE(darwin, process_policy);
#endif /* DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9 */
DECL_TEMPLATE(darwin, mach_msg_unhandled);
DECL_TEMPLATE(darwin, mach_msg);
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 12:35:00 2014
@@ -919,6 +919,12 @@
PRE_MEM_WRITE( "ioctl(TIOCPTYGNAME)", ARG3, 128 );
break;
+ // filio.h
+ case VKI_FIOCLEX:
+ break;
+ case VKI_FIONCLEX:
+ break;
+
default:
ML_(PRE_unknown_ioctl)(tid, ARG2, ARG3);
break;
@@ -1459,6 +1465,61 @@
}
}
+PRE(fileport_makeport)
+{
+ PRINT("guarded_open_np(fd:%#lx, portnamep:%#lx) FIXME",
+ ARG1, ARG2);
+}
+
+PRE(guarded_open_np)
+{
+ PRINT("guarded_open_np(path:%#lx(%s), guard:%#lx, guardflags:%#lx, flags:%#lx) FIXME",
+ ARG1, (char*)ARG1, ARG2, ARG3, ARG4);
+}
+
+PRE(guarded_kqueue_np)
+{
+ PRINT("guarded_kqueue_np(guard:%#lx, guardflags:%#lx) FIXME",
+ ARG1, ARG2);
+}
+
+POST(guarded_kqueue_np)
+{
+ if (!ML_(fd_allowed)(RES, "guarded_kqueue_np", tid, True)) {
+ VG_(close)(RES);
+ SET_STATUS_Failure( VKI_EMFILE );
+ } else {
+ if (VG_(clo_track_fds)) {
+ ML_(record_fd_open_with_given_name)(tid, RES, NULL);
+ }
+ }
+}
+
+PRE(guarded_close_np)
+{
+ PRINT("guarded_close_np(fd:%#lx, guard:%#lx) FIXME",
+ ARG1, ARG2);
+}
+
+PRE(change_fdguard_np)
+{
+ PRINT("change_fdguard_np(fd:%#lx, guard:%#lx, guardflags:%#lx, nguard:%#lx, nguardflags:%#lx, fdflagsp:%#lx) FIXME",
+ ARG1, ARG2, ARG3, ARG4, ARG5, ARG6);
+}
+
+PRE(connectx)
+{
+ PRINT("connectx(s:%#lx, src:%#lx, srclen:%#lx, dsts:%#lx, dstlen:%#lx, ifscope:%#lx, aid:%#lx, out_cid:%#lx) FIXME",
+ ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8);
+}
+
+PRE(disconnectx)
+{
+ PRINT("disconnectx(s:%#lx, aid:%#lx, cid:%#lx) FIXME",
+ ARG1, ARG2, ARG3);
+}
+
+
PRE(kevent)
{
PRINT("kevent( %ld, %#lx, %ld, %#lx, %ld, %#lx )",
@@ -1485,6 +1546,32 @@
}
+PRE(kevent64)
+{
+ PRINT("kevent64( %ld, %#lx, %ld, %#lx, %ld, %#lx )",
+ ARG1, ARG2, ARG3, ARG4, ARG5, ARG6);
+ PRE_REG_READ6(int,"kevent64", int,kq,
+ const struct vki_kevent64 *,changelist, int,nchanges,
+ struct vki_kevent64 *,eventlist, int,nevents,
+ const struct vki_timespec *,timeout);
+
+ if (ARG3) PRE_MEM_READ ("kevent64(changelist)",
+ ARG2, ARG3 * sizeof(struct vki_kevent64));
+ if (ARG5) PRE_MEM_WRITE("kevent64(eventlist)",
+ ARG4, ARG5 * sizeof(struct vki_kevent64));
+ if (ARG6) PRE_MEM_READ ("kevent64(timeout)",
+ ARG6, sizeof(struct vki_timespec));
+
+ *flags |= SfMayBlock;
+}
+
+POST(kevent64)
+{
+ PRINT("kevent64 ret %ld dst %#lx (%zu)", RES, ARG4, sizeof(struct vki_kevent64));
+ if (RES > 0) POST_MEM_WRITE(ARG4, RES * sizeof(struct vki_kevent64));
+}
+
+
Addr pthread_starter = 0;
Addr wqthread_starter = 0;
SizeT pthread_structsize = 0;
@@ -1806,13 +1893,15 @@
vki_size_t, size, uint32_t, position, int, options);
PRE_MEM_RASCIIZ("getxattr(path)", ARG1);
PRE_MEM_RASCIIZ("getxattr(name)", ARG2);
- PRE_MEM_WRITE( "getxattr(value)", ARG3, ARG4);
+ if (ARG3)
+ PRE_MEM_WRITE( "getxattr(value)", ARG3, ARG4);
}
POST(getxattr)
{
vg_assert((vki_ssize_t)RES >= 0);
- POST_MEM_WRITE(ARG3, (vki_ssize_t)RES);
+ if (ARG3)
+ POST_MEM_WRITE(ARG3, (vki_ssize_t)RES);
}
PRE(fgetxattr)
@@ -5200,6 +5289,41 @@
}
}
+PRE(task_policy_set)
+{
+#pragma pack(4)
+ typedef struct {
+ mach_msg_header_t Head;
+ NDR_record_t NDR;
+ task_policy_flavor_t flavor;
+ mach_msg_type_number_t policy_infoCnt;
+ integer_t policy_info[16];
+ } Request;
+#pragma pack()
+
+ Request *req = (Request *)ARG1;
+
+ PRINT("task_policy_set(%s) flacor:%d", name_for_port(MACH_REMOTE), req->flavor);
+
+ AFTER = POST_FN(task_policy_set);
+}
+
+POST(task_policy_set)
+{
+#pragma pack(4)
+ typedef struct {
+ mach_msg_header_t Head;
+ NDR_record_t NDR;
+ kern_return_t RetCode;
+ } Reply;
+#pragma pack()
+
+ Reply *reply = (Reply *)ARG1;
+ if (!reply->RetCode) {
+ } else {
+ PRINT("mig return %d", reply->RetCode);
+ }
+}
PRE(mach_ports_lookup)
{
@@ -6271,6 +6395,49 @@
}
}
+PRE(mach_vm_read_overwrite)
+{
+#pragma pack(4)
+ typedef struct {
+ mach_msg_header_t Head;
+ NDR_record_t NDR;
+ mach_vm_address_t address;
+ mach_vm_size_t size;
+ mach_vm_address_t data;
+ } Request;
+#pragma pack()
+
+ Request *req = (Request *)ARG1;
+
+ PRINT("mach_vm_read_overwrite(%s, 0x%llx, %llu, 0x%llx)",
+ name_for_port(MACH_REMOTE),
+ req->address, req->size, req->data);
+
+ AFTER = POST_FN(mach_vm_read_overwrite);
+}
+
+POST(mach_vm_read_overwrite)
+{
+#pragma pack(4)
+ typedef struct {
+ mach_msg_header_t Head;
+ NDR_record_t NDR;
+ kern_return_t RetCode;
+ mach_vm_size_t outsize;
+ } Reply;
+#pragma pack()
+
+ Reply *reply = (Reply *)ARG1;
+
+ if (!reply->RetCode) {
+ if (MACH_REMOTE == vg_task_port) {
+ // GrP fixme set dest's initialization equal to src's
+ // BUT vm_copy allocates no memory
+ }
+ } else {
+ PRINT("mig return %d", reply->RetCode);
+ }
+}
PRE(mach_vm_map)
{
@@ -6338,6 +6505,69 @@
}
+PRE(mach_vm_remap)
+{
+#pragma pack(4)
+ typedef struct {
+ mach_msg_header_t Head;
+ /* start of the kernel processed data */
+ mach_msg_body_t msgh_body;
+ mach_msg_port_descriptor_t src_task;
+ /* end of the kernel processed data */
+ NDR_record_t NDR;
+ mach_vm_address_t target_address;
+ mach_vm_size_t size;
+ mach_vm_offset_t mask;
+ int flags;
+ mach_vm_address_t src_address;
+ boolean_t copy;
+ vm_inherit_t inheritance;
+ } Request;
+#pragma pack()
+
+ Request *req = (Request *)ARG1;
+
+ // GrP fixme check these
+ PRINT("mach_vm_remap(in %s, at 0x%llx, size %llu, from %s ...)",
+ name_for_port(MACH_REMOTE),
+ req->target_address, req->size,
+ name_for_port(req->src_task.name));
+
+ MACH_ARG(mach_vm_remap.size) = req->size;
+ MACH_ARG(mach_vm_remap.copy) = req->copy;
+
+ AFTER = POST_FN(mach_vm_remap);
+}
+
+POST(mach_vm_remap)
+{
+#pragma pack(4)
+ typedef struct {
+ mach_msg_header_t Head;
+ NDR_record_t NDR;
+ kern_return_t RetCode;
+ mach_vm_address_t target_address;
+ vm_prot_t cur_protection;
+ vm_prot_t max_protection;
+ } Reply;
+#pragma pack()
+
+ Reply *reply = (Reply *)ARG1;
+
+ if (!reply->RetCode) {
+ // GrP fixme check src and dest tasks
+ PRINT("mapped at 0x%llx", reply->target_address);
+ // GrP fixme max prot
+ ML_(notify_core_and_tool_of_mmap)(
+ reply->target_address, VG_PGROUNDUP(MACH_ARG(mach_vm_remap.size)),
+ reply->cur_protection, VKI_MAP_SHARED, -1, 0);
+ // GrP fixme VKI_MAP_PRIVATE if !copy?
+ } else {
+ PRINT("mig return %d", reply->RetCode);
+ }
+}
+
+
PRE(mach_vm_region_recurse)
{
#pragma pack(4)
@@ -7009,6 +7239,9 @@
case 3419:
CALL_PRE(semaphore_destroy);
return;
+ case 3420:
+ CALL_PRE(task_policy_set);
+ return;
case 3801:
CALL_PRE(vm_allocate);
@@ -7062,9 +7295,15 @@
case 4807:
CALL_PRE(mach_vm_copy);
return;
+ case 4808:
+ CALL_PRE(mach_vm_read_overwrite);
+ return;
case 4811:
CALL_PRE(mach_vm_map);
return;
+ case 4813:
+ CALL_PRE(mach_vm_remap);
+ return;
case 4815:
CALL_PRE(mach_vm_region_recurse);
return;
@@ -7907,81 +8146,128 @@
#if DARWIN_VERS >= DARWIN_10_8
-PRE(mach__10)
+PRE(kernelrpc_mach_vm_allocate_trap)
{
- PRINT("mach__10(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_vm_allocate_trap(target:%#lx, address:%p, size:%#lx, flags:%#lx)", ARG1, *(void**)ARG2, ARG3, ARG4);
+ if ((ARG4 & VM_FLAGS_ANYWHERE) == VM_FLAGS_FIXED)
+ ML_(notify_core_and_tool_of_mmap)(*(mach_vm_address_t*)ARG2, ARG3, VKI_PROT_READ|VKI_PROT_WRITE, VKI_MAP_ANON, -1, 0);
}
-POST(mach__10)
+POST(kernelrpc_mach_vm_allocate_trap)
{
- ML_(sync_mappings)("after", "mach__10", 0);
+ PRINT("address:%p size:%#lx", *(void**)ARG2, ARG3);
+ if ((ARG4 & VM_FLAGS_ANYWHERE) != VM_FLAGS_FIXED)
+ ML_(notify_core_and_tool_of_mmap)(*(mach_vm_address_t*)ARG2, ARG3, VKI_PROT_READ|VKI_PROT_WRITE, VKI_MAP_ANON, -1, 0);
}
-PRE(mach__12)
+PRE(kernelrpc_mach_vm_deallocate_trap)
{
- PRINT("mach__12(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_vm_deallocate_trap(target:%#lx, address:%#lx, size:%#lx)", ARG1, ARG2, ARG3);
}
-POST(mach__12)
+POST(kernelrpc_mach_vm_deallocate_trap)
{
- ML_(sync_mappings)("after", "mach__12", 0);
+ // kernelrpc_mach_vm_deallocate_trap could be call with address == 0 && size == 0,
+ // we shall not notify any unmap then
+ if (ARG3)
+ ML_(notify_core_and_tool_of_munmap)(ARG2, ARG3);
}
-PRE(mach__14)
+PRE(kernelrpc_mach_vm_protect_trap)
{
- PRINT("mach__14(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_vm_protect_trap(task:%#lx, address:%#lx, size:%#lx, set_maximum:%#lx, new_prot:%#lx)", ARG1, ARG2, ARG3, ARG4, ARG5);
+ ML_(notify_core_and_tool_of_mprotect)(ARG2, ARG3, ARG5);
}
#if DARWIN_VERS >= DARWIN_10_9
-PRE(mach__15)
+PRE(kernelrpc_mach_vm_map_trap)
+{
+ PRINT("kernelrpc_mach_vm_map_trap(target:%#lx, address:%p, size:%#lx, mask:%#lx, flags:%#lx, cur_prot:%#lx)",
+ ARG1, *(void**)ARG2, ARG3, ARG4, ARG5, ARG6);
+}
+
+POST(kernelrpc_mach_vm_map_trap)
{
- PRINT("mach__15(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("-> address:%p", *(void**)ARG2);
+ ML_(notify_core_and_tool_of_mmap)(*(mach_vm_address_t*)ARG2, ARG3, VKI_PROT_READ|VKI_PROT_WRITE, VKI_MAP_ANON, -1, 0);
+ // ML_(sync_mappings)("after", "kernelrpc_mach_vm_map_trap", 0);
}
#endif /* DARWIN_VERS >= DARWIN_10_9 */
-PRE(mach__16)
+PRE(kernelrpc_mach_port_allocate_trap)
+{
+ PRINT("kernelrpc_mach_port_allocate_trap(task:%#lx, mach_port_right_t:%#lx)", ARG1, ARG2);
+ PRE_MEM_WRITE("kernelrpc_mach_port_allocate_trap(name)", ARG3, sizeof(mach_port_name_t));
+}
+
+POST(kernelrpc_mach_port_allocate_trap)
+{
+ POST_MEM_WRITE(ARG3, sizeof(mach_port_name_t));
+ PRINT(", name:%#x", *(mach_port_name_t*)ARG3);
+ record_unnamed_port(tid, *(mach_port_name_t *)ARG3, ARG2);
+}
+
+PRE(kernelrpc_mach_port_destroy_trap)
{
- PRINT("mach__16(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_destroy_trap(task:%#lx, name:%#lx)", ARG1, ARG2);
+ record_port_destroy(ARG2);
}
-PRE(mach__17)
+PRE(kernelrpc_mach_port_deallocate_trap)
{
- PRINT("mach__17(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_deallocate_trap(task:%#lx, name:%#lx ) FIXME", ARG1, ARG2);
}
-PRE(mach__18)
+POST(kernelrpc_mach_port_deallocate_trap)
{
- PRINT("mach__18(FIXME,ARGUMENTS_UNKNOWN)");
}
-PRE(mach__19)
+PRE(kernelrpc_mach_port_mod_refs_trap)
{
- PRINT("mach__19(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_mod_refs_trap(task:%#lx, name:%#lx, right:%#lx refs:%#lx) FIXME",
+ ARG1, ARG2, ARG3, ARG4);
}
-PRE(mach__20)
+PRE(kernelrpc_mach_port_move_member_trap)
{
- PRINT("mach__20(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_move_member_trap(task:%#lx, name:%#lx, after:%#lx ) FIXME",
+ ARG1, ARG2, ARG3);
}
-PRE(mach__21)
+PRE(kernelrpc_mach_port_insert_right_trap)
{
- PRINT("mach__21(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_insert_right_trap(FIXME,ARGUMENTS_UNKNOWN)");
}
-PRE(mach__22)
+PRE(kernelrpc_mach_port_insert_member_trap)
{
- PRINT("mach__22(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_insert_member_trap(FIXME,ARGUMENTS_UNKNOWN)");
}
-PRE(mach__23)
+PRE(kernelrpc_mach_port_extract_member_trap)
{
- PRINT("mach__23(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_extract_member_trap(FIXME,ARGUMENTS_UNKNOWN)");
}
#if DARWIN_VERS >= DARWIN_10_9
-PRE(mach__24)
+PRE(kernelrpc_mach_port_construct_trap)
{
- PRINT("mach__24(FIXME,ARGUMENTS_UNKNOWN)");
+ PRINT("kernelrpc_mach_port_construct_trap(FIXME,ARGUMENTS_UNKNOWN)");
}
+
+PRE(kernelrpc_mach_port_destruct_trap)
+{
+ PRINT("kernelrpc_mach_port_destruct_trap(FIXME,ARGUMENTS_UNKNOWN)");
+}
+
+PRE(kernelrpc_mach_port_guard_trap)
+{
+ PRINT("kernelrpc_mach_port_guard_trap(FIXME)");
+}
+
+PRE(kernelrpc_mach_port_unguard_trap)
+{
+ PRINT("kernelrpc_mach_port_unguard_trap(FIXME)");
+}
+
#endif /* DARWIN_VERS >= DARWIN_10_9 */
PRE(iopolicysys)
@@ -7993,6 +8279,16 @@
{
}
+PRE(process_policy)
+{
+ PRINT("process_policy(FIXME)(scope:0x%lx, action:0x%lx, policy:0x%lx, policy_subtype:0x%lx, attr:%lx, target_pid:%lx, target_threadid:%lx)",
+ ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7);
+ /* mem effects unknown */
+}
+POST(process_policy)
+{
+}
+
#endif /* DARWIN_VERS >= DARWIN_10_8 */
@@ -8361,10 +8657,14 @@
MACX_(__NR_aio_write, aio_write),
// _____(__NR_lio_listio), // 320
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(321)), // ???
+
#if DARWIN_VERS >= DARWIN_10_8
MACXY(__NR_iopolicysys, iopolicysys),
-#endif
+ MACXY(__NR_process_policy, process_policy),
+#else
+ _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(322)), // ???
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(323)), // ???
+#endif
// _____(__NR_mlockall),
// _____(__NR_munlockall),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(326)), // ???
@@ -8415,7 +8715,7 @@
MACX_(__NR_workq_open, workq_open),
MACXY(__NR_workq_ops, workq_ops),
#if DARWIN_VERS >= DARWIN_10_6
-// _____(__NR_kevent64),
+ MACXY(__NR_kevent64, kevent64),
#else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(369)), // ???
#endif
@@ -8486,6 +8786,15 @@
MACXY(__NR_audit_session_self, audit_session_self),
// _____(__NR_audit_session_join),
#endif
+#if DARWIN_VERS >= DARWIN_10_9
+ MACX_(__NR_fileport_makeport, fileport_makeport),
+ MACX_(__NR_guarded_open_np, guarded_open_np),
+ MACX_(__NR_guarded_close_np, guarded_close_np),
+ MACX_(__NR_guarded_kqueue_np, guarded_kqueue_np),
+ MACX_(__NR_change_fdguard_np, change_fdguard_np),
+ MACX_(__NR_connectx, connectx),
+ MACX_(__NR_disconnectx, disconnectx),
+#endif
// _____(__NR_MAXSYSCALL)
MACX_(__NR_DARWIN_FAKE_SIGRETURN, FAKE_SIGRETURN)
@@ -8494,6 +8803,7 @@
// Mach traps use negative syscall numbers.
// Use ML_(mach_trap_table)[-mach_trap_number] .
+// cf xnu sources osfmk/kern/syscall_sw.c
const SyscallTableEntry ML_(mach_trap_table)[] = {
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(0)),
@@ -8508,7 +8818,7 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(9)),
# if DARWIN_VERS >= DARWIN_10_8
- MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(10), mach__10),
+ MACXY(__NR_kernelrpc_mach_vm_allocate_trap, kernelrpc_mach_vm_allocate_trap),
# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(10)),
# endif
@@ -8516,7 +8826,7 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(11)),
# if DARWIN_VERS >= DARWIN_10_8
- MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(12), mach__12),
+ MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(12), kernelrpc_mach_vm_deallocate_trap),
# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(12)),
# endif
@@ -8524,11 +8834,11 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(13)),
# if DARWIN_VERS >= DARWIN_10_8
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14), mach__14),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14), kernelrpc_mach_vm_protect_trap),
# endif
# if DARWIN_VERS >= DARWIN_10_9
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(15), mach__15),
+ MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(15), kernelrpc_mach_vm_map_trap),
# endif
# if DARWIN_VERS < DARWIN_10_8
@@ -8537,14 +8847,14 @@
# endif
# if DARWIN_VERS >= DARWIN_10_8
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16), mach__16),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17), mach__17),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(18), mach__18),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(19), mach__19),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(20), mach__20),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21), mach__21),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22), mach__22),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23), mach__23),
+ MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16), kernelrpc_mach_port_allocate_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17), kernelrpc_mach_port_destroy_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(18), kernelrpc_mach_port_deallocate_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(19), kernelrpc_mach_port_mod_refs_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(20), kernelrpc_mach_port_move_member_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21), kernelrpc_mach_port_insert_right_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22), kernelrpc_mach_port_insert_member_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23), kernelrpc_mach_port_extract_member_trap),
# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17)),
@@ -8557,12 +8867,13 @@
# endif
# if DARWIN_VERS >= DARWIN_10_9
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24), mach__24),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24), kernelrpc_mach_port_construct_trap),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(25), kernelrpc_mach_port_destruct_trap),
# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24)),
+ _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(25)),
# endif
- _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(25)),
MACXY(__NR_mach_reply_port, mach_reply_port),
MACXY(__NR_thread_self_trap, mach_thread_self),
MACXY(__NR_task_self_trap, mach_task_self),
@@ -8583,8 +8894,8 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(42)),
// _____(__NR_map_fd),
#else
- _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(41)),
- _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(42)),
+ MACX_(__NR_kernelrpc_mach_port_guard_trap, kernelrpc_mach_port_guard_trap),
+ MACX_(__NR_kernelrpc_mach_port_unguard_trap, kernelrpc_mach_port_unguard_trap),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(43)),
#endif
// _____(__NR_task_name_for_pid),
Modified: trunk/coregrind/pub_core_threadstate.h
==============================================================================
--- trunk/coregrind/pub_core_threadstate.h (original)
+++ trunk/coregrind/pub_core_threadstate.h Fri Jun 20 12:35:00 2014
@@ -253,6 +253,10 @@
UWord protection;
} mach_vm_map;
struct {
+ ULong size;
+ int copy;
+ } mach_vm_remap;
+ struct {
Addr thread;
UWord flavor;
} thread_get_state;
Modified: trunk/include/vki/vki-darwin.h
==============================================================================
--- trunk/include/vki/vki-darwin.h (original)
+++ trunk/include/vki/vki-darwin.h Fri Jun 20 12:35:00 2014
@@ -789,6 +789,7 @@
#include <sys/event.h>
#define vki_kevent kevent
+#define vki_kevent64 kevent64_s
#include <sys/ev.h>
Modified: trunk/include/vki/vki-scnums-darwin.h
==============================================================================
--- trunk/include/vki/vki-scnums-darwin.h (original)
+++ trunk/include/vki/vki-scnums-darwin.h Fri Jun 20 12:35:00 2014
@@ -142,6 +142,24 @@
// osfmk/mach/syscall_sw.h
+#define __NR_kernelrpc_mach_vm_allocate_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(10)
+
+#define __NR_kernelrpc_mach_vm_deallocate_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(12)
+
+#define __NR_kernelrpc_mach_vm_protect_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14)
+#define __NR_kernelrpc_mach_vm_map_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(15)
+#define __NR_kernelrpc_mach_port_allocate_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16)
+#define __NR_kernelrpc_mach_port_destroy_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17)
+#define __NR_kernelrpc_mach_port_deallocate_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(18)
+#define __NR_kernelrpc_mach_port_mod_refs_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(19)
+#define __NR_kernelrpc_mach_port_move_member_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(20)
+#define __NR_kernelrpc_mach_port_insert_right_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21)
+#define __NR_kernelrpc_mach_port_insert_member_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22)
+#define __NR_kernelrpc_mach_port_extract_member_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23)
+#define __NR_kernelrpc_mach_port_construct_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24)
+#define __NR_kernelrpc_mach_port_destruct_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(25)
+
+
#define __NR_mach_reply_port VG_DARWIN_SYSCALL_CONSTRUCT_MACH(26)
#define __NR_thread_self_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(27)
#define __NR_task_self_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(28)
@@ -160,6 +178,9 @@
#if defined(VGA_x86)
#define __NR_init_process VG_DARWIN_SYSCALL_CONSTRUCT_MACH(41)
#define __NR_map_fd VG_DARWIN_SYSCALL_CONSTRUCT_MACH(43)
+#else
+#define __NR_kernelrpc_mach_port_guard_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(41)
+#define __NR_kernelrpc_mach_port_unguard_trap VG_DARWIN_SYSCALL_CONSTRUCT_MACH(42)
#endif
#define __NR_task_name_for_pid VG_DARWIN_SYSCALL_CONSTRUCT_MACH(44)
@@ -537,7 +558,7 @@
#define __NR_lio_listio VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(320)
/* 321 */
#define __NR_iopolicysys VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(322)
- /* 323 */
+#define __NR_process_policy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(323)
#define __NR_mlockall VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(324)
#define __NR_munlockall VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(325)
/* 326 */
@@ -655,11 +676,43 @@
#define __NR_audit_session_self VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(428)
#define __NR_audit_session_join VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(429)
#endif
+#if DARWIN_VERS >= DARWIN_10_9
+#define __NR_fileport_makeport VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(430)
+#define __NR_fileport_makefd VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(431)
+#define __NR_audit_session_port VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(432)
+#define __NR_pid_suspend VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(433)
+#define __NR_pid_resume VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(434)
+
+
+
+#define __NR_shared_region_map_and_slide_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(438)
+#define __NR_kas_info VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(439)
+#define __NR_memorystatus_control VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(440)
+#define __NR_guarded_open_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(441)
+#define __NR_guarded_close_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(442)
+#define __NR_guarded_kqueue_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(443)
+#define __NR_change_fdguard_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(444)
+
+#define __NR_proc_rlimit_control VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(446)
+#define __NR_connectx VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(447)
+#define __NR_disconnectx VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(448)
+#define __NR_peeloff VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(449)
+#define __NR_socket_delegate VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(450)
+#define __NR_telemetry VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(451)
+#define __NR_proc_uuid_policy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(452)
+#define __NR_memorystatus_get_level VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(453)
+#define __NR_system_override VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(454)
+#define __NR_vfs_purge VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(455)
+#endif
#if DARWIN_VERS < DARWIN_10_6
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(427)
#elif DARWIN_VERSION < DARWIN_10_7
#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(430)
+#elif DARWIN_VERSION < DARWIN_10_9
+#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(430)
+#elif DARWIN_VERSION == DARWIN_10_9
+#define __NR_MAXSYSCALL VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(456)
#else
#error unknown darwin version
#endif
|
|
From: <sv...@va...> - 2014-06-20 12:09:18
|
Author: sewardj
Date: Fri Jun 20 12:09:10 2014
New Revision: 14056
Log:
Un-break the build on OS X 10.8 following
14055 ("initial build support for Mac OS X 10.9")
Modified:
trunk/coregrind/m_syswrap/syswrap-darwin.c
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 12:09:10 2014
@@ -8545,7 +8545,6 @@
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21), mach__21),
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22), mach__22),
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23), mach__23),
- MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24), mach__24),
# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17)),
@@ -8555,6 +8554,11 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23)),
+# endif
+
+# if DARWIN_VERS >= DARWIN_10_9
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24), mach__24),
+# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24)),
# endif
|
|
From: <sv...@va...> - 2014-06-20 11:48:53
|
Author: sewardj
Date: Fri Jun 20 11:48:38 2014
New Revision: 14055
Log:
Add initial build support for Mac OS X 10.9 (Mavericks). Bug 326724
comment 12. (Diego Giagio, di...@gi...)
Added:
trunk/darwin13.supp
Modified:
trunk/Makefile.all.am
trunk/Makefile.am
trunk/configure.ac
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_main.c
trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c
trunk/coregrind/m_syswrap/syswrap-darwin.c
trunk/coregrind/m_ume/macho.c
trunk/include/pub_tool_redir.h
trunk/include/vki/vki-darwin.h
Modified: trunk/Makefile.all.am
==============================================================================
--- trunk/Makefile.all.am (original)
+++ trunk/Makefile.all.am Fri Jun 20 11:48:38 2014
@@ -114,7 +114,7 @@
# into (and through) the preloads.
if VGCONF_OS_IS_DARWIN
AM_CFLAGS_PIC = -dynamic -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
- -mno-dynamic-no-pic -fpic -fPIC \
+ -fpic -fPIC \
-fno-builtin
else
AM_CFLAGS_PIC = -fpic -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Fri Jun 20 11:48:38 2014
@@ -45,7 +45,7 @@
exp-sgcheck.supp \
darwin9.supp darwin9-drd.supp \
darwin10.supp darwin10-drd.supp \
- darwin11.supp darwin12.supp \
+ darwin11.supp darwin12.supp darwin13.supp \
bionic.supp
DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Jun 20 11:48:38 2014
@@ -306,6 +306,7 @@
AC_DEFINE([DARWIN_10_6], 100600, [DARWIN_VERS value for Mac OS X 10.6])
AC_DEFINE([DARWIN_10_7], 100700, [DARWIN_VERS value for Mac OS X 10.7])
AC_DEFINE([DARWIN_10_8], 100800, [DARWIN_VERS value for Mac OS X 10.8])
+ AC_DEFINE([DARWIN_10_9], 100900, [DARWIN_VERS value for Mac OS X 10.9])
AC_MSG_CHECKING([for the kernel version])
kernel=`uname -r`
@@ -351,9 +352,15 @@
DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
;;
+ 13.*)
+ AC_MSG_RESULT([Darwin 13.x (${kernel}) / Mac OS X 10.9 Mavericks])
+ AC_DEFINE([DARWIN_VERS], DARWIN_10_9, [Darwin / Mac OS X version])
+ DEFAULT_SUPP="darwin13.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
+ ;;
*)
AC_MSG_RESULT([unsupported (${kernel})])
- AC_MSG_ERROR([Valgrind works on Darwin 10.x and 11.x (Mac OS X 10.6/7)])
+ AC_MSG_ERROR([Valgrind works on Darwin 10.x, 11.x, 12.x and 13.x (Mac OS X 10.6/7/8/9)])
;;
esac
;;
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
==============================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c (original)
+++ trunk/coregrind/m_debuginfo/debuginfo.c Fri Jun 20 11:48:38 2014
@@ -967,7 +967,7 @@
void VG_(di_notify_vm_protect)( Addr a, SizeT len, UInt prot )
{
Bool do_nothing = True;
-# if defined(VGP_x86_darwin) && (DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8)
+# if defined(VGP_x86_darwin) && (DARWIN_VERS >= DARWIN_10_7)
do_nothing = False;
# endif
if (do_nothing /* wrong platform */)
Modified: trunk/coregrind/m_main.c
==============================================================================
--- trunk/coregrind/m_main.c (original)
+++ trunk/coregrind/m_main.c Fri Jun 20 11:48:38 2014
@@ -1336,9 +1336,9 @@
else if (VG_(clo_verbosity) > 0)
VG_(umsg)("\n");
-# if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_8
+# if defined(VGO_darwin) && DARWIN_VERS >= DARWIN_10_8
/* Uh, this doesn't play nice with XML output. */
- umsg_or_xml( "WARNING: Support on MacOS 10.8 is experimental and mostly broken.\n");
+ umsg_or_xml( "WARNING: Support on MacOS 10.8/10.9 is experimental and mostly broken.\n");
umsg_or_xml( "WARNING: Expect incorrect results, assertions and crashes.\n");
umsg_or_xml( "WARNING: In particular, Memcheck on 32-bit programs will fail to\n");
umsg_or_xml( "WARNING: detect any errors associated with heap-allocated data.\n");
Modified: trunk/coregrind/m_syswrap/priv_syswrap-darwin.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_syswrap-darwin.h (original)
+++ trunk/coregrind/m_syswrap/priv_syswrap-darwin.h Fri Jun 20 11:48:38 2014
@@ -560,7 +560,7 @@
DECL_TEMPLATE(darwin, mach_msg_thread);
// Mach traps
-#if DARWIN_VERS == DARWIN_10_8
+#if DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9
DECL_TEMPLATE(darwin, mach__10);
DECL_TEMPLATE(darwin, mach__12);
DECL_TEMPLATE(darwin, mach__14);
@@ -569,7 +569,7 @@
DECL_TEMPLATE(darwin, mach__19);
DECL_TEMPLATE(darwin, mach__20);
DECL_TEMPLATE(darwin, mach__21);
-#endif /* DARWIN_VERS == DARWIN_10_8 */
+#endif /* DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9 */
DECL_TEMPLATE(darwin, mach_msg_unhandled);
DECL_TEMPLATE(darwin, mach_msg);
DECL_TEMPLATE(darwin, mach_reply_port);
Modified: trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c Fri Jun 20 11:48:38 2014
@@ -448,7 +448,7 @@
out just the relevant parts. Hence: */
# if DARWIN_VERS <= DARWIN_10_7
Bool is_reuse = reuse != 0;
-# elif DARWIN_VERS == DARWIN_10_8
+# elif DARWIN_VERS == DARWIN_10_8 || DARWIN_VERS == DARWIN_10_9
Bool is_reuse = (reuse & 0x20000 /* == WQ_FLAG_THREAD_REUSE */) != 0;
# endif
Modified: trunk/coregrind/m_syswrap/syswrap-darwin.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-darwin.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-darwin.c Fri Jun 20 11:48:38 2014
@@ -1065,12 +1065,17 @@
F(F_PREALLOCATE);
F(F_SETSIZE);
F(F_RDADVISE);
+# if DARWIN_VERS < DARWIN_10_9
F(F_READBOOTSTRAP);
F(F_WRITEBOOTSTRAP);
+# endif
F(F_LOG2PHYS);
F(F_GETPATH);
F(F_PATHPKG_CHECK);
- F(F_ADDSIGS);
+ F(F_ADDSIGS);
+# if DARWIN_VERS >= DARWIN_10_9
+ F(F_ADDFILESIGS);
+# endif
default:
return "UNKNOWN";
}
@@ -1167,6 +1172,7 @@
}
break;
+# if DARWIN_VERS < DARWIN_10_9
// struct fbootstraptransfer
case VKI_F_READBOOTSTRAP:
case VKI_F_WRITEBOOTSTRAP:
@@ -1177,6 +1183,7 @@
PRE_MEM_READ( "fcntl(F_READ/WRITEBOOTSTRAP, bootstrap)",
ARG3, sizeof(struct vki_fbootstraptransfer) );
break;
+# endif
// struct log2phys (out)
case VKI_F_LOG2PHYS:
@@ -1227,6 +1234,21 @@
}
break;
+ case VKI_F_ADDFILESIGS: /* Add signature from same file (used by dyld for shared libs) */
+ PRINT("fcntl ( %ld, %s )", ARG1, name_for_fcntl(ARG2));
+ PRE_REG_READ3(long, "fcntl",
+ unsigned int, fd, unsigned int, cmd,
+ vki_fsignatures_t *, sigs);
+
+ {
+ vki_fsignatures_t *fsigs = (vki_fsignatures_t*)ARG3;
+ PRE_FIELD_READ( "fcntl(F_ADDFILESIGS, fsigs->fs_blob_start)",
+ fsigs->fs_blob_start);
+ PRE_FIELD_READ( "fcntl(F_ADDFILESIGS, fsigs->fs_blob_size)",
+ fsigs->fs_blob_size);
+ }
+ break;
+
default:
PRINT("fcntl ( %ld, %ld [??] )", ARG1, ARG2);
VG_(printf)("UNKNOWN fcntl %ld!", ARG2);
@@ -7908,6 +7930,13 @@
PRINT("mach__14(FIXME,ARGUMENTS_UNKNOWN)");
}
+#if DARWIN_VERS >= DARWIN_10_9
+PRE(mach__15)
+{
+ PRINT("mach__15(FIXME,ARGUMENTS_UNKNOWN)");
+}
+#endif /* DARWIN_VERS >= DARWIN_10_9 */
+
PRE(mach__16)
{
PRINT("mach__16(FIXME,ARGUMENTS_UNKNOWN)");
@@ -7948,6 +7977,13 @@
PRINT("mach__23(FIXME,ARGUMENTS_UNKNOWN)");
}
+#if DARWIN_VERS >= DARWIN_10_9
+PRE(mach__24)
+{
+ PRINT("mach__24(FIXME,ARGUMENTS_UNKNOWN)");
+}
+#endif /* DARWIN_VERS >= DARWIN_10_9 */
+
PRE(iopolicysys)
{
PRINT("iopolicysys(FIXME)(0x%lx, 0x%lx, 0x%lx)", ARG1, ARG2, ARG3);
@@ -8489,11 +8525,16 @@
# if DARWIN_VERS >= DARWIN_10_8
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14), mach__14),
-# else
- _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14)),
# endif
+# if DARWIN_VERS >= DARWIN_10_9
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(15), mach__15),
+# endif
+
+# if DARWIN_VERS < DARWIN_10_8
+ _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(15)),
+# endif
# if DARWIN_VERS >= DARWIN_10_8
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16), mach__16),
@@ -8504,6 +8545,7 @@
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21), mach__21),
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22), mach__22),
MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23), mach__23),
+ MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24), mach__24),
# else
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17)),
@@ -8513,9 +8555,9 @@
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23)),
+ _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24)),
# endif
- _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24)),
_____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(25)),
MACXY(__NR_mach_reply_port, mach_reply_port),
MACXY(__NR_thread_self_trap, mach_thread_self),
Modified: trunk/coregrind/m_ume/macho.c
==============================================================================
--- trunk/coregrind/m_ume/macho.c (original)
+++ trunk/coregrind/m_ume/macho.c Fri Jun 20 11:48:38 2014
@@ -82,7 +82,7 @@
}
}
-#if DARWIN_VERS == DARWIN_10_8
+#if DARWIN_VERS >= DARWIN_10_8
static void check_mmap_float(SysRes res, SizeT len, const HChar* who)
{
if (sr_isError(res)) {
@@ -386,7 +386,7 @@
This is a really nasty hack -- allocates 64M+stack size, then
deallocates the 64M, to guarantee that the stack is at least 64M
above zero. */
-#if DARWIN_VERS == DARWIN_10_8
+#if DARWIN_VERS >= DARWIN_10_8
static int
handle_lcmain ( vki_uint8_t **out_stack_start,
vki_uint8_t **out_stack_end,
@@ -416,7 +416,7 @@
return 0;
}
-#endif /* DARWIN_VERS == DARWIN_10_8 */
+#endif /* DARWIN_VERS >= DARWIN_10_8 */
@@ -558,7 +558,7 @@
switch (lc->cmd) {
-#if DARWIN_VERS == DARWIN_10_8
+#if DARWIN_VERS >= DARWIN_10_8
case LC_MAIN: { /* New in 10.8 */
struct entry_point_command* epcmd
= (struct entry_point_command*)lc;
Added: trunk/darwin13.supp
==============================================================================
--- trunk/darwin13.supp (added)
+++ trunk/darwin13.supp Fri Jun 20 11:48:38 2014
@@ -0,0 +1,179 @@
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: possible
+ fun:malloc_zone_?alloc
+ ...
+ fun:_read_images
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:?alloc
+ ...
+ fun:_ZN4dyld24initializeMainExecutableEv
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: definite
+ fun:malloc_zone_?alloc
+ fun:recursive_mutex_init
+ fun:_objc_init
+ fun:_os_object_init
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc_zone_?alloc
+ ...
+ fun:dyld_register_image_state_change_handler
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:?alloc
+ ...
+ fun:dyld_register_image_state_change_handler
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc_zone_?alloc
+ ...
+ fun:map_images_nolock
+ fun:map_images
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: possible
+ fun:malloc_zone_?alloc
+ ...
+ fun:map_images_nolock
+ fun:map_images
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: indirect
+ fun:?alloc
+ ...
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:malloc_zone_?alloc
+ ...
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Leak
+ match-leak-kinds: reachable
+ fun:?alloc
+ ...
+ fun:libSystem_initializer
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr1
+ ...
+ fun:libSystem_initializer
+ ...
+ fun:_dyld_start
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr4
+ ...
+ fun:libSystem_initializer
+ ...
+ fun:_dyld_start
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr8
+ ...
+ fun:libSystem_initializer
+ ...
+ fun:_dyld_start
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr8
+ ...
+ fun:libSystem_initializer
+ ...
+ fun:_ZN4dyld24initializeMainExecutableEv
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr16
+ ...
+ fun:dyld_register_image_state_change_handler
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Cond
+ fun:_platform_memchr
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr16
+ obj:/usr/lib/system/libsystem_platform.dylib
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Addr16
+ obj:/usr/lib/system/libsystem_c.dylib
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Cond
+ obj:/usr/lib/system/libsystem_c.dylib
+ ...
+}
+
+{
+ <insert_a_suppression_name_here>
+ Memcheck:Cond
+ obj:/usr/lib/system/libsystem_platform.dylib
+ ...
+}
Modified: trunk/include/pub_tool_redir.h
==============================================================================
--- trunk/include/pub_tool_redir.h (original)
+++ trunk/include/pub_tool_redir.h Fri Jun 20 11:48:38 2014
@@ -246,9 +246,12 @@
#elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6)
# define VG_Z_LIBC_SONAME libSystemZdZaZddylib // libSystem.*.dylib
-#elif defined(VGO_darwin) && (DARWIN_VERS >= DARWIN_10_7)
+#elif defined(VGO_darwin) && (DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8)
# define VG_Z_LIBC_SONAME libsystemZucZaZddylib // libsystem_c*.dylib
+#elif defined(VGO_darwin) && (DARWIN_VERS >= DARWIN_10_9)
+# define VG_Z_LIBC_SONAME libsystemZumallocZddylib // libsystem_malloc.dylib
+
#else
# error "Unknown platform"
Modified: trunk/include/vki/vki-darwin.h
==============================================================================
--- trunk/include/vki/vki-darwin.h (original)
+++ trunk/include/vki/vki-darwin.h Fri Jun 20 11:48:38 2014
@@ -290,6 +290,9 @@
#define VKI_F_LOG2PHYS F_LOG2PHYS
#define VKI_F_GETPATH F_GETPATH
#define VKI_F_ADDSIGS F_ADDSIGS
+#if DARWIN_VERS >= DARWIN_10_9
+# define VKI_F_ADDFILESIGS F_ADDFILESIGS
+#endif
#define VKI_F_FULLFSYNC F_FULLFSYNC
#define VKI_F_PATHPKG_CHECK F_PATHPKG_CHECK
#define VKI_F_FREEZE_FS F_FREEZE_FS
|
|
From: <sv...@va...> - 2014-06-20 08:30:37
|
Author: sewardj
Date: Fri Jun 20 08:30:21 2014
New Revision: 2881
Log:
Increase the number of vector registers available for allocation from
3 to 5.
Modified:
trunk/priv/host_arm64_defs.c
trunk/priv/host_arm64_defs.h
Modified: trunk/priv/host_arm64_defs.c
==============================================================================
--- trunk/priv/host_arm64_defs.c (original)
+++ trunk/priv/host_arm64_defs.c Fri Jun 20 08:30:21 2014
@@ -122,6 +122,8 @@
HReg hregARM64_Q16 ( void ) { return mkHReg(16, HRcVec128, False); }
HReg hregARM64_Q17 ( void ) { return mkHReg(17, HRcVec128, False); }
HReg hregARM64_Q18 ( void ) { return mkHReg(18, HRcVec128, False); }
+HReg hregARM64_Q19 ( void ) { return mkHReg(19, HRcVec128, False); }
+HReg hregARM64_Q20 ( void ) { return mkHReg(20, HRcVec128, False); }
//ZZ HReg hregARM_Q11 ( void ) { return mkHReg(11, HRcVec128, False); }
//ZZ HReg hregARM_Q12 ( void ) { return mkHReg(12, HRcVec128, False); }
//ZZ HReg hregARM_Q13 ( void ) { return mkHReg(13, HRcVec128, False); }
@@ -131,7 +133,7 @@
void getAllocableRegs_ARM64 ( Int* nregs, HReg** arr )
{
Int i = 0;
- *nregs = 24;
+ *nregs = 26;
*arr = LibVEX_Alloc(*nregs * sizeof(HReg));
// callee saves ones (22 to 28) are listed first, since we prefer
@@ -168,6 +170,8 @@
(*arr)[i++] = hregARM64_Q16();
(*arr)[i++] = hregARM64_Q17();
(*arr)[i++] = hregARM64_Q18();
+ (*arr)[i++] = hregARM64_Q19();
+ (*arr)[i++] = hregARM64_Q20();
// F64 regs, all of which are callee-saved
(*arr)[i++] = hregARM64_D8();
@@ -2692,8 +2696,8 @@
/* This is a bit subtle. */
/* First off, claim it trashes all the caller-saved regs
which fall within the register allocator's jurisdiction.
- These I believe to be x0 to x7. Also need to be
- careful about vector regs. */
+ These I believe to be x0 to x7 and the 128-bit vector
+ registers in use, q16 .. q20. */
addHRegUse(u, HRmWrite, hregARM64_X0());
addHRegUse(u, HRmWrite, hregARM64_X1());
addHRegUse(u, HRmWrite, hregARM64_X2());
@@ -2705,6 +2709,8 @@
addHRegUse(u, HRmWrite, hregARM64_Q16());
addHRegUse(u, HRmWrite, hregARM64_Q17());
addHRegUse(u, HRmWrite, hregARM64_Q18());
+ addHRegUse(u, HRmWrite, hregARM64_Q19());
+ addHRegUse(u, HRmWrite, hregARM64_Q20());
/* Now we have to state any parameter-carrying registers
which might be read. This depends on nArgRegs. */
switch (i->ARM64in.Call.nArgRegs) {
Modified: trunk/priv/host_arm64_defs.h
==============================================================================
--- trunk/priv/host_arm64_defs.h (original)
+++ trunk/priv/host_arm64_defs.h Fri Jun 20 08:30:21 2014
@@ -79,6 +79,8 @@
extern HReg hregARM64_Q16 ( void );
extern HReg hregARM64_Q17 ( void );
extern HReg hregARM64_Q18 ( void );
+extern HReg hregARM64_Q19 ( void );
+extern HReg hregARM64_Q20 ( void );
/* Number of registers used arg passing in function calls */
#define ARM64_N_ARGREGS 8 /* x0 .. x7 */
|
|
From: Philippe W. <phi...@sk...> - 2014-06-20 04:49:31
|
valgrind revision: 14054 VEX revision: 2880 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) GDB: GNU gdb (GDB) Fedora (7.5.1-37.fc18) Assembler: GNU assembler version 2.23.51.0.1-7.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.8.8-202.fc18.ppc64p7 ppc64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on gcc110 ( Fedora release 18 (Spherical Cow), ppc64 ) Started at 2014-06-19 20:00:07 PDT Ended at 2014-06-19 21:46:07 PDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 584 tests, 9 stderr failures, 3 stdout failures, 0 stderrB failures, 0 stdoutB failures, 2 post failures == memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/ppc64/power_ISA2_05 (stdout) memcheck/tests/supp_unknown (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/vbit-test/vbit-test (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.22s no: 1.6s ( 7.2x, -----) me: 2.9s (13.3x, -----) ca:21.5s (97.8x, -----) he: 1.8s ( 8.0x, -----) ca: 5.3s (24.3x, -----) dr: 1.7s ( 7.7x, -----) ma: 2.1s ( 9.7x, -----) bigcode1 valgrind-old:0.22s no: 1.7s ( 7.8x, -8.2%) me: 3.1s (14.1x, -6.5%) ca:20.6s (93.5x, 4.3%) he: 1.8s ( 8.0x, -0.6%) ca: 5.5s (25.0x, -2.8%) dr: 1.7s ( 7.8x, -1.8%) ma: 2.1s ( 9.7x, 0.5%) -- bigcode2 -- bigcode2 valgrind-new:0.23s no: 1.6s ( 6.8x, -----) me: 3.0s (13.0x, -----) ca:21.8s (94.9x, -----) he: 2.1s ( 9.3x, -----) ca: 5.5s (23.7x, -----) dr: 1.9s ( 8.1x, -----) ma: 2.1s ( 9.3x, -----) bigcode2 valgrind-old:0.23s no: 1.5s ( 6.7x, 1.9%) me: 3.0s (12.9x, 0.3%) ca:20.8s (90.5x, 4.7%) he: 2.1s ( 9.3x, 0.0%) ca: 5.7s (24.7x, -4.2%) dr: 1.9s ( 8.0x, 0.5%) ma: 2.1s ( 9.3x, -0.5%) -- bz2 -- bz2 valgrind-new:0.73s no: 4.5s ( 6.2x, -----) me:11.7s (16.0x, -----) ca:29.4s (40.3x, -----) he:14.6s (20.0x, -----) ca:24.7s (33.9x, -----) dr:19.1s (26.2x, -----) ma: 4.7s ( 6.4x, -----) bz2 valgrind-old:0.73s no: 4.5s ( 6.2x, 0.0%) me:11.6s (15.9x, 0.6%) ca:28.8s (39.5x, 2.0%) he:14.8s (20.3x, -1.1%) ca:24.6s (33.7x, 0.5%) dr:19.2s (26.3x, -0.5%) ma: 4.7s ( 6.4x, 0.6%) -- fbench -- fbench valgrind-new:0.34s no: 2.1s ( 6.2x, -----) me: 5.2s (15.3x, -----) ca: 9.1s (26.6x, -----) he: 5.3s (15.6x, -----) ca: 7.7s (22.8x, -----) dr: 4.8s (14.2x, -----) ma: 2.1s ( 6.3x, -----) fbench valgrind-old:0.34s no: 2.1s ( 6.2x, 0.5%) me: 5.2s (15.2x, 0.8%) ca: 9.1s (26.6x, 0.0%) he: 5.2s (15.4x, 1.1%) ca: 7.4s (21.9x, 3.9%) dr: 4.8s (14.2x, 0.2%) ma: 2.1s ( 6.3x, 0.5%) -- ffbench -- ffbench valgrind-new:0.45s no: 1.3s ( 2.9x, -----) me: 2.5s ( 5.5x, -----) ca: 2.9s ( 6.4x, -----) he: 7.0s (15.5x, -----) ca: 7.0s (15.6x, -----) dr: 5.0s (11.1x, -----) ma: 1.0s ( 2.3x, -----) ffbench valgrind-old:0.45s no: 1.3s ( 3.0x, -0.8%) me: 2.5s ( 5.5x, 1.2%) ca: 2.8s ( 6.1x, 3.5%) he: 6.8s (15.1x, 2.2%) ca: 7.1s (15.8x, -1.6%) dr: 5.0s (11.0x, 0.8%) ma: 1.1s ( 2.4x, -5.8%) -- heap -- heap valgrind-new:0.40s no: 2.5s ( 6.1x, -----) me: 9.7s (24.1x, -----) ca:14.7s (36.6x, -----) he:11.8s (29.4x, -----) ca:12.0s (30.1x, -----) dr: 8.1s (20.1x, -----) ma: 8.6s (21.5x, -----) heap valgrind-old:0.40s no: 2.5s ( 6.2x, -1.2%) me: 9.7s (24.1x, -0.1%) ca:14.3s (35.8x, 2.3%) he:11.8s (29.6x, -0.6%) ca:12.1s (30.3x, -0.7%) dr: 8.0s (20.1x, 0.4%) ma: 8.6s (21.4x, 0.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.42s no: 2.6s ( 6.2x, -----) me:13.7s (32.5x, -----) ca:15.7s (37.3x, -----) he:13.2s (31.5x, -----) ca:13.3s (31.6x, -----) dr: 9.1s (21.5x, -----) ma: 8.8s (21.0x, -----) heap_pdb4 valgrind-old:0.42s no: 2.6s ( 6.3x, -1.5%) me:13.8s (32.8x, -1.0%) ca:15.4s (36.6x, 2.0%) he:13.3s (31.7x, -0.5%) ca:13.2s (31.3x, 0.9%) dr: 8.9s (21.3x, 1.2%) ma: 8.8s (20.8x, 0.6%) -- many-loss-records -- many-loss-records valgrind-new:0.03s no: 0.5s (17.7x, -----) me: 2.1s (71.7x, -----) ca: 2.1s (68.7x, -----) he: 1.8s (61.3x, -----) ca: 1.9s (62.3x, -----) dr: 1.5s (51.0x, -----) ma: 1.6s (52.3x, -----) many-loss-records valgrind-old:0.03s no: 0.5s (17.7x, 0.0%) me: 2.2s (72.7x, -1.4%) ca: 2.0s (67.7x, 1.5%) he: 1.8s (60.3x, 1.6%) ca: 1.9s (62.0x, 0.5%) dr: 1.6s (51.7x, -1.3%) ma: 1.6s (52.0x, 0.6%) -- many-xpts -- many-xpts valgrind-new:0.06s no: 0.7s (12.3x, -----) me: 3.3s (55.7x, -----) ca: 5.0s (84.2x, -----) he: 4.9s (81.3x, -----) ca: 2.9s (48.7x, -----) dr: 2.3s (38.3x, -----) ma: 2.3s (37.7x, -----) many-xpts valgrind-old:0.06s no: 0.7s (12.3x, 0.0%) me: 3.4s (56.3x, -1.2%) ca: 5.0s (83.0x, 1.4%) he: 4.9s (81.2x, 0.2%) ca: 2.9s (48.7x, 0.0%) dr: 2.3s (38.2x, 0.4%) ma: 2.3s (38.0x, -0.9%) -- sarp -- sarp valgrind-new:0.02s no: 0.4s (20.5x, -----) me: 3.0s (152.0x, -----) ca: 3.2s (159.0x, -----) he:11.7s (584.0x, -----) ca: 1.7s (84.5x, -----) dr: 1.1s (54.0x, -----) ma: 0.4s (21.5x, -----) sarp valgrind-old:0.02s no: 0.4s (20.0x, 2.4%) me: 3.1s (154.0x, -1.3%) ca: 3.1s (156.5x, 1.6%) he:11.2s (560.0x, 4.1%) ca: 1.7s (84.5x, 0.0%) dr: 1.1s (56.0x, -3.7%) ma: 0.5s (23.0x, -7.0%) -- tinycc -- tinycc valgrind-new:0.28s no: 3.0s (10.7x, -----) me:13.8s (49.2x, -----) ca:18.6s (66.5x, -----) he:19.3s (68.9x, -----) ca:15.8s (56.3x, -----) dr:12.0s (43.0x, -----) ma: 3.8s (13.6x, -----) tinycc valgrind-old:0.28s no: 3.0s (10.7x, 0.0%) me:13.7s (49.0x, 0.4%) ca:18.5s (66.2x, 0.5%) he:19.2s (68.5x, 0.6%) ca:15.7s (56.0x, 0.6%) dr:12.1s (43.0x, -0.1%) ma: 3.8s (13.6x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 54m52.093s user 53m42.835s sys 0m20.534s |
|
From: Christian B. <bor...@de...> - 2014-06-20 04:09:44
|
valgrind revision: 14054 VEX revision: 2880 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] GDB: GNU gdb (GDB) SUSE (7.5.1-0.7.29) Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.101-0.21-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP3 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP3 gcc 4.3.4 on z196 (s390x) ) Started at 2014-06-20 03:45:01 CEST Ended at 2014-06-20 06:09:32 CEST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 650 tests, 3 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) helgrind/tests/pth_cond_destroy_busy (stderr) helgrind/tests/tc20_verifywrap (stderr) --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.23s no: 4.4s (19.0x, -----) me: 6.9s (29.9x, -----) ca:26.4s (114.8x, -----) he: 5.1s (22.0x, -----) ca: 9.2s (39.8x, -----) dr: 5.4s (23.4x, -----) ma: 5.0s (21.6x, -----) bigcode1 valgrind-old:0.23s no: 4.3s (18.8x, 1.4%) me: 6.9s (30.1x, -0.6%) ca:26.4s (114.7x, 0.1%) he: 5.0s (21.9x, 0.6%) ca: 9.1s (39.7x, 0.2%) dr: 5.4s (23.4x, 0.2%) ma: 5.0s (21.7x, -0.8%) -- bigcode2 -- bigcode2 valgrind-new:0.24s no: 7.2s (30.2x, -----) me:13.8s (57.4x, -----) ca:39.5s (164.8x, -----) he:10.1s (42.2x, -----) ca:14.3s (59.6x, -----) dr: 9.5s (39.8x, -----) ma: 8.4s (35.0x, -----) bigcode2 valgrind-old:0.24s no: 7.3s (30.4x, -0.7%) me:13.9s (58.1x, -1.2%) ca:39.6s (165.1x, -0.2%) he:10.1s (42.0x, 0.4%) ca:14.2s (59.4x, 0.3%) dr: 9.5s (39.6x, 0.3%) ma: 8.4s (35.0x, 0.0%) -- bz2 -- bz2 valgrind-new:0.70s no: 5.0s ( 7.1x, -----) me:12.9s (18.4x, -----) ca:30.7s (43.9x, -----) he:19.5s (27.9x, -----) ca:34.3s (49.0x, -----) dr:29.0s (41.4x, -----) ma: 4.7s ( 6.7x, -----) bz2 valgrind-old:0.70s no: 5.0s ( 7.2x, -0.4%) me:12.8s (18.2x, 0.8%) ca:30.8s (43.9x, -0.0%) he:19.5s (27.9x, 0.1%) ca:34.3s (49.0x, 0.0%) dr:29.2s (41.7x, -0.8%) ma: 4.7s ( 6.7x, 0.9%) -- fbench -- fbench valgrind-new:0.41s no: 1.6s ( 3.9x, -----) me: 4.2s (10.2x, -----) ca: 9.3s (22.8x, -----) he: 6.3s (15.3x, -----) ca: 7.2s (17.5x, -----) dr: 5.5s (13.5x, -----) ma: 1.7s ( 4.1x, -----) fbench valgrind-old:0.41s no: 1.6s ( 3.9x, -0.6%) me: 4.2s (10.3x, -0.5%) ca: 9.3s (22.8x, -0.1%) he: 6.3s (15.3x, -0.5%) ca: 7.2s (17.4x, 0.4%) dr: 5.5s (13.5x, 0.2%) ma: 1.7s ( 4.1x, 0.0%) -- ffbench -- ffbench valgrind-new:0.21s no: 1.1s ( 5.0x, -----) me: 3.0s (14.2x, -----) ca: 3.0s (14.4x, -----) he:43.4s (206.8x, -----) ca: 9.6s (45.7x, -----) dr: 6.9s (32.8x, -----) ma: 1.0s ( 4.7x, -----) ffbench valgrind-old:0.21s no: 1.1s ( 5.1x, -1.9%) me: 3.0s (14.3x, -1.0%) ca: 3.0s (14.4x, 0.0%) he:43.8s (208.5x, -0.8%) ca: 9.6s (45.7x, 0.0%) dr: 6.9s (33.0x, -0.4%) ma: 1.0s ( 4.6x, 1.0%) -- heap -- heap valgrind-new:0.23s no: 1.9s ( 8.2x, -----) me: 8.8s (38.0x, -----) ca:13.3s (57.7x, -----) he:12.6s (55.0x, -----) ca:11.3s (49.0x, -----) dr: 7.8s (33.7x, -----) ma: 7.8s (33.7x, -----) heap valgrind-old:0.23s no: 1.9s ( 8.3x, -0.5%) me: 8.8s (38.4x, -0.9%) ca:13.2s (57.4x, 0.5%) he:12.8s (55.6x, -1.1%) ca:11.3s (49.0x, 0.0%) dr: 7.7s (33.5x, 0.6%) ma: 8.0s (34.7x, -3.1%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.22s no: 2.1s ( 9.4x, -----) me:12.7s (57.9x, -----) ca:14.2s (64.7x, -----) he:14.0s (63.6x, -----) ca:12.4s (56.2x, -----) dr: 8.7s (39.5x, -----) ma: 7.8s (35.6x, -----) heap_pdb4 valgrind-old:0.22s no: 2.1s ( 9.5x, -0.5%) me:13.0s (58.9x, -1.7%) ca:14.1s (64.3x, 0.6%) he:14.2s (64.4x, -1.1%) ca:12.4s (56.2x, 0.0%) dr: 8.6s (39.1x, 1.1%) ma: 8.1s (36.8x, -3.3%) -- many-loss-records -- many-loss-records valgrind-new:0.02s no: 0.5s (24.0x, -----) me: 2.1s (105.0x, -----) ca: 1.9s (97.5x, -----) he: 2.1s (107.0x, -----) ca: 1.9s (95.5x, -----) dr: 1.8s (87.5x, -----) ma: 1.6s (81.0x, -----) many-loss-records valgrind-old:0.02s no: 0.5s (24.0x, 0.0%) me: 2.1s (105.0x, 0.0%) ca: 1.9s (97.0x, 0.5%) he: 2.2s (109.5x, -2.3%) ca: 1.9s (95.5x, 0.0%) dr: 1.7s (87.0x, 0.6%) ma: 1.7s (84.5x, -4.3%) -- many-xpts -- many-xpts valgrind-new:0.07s no: 0.6s ( 9.0x, -----) me: 3.1s (45.0x, -----) ca:373.5s (5335.4x, -----) he: 6.5s (93.3x, -----) ca: 2.8s (40.0x, -----) dr: 2.5s (35.9x, -----) ma: 2.5s (36.1x, -----) many-xpts valgrind-old:0.07s no: 0.6s ( 9.0x, 0.0%) me: 3.1s (45.0x, 0.0%) ca:375.4s (5362.6x, -0.5%) he: 6.6s (94.4x, -1.2%) ca: 2.8s (40.0x, 0.0%) dr: 2.5s (35.9x, 0.0%) ma: 2.7s (38.7x, -7.1%) -- sarp -- sarp valgrind-new:0.03s no: 0.6s (19.0x, -----) me: 3.4s (114.3x, -----) ca: 3.2s (107.0x, -----) he:17.1s (571.7x, -----) ca: 2.0s (68.3x, -----) dr: 1.4s (45.0x, -----) ma: 0.5s (17.3x, -----) sarp valgrind-old:0.03s no: 0.6s (18.7x, 1.8%) me: 3.4s (114.3x, 0.0%) ca: 3.2s (105.7x, 1.2%) he:17.1s (570.3x, 0.2%) ca: 2.0s (68.3x, 0.0%) dr: 1.4s (45.0x, 0.0%) ma: 0.5s (17.0x, 1.9%) -- tinycc -- tinycc valgrind-new:0.22s no: 2.8s (12.8x, -----) me:14.5s (65.8x, -----) ca:29.9s (136.1x, -----) he:28.0s (127.5x, -----) ca:21.4s (97.2x, -----) dr:20.6s (93.6x, -----) ma: 4.1s (18.7x, -----) tinycc valgrind-old:0.22s no: 2.8s (12.7x, 1.1%) me:14.5s (65.9x, -0.1%) ca:30.0s (136.3x, -0.2%) he:28.1s (127.9x, -0.4%) ca:21.3s (96.9x, 0.3%) dr:20.6s (93.5x, 0.0%) ma: 4.1s (18.8x, -0.5%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 111m3.318s user 110m22.684s sys 0m33.167s |
|
From: Tom H. <to...@co...> - 2014-06-20 03:27:15
|
valgrind revision: 14054 VEX revision: 2880 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) GDB: Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.14.7-200.fc20.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2014-06-20 03:51:18 BST Ended at 2014-06-20 04:26:52 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 653 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) memcheck/tests/vbit-test/vbit-test (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Rich C. <rc...@wi...> - 2014-06-20 03:05:12
|
valgrind revision: 14054
VEX revision: 2880
C compiler: gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012]
GDB: GNU gdb (GDB) SUSE (7.5.1-2.1.1)
Assembler: GNU assembler (GNU Binutils; openSUSE 12.3) 2.23.1
C library: GNU C Library (GNU libc) stable release version 2.17 (git c758a6861537)
uname -mrs: Linux 3.7.9-1.1-desktop x86_64
Vendor version: Welcome to openSUSE 12.3 "Dartmouth" Beta 1 - Kernel %r (%t).
Nightly build on ultra ( gcc (SUSE Linux) 4.7.2 20130108 [gcc-4_7-branch revision 195012] Linux 3.7.9-1.1-desktop x86_64 )
Started at 2014-06-19 21:30:01 CDT
Ended at 2014-06-19 22:05:02 CDT
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 677 tests, 1 stderr failure, 0 stdout failures, 2 stderrB failures, 0 stdoutB failures, 0 post failures ==
gdbserver_tests/hginfo (stderrB)
gdbserver_tests/mssnapshot (stderrB)
memcheck/tests/vbit-test/vbit-test (stderr)
=================================================
./valgrind-new/gdbserver_tests/hginfo.stderrB.diff
=================================================
--- hginfo.stderrB.exp 2014-06-19 21:49:47.036894729 -0500
+++ hginfo.stderrB.out 2014-06-19 21:53:54.015170658 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
Lock ga 0x........ {
Address 0x........ is 0 bytes inside data symbol "mx"
kind mbRec
=================================================
./valgrind-new/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2014-06-19 21:49:47.059894104 -0500
+++ mssnapshot.stderrB.out 2014-06-19 21:54:25.747306196 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-new/memcheck/tests/vbit-test/vbit-test.stderr.diff
=================================================
--- vbit-test.stderr.exp 2014-06-19 21:49:15.962739142 -0500
+++ vbit-test.stderr.out 2014-06-19 21:57:23.402465537 -0500
@@ -0,0 +1 @@
+unknown opcode 5824
=================================================
./valgrind-old/gdbserver_tests/hginfo.stderrB.diff
=================================================
--- hginfo.stderrB.exp 2014-06-19 21:31:04.944324780 -0500
+++ hginfo.stderrB.out 2014-06-19 21:35:02.811885367 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
Lock ga 0x........ {
Address 0x........ is 0 bytes inside data symbol "mx"
kind mbRec
=================================================
./valgrind-old/gdbserver_tests/mssnapshot.stderrB.diff
=================================================
--- mssnapshot.stderrB.exp 2014-06-19 21:31:04.926325737 -0500
+++ mssnapshot.stderrB.out 2014-06-19 21:35:35.087011143 -0500
@@ -1,5 +1,11 @@
relaying data between gdb and process ....
+Missing separate debuginfo for /lib64/ld-linux-x86-64.so.2
+Try: zypper install -C "debuginfo(build-id)=ecb8ef1a6904a2a3ec60a527f415f520c8636158"
vgdb-error value changed from 0 to 999999
+Missing separate debuginfo for /lib64/libpthread.so.0
+Try: zypper install -C "debuginfo(build-id)=ef5f5dbcb2398c608fef7884e1bfb65be3b5f0ef"
+Missing separate debuginfo for /lib64/libc.so.6
+Try: zypper install -C "debuginfo(build-id)=bd1473e8e6a4c10a14731b5be4b35b4e87db2af7"
general valgrind monitor commands:
help [debug] : monitor command help. With debug: + debugging commands
v.wait [<ms>] : sleep <ms> (default 0) then continue
=================================================
./valgrind-old/memcheck/tests/vbit-test/vbit-test.stderr.diff
=================================================
--- vbit-test.stderr.exp 2014-06-19 21:30:55.766572984 -0500
+++ vbit-test.stderr.out 2014-06-19 21:38:31.043243030 -0500
@@ -0,0 +1 @@
+unknown opcode 5824
|
|
From: Tom H. <to...@co...> - 2014-06-20 02:50:29
|
valgrind revision: 14054 VEX revision: 2880 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.14.7-200.fc20.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-06-20 03:13:52 BST Ended at 2014-06-20 03:50:18 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 684 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) |
|
From: Tom H. <to...@co...> - 2014-06-20 02:40:14
|
valgrind revision: 14054 VEX revision: 2880 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.14.7-200.fc20.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-06-20 03:02:01 BST Ended at 2014-06-20 03:39:59 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 684 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/vbit-test/vbit-test (stderr) |