From rodrigc@crodrigues.org  Thu Oct 20 01:17:17 2005
Return-Path: <rodrigc@crodrigues.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id C25FF16A41F;
	Thu, 20 Oct 2005 01:17:17 +0000 (GMT)
	(envelope-from rodrigc@crodrigues.org)
Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 49FD643D5A;
	Thu, 20 Oct 2005 01:17:17 +0000 (GMT)
	(envelope-from rodrigc@crodrigues.org)
Received: from c-24-147-19-135.hsd1.ma.comcast.net ([24.147.19.135])
          by comcast.net (rwcrmhc11) with ESMTP
          id <20051020011716013005tlioe>; Thu, 20 Oct 2005 01:17:16 +0000
Received: from c-24-147-19-135.hsd1.ma.comcast.net (localhost.127.in-addr.arpa [127.0.0.1])
	by c-24-147-19-135.hsd1.ma.comcast.net (8.13.4/8.13.1) with ESMTP id j9K1HG0M023777;
	Wed, 19 Oct 2005 21:17:16 -0400 (EDT)
	(envelope-from rodrigc@c-24-147-19-135.hsd1.ma.comcast.net)
Received: (from rodrigc@localhost)
	by c-24-147-19-135.hsd1.ma.comcast.net (8.13.4/8.13.1/Submit) id j9K1HFMK023776;
	Wed, 19 Oct 2005 21:17:15 -0400 (EDT)
	(envelope-from rodrigc)
Message-Id: <200510200117.j9K1HFMK023776@c-24-147-19-135.hsd1.ma.comcast.net>
Date: Wed, 19 Oct 2005 21:17:15 -0400 (EDT)
From: Craig Rodrigues <rodrigc@crodrigues.org>
Reply-To: Craig Rodrigues <rodrigc@crodrigues.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc: barner@freebsd.org, dfr@nlsystems.com
Subject: devel/valgrind-snapshot does not support FreeBSD uuidgen() syscall
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         87697
>Category:       ports
>Synopsis:       devel/valgrind-snapshot does not support FreeBSD uuidgen() syscall
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    barner
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Oct 20 01:20:17 GMT 2005
>Closed-Date:    Thu Oct 20 10:41:31 GMT 2005
>Last-Modified:  Thu Oct 20 10:41:31 GMT 2005
>Originator:     Craig Rodrigues
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD dibbler.crodrigues.org 7.0-CURRENT FreeBSD 7.0-CURRENT #14: Sun Oct 16 23:18:15 EDT 2005 root@dibbler.crodrigues.org:/usr/obj/usr/src/sys/MYKERNEL1 i386


	
>Description:
Recently I needed to use devel/valgrind-snapshot to test some code on FreeBSD
which calls the uuidgen() system call.  valgrind complains
that it does not support syscall 392, which is uuidgen.

If something like the attached patch could be added to the FreeBSD
version of valgrind, that would be very helpful!

>How-To-Repeat:
Try running valgrind on code like this:

#include <sys/types.h>
#include <sys/uuid.h>
int main(int argc, char *argv[]) { struct uuid blah; uuidgen(&blah, 1); }

>Fix:

--- vg_syscalls.c.orig	Fri Jul 16 13:21:08 2004
+++ vg_syscalls.c	Wed Oct 19 21:04:27 2005
+#if __FreeBSD__ >= 5
+PRE(uuidgen)
+{
+   /* int uuidgen(struct uuid *store, int count); */
+   MAYBE_PRINTF("uuidgen ( %p, %d )\n", arg1, arg2);
+   SYSCALL_TRACK( pre_mem_write, tid, "uuidgen(store, count)", arg1, arg2);
+}
+
+POST(uuidgen)
+{
+   VG_TRACK( post_mem_write, arg1, arg2 );
+}
+
+#endif
+
 #endif
 
 PRE(setresgid)
@@ -6827,6 +6882,9 @@
    SYSBA(kldstat,		False),
    SYSB_(kldfirstmod,		False),
    SYSBA(__getcwd,		False),
+#if __FreeBSD__ >= 5
+   SYSBA(uuidgen,		False),
+#endif
 };
 #define MAX_SYS_INFO		(sizeof(sys_info)/sizeof(sys_info[0]))
 
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->barner 
Responsible-Changed-By: rodrigc 
Responsible-Changed-When: Thu Oct 20 01:22:15 GMT 2005 
Responsible-Changed-Why:  
Over to maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=87697 

From: Craig Rodrigues <rodrigc@crodrigues.org>
To: bug-followup@freebsd.org
Cc: barner@freebsd.org, dfr@nlsystems.com
Subject: Re: ports/87697: devel/valgrind-snapshot does not support FreeBSD uuidgen() syscall
Date: Wed, 19 Oct 2005 22:08:52 -0400

 Hi,
 
 I messed the patch up a little bit in my submission.
 It should be:
 
 --- vg_syscalls.c.orig  Fri Jul 16 13:21:08 2004
 +++ vg_syscalls.c   Wed Oct 19 21:04:27 2005
 @@ -1574,6 +1614,21 @@
     VG_TRACK( post_mem_write, arg1, arg2 );
  }
 
 +#if __FreeBSD__ >= 5
 +PRE(uuidgen)
 +{
 +   /* int uuidgen(struct uuid *store, int count); */
 +   MAYBE_PRINTF("uuidgen ( %p, %d )\n", arg1, arg2);
 +   SYSCALL_TRACK( pre_mem_write, tid, "uuidgen(store, count)", arg1, arg2);
 +}
 +
 +POST(uuidgen)
 +{
 +   VG_TRACK( post_mem_write, arg1, arg2 );
 +}
 +
 +#endif
 +
  #endif
 
  PRE(setresgid)
 @@ -6827,6 +6882,9 @@
     SYSBA(kldstat,      False),
     SYSB_(kldfirstmod,      False),
     SYSBA(__getcwd,     False),
 +#if __FreeBSD__ >= 5
 +   SYSBA(uuidgen,      False),
 +#endif
  };
  #define MAX_SYS_INFO       (sizeof(sys_info)/sizeof(sys_info[0]))
 
 
 -- 
 Craig Rodrigues        
 rodrigc@crodrigues.org
State-Changed-From-To: open->closed 
State-Changed-By: barner 
State-Changed-When: Thu Oct 20 10:41:29 GMT 2005 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=87697 
>Unformatted:
