New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #21525: patch-valgrind-global.diff

File patch-valgrind-global.diff, 39.0 KB (added by guillaume-jean@…, 2 years ago)

Global patch for the valgrind sourcefiles

  • Makefile.all.am

     
    8888        -Wpointer-arith \ 
    8989        -Wstrict-prototypes \ 
    9090        -Wmissing-declarations \ 
     91        -Wno-pointer-sign \ 
    9192        @FLAG_W_NO_FORMAT_ZERO_LENGTH@ \ 
    9293        -fno-strict-aliasing 
    9394 
  • mpi/Makefile.am

     
    5656 
    5757 
    5858if BUILD_MPIWRAP_PRI 
    59 libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES  = libmpiwrap.c 
    60 libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = -I../include 
     59libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_SOURCES  = $(srcdir)/libmpiwrap.c 
     60libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CPPFLAGS = -I$(srcdir)/../include 
    6161libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_CFLAGS   = \ 
    6262        $(CFLAGS_MPI) $(MPI_FLAG_M3264_PRI) 
    6363libmpiwrap_@VGCONF_ARCH_PRI@_@VGCONF_OS@_so_LDFLAGS  = $(LDFLAGS_MPI) 
    6464endif 
    6565if BUILD_MPIWRAP_SEC 
    66 libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES  = libmpiwrap.c 
    67 libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = -I../include 
     66libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES  = $(srcdir)/libmpiwrap.c 
     67libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = -I$(srcdir)/../include 
    6868libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS   = \ 
    6969        $(CFLAGS_MPI) $(MPI_FLAG_M3264_SEC) 
    7070libmpiwrap_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_LDFLAGS  = $(LDFLAGS_MPI) 
  • darwin10-drd.supp

     
     1 
     2# DRD suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard 
  • include/vki/vki-darwin.h

     
    792792typedef struct eventreq vki_eventreq; 
    793793 
    794794 
     795#include <sys/acl.h> 
     796 
     797#define vki_kauth_filesec kauth_filesec 
     798 
     799 
    795800#include <sys/ptrace.h> 
    796801 
    797802#define VKI_PTRACE_TRACEME   PT_TRACE_ME 
     
    10211026#define VKI_A_GETPINFO_ADDR     A_GETPINFO_ADDR  
    10221027#define VKI_A_GETKAUDIT A_GETKAUDIT      
    10231028#define VKI_A_SETKAUDIT A_SETKAUDIT      
     1029#if DARWIN_VERS >= DARWIN_10_6 
     1030#define VKI_A_SENDTRIGGER A_SENDTRIGGER 
     1031#define VKI_A_GETSINFO_ADDR A_GETSINFO_ADDR 
     1032#endif 
    10241033 
    10251034 
    10261035#include <sys/aio.h> 
  • include/vki/vki-scnums-darwin.h

     
    3232#define __VKI_SCNUMS_DARWIN_H 
    3333 
    3434 
     35// need DARWIN_10_x definitions 
     36#include "config.h" 
     37 
    3538// osfmk/mach/i386/syscall_sw.h 
    3639 
    3740// There are two syscall number encodings in Darwin. 
     
    376379#define __NR_sigreturn      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(184) 
    377380#define __NR_chud           VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(185) 
    378381                        /* 186  */ 
     382#if DARWIN_VERS >= DARWIN_10_6 
     383#define __NR_fdatasync      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(187) 
     384#else 
    379385                        /* 187  */ 
     386#endif 
    380387#define __NR_stat           VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(188) 
    381388#define __NR_fstat          VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(189) 
    382389#define __NR_lstat          VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(190) 
     
    403410#define __NR_ATPgetreq      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(211) 
    404411#define __NR_ATPgetrsp      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(212) 
    405412                        /* 213  Reserved for AppleTalk */ 
    406 #define __NR_kqueue_from_portset_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(214) 
    407 #define __NR_kqueue_portset_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(215) 
     413#if DARWIN_VERS >= DARWIN_10_6 
     414                        /* 214  old kqueue_from_portset_np*/ 
     415                        /* 215  old kqueue_portset_np*/ 
     416#else 
     417#define __NR_kqueue_from_portset_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(214) 
     418#define __NR_kqueue_portset_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(215) 
     419#endif 
    408420#define __NR_mkcomplex      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(216) 
    409421#define __NR_statv          VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(217) 
    410422#define __NR_lstatv         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(218) 
     
    413425#define __NR_setattrlist    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(221) 
    414426#define __NR_getdirentriesattr VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(222) 
    415427#define __NR_exchangedata   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(223) 
    416                         /* 224  checkuseraccess */ 
     428                        /* 224  old checkuseraccess */ 
    417429#define __NR_searchfs       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(225) 
    418430#define __NR_delete         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(226) 
    419431#define __NR_copyfile       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(227) 
     432#if DARWIN_VERS >= DARWIN_10_6 
     433#define __NR_fgetattrlist   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(228) 
     434#define __NR_fsetattrlist   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(229) 
     435#else 
    420436                        /* 228  */ 
    421437                        /* 229  */ 
     438#endif 
    422439#define __NR_poll           VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(230) 
    423440#define __NR_watchevent     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(231) 
    424441#define __NR_waitevent      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(232) 
     
    434451#define __NR_fsctl          VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(242) 
    435452#define __NR_initgroups     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(243) 
    436453#define __NR_posix_spawn    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(244) 
     454#if DARWIN_VERS >= DARWIN_10_6 
     455#define __NR_ffsctl         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(245) 
     456#else 
    437457                        /* 245  */ 
     458#endif 
    438459                        /* 246  */ 
    439460#define __NR_nfsclnt        VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(247) 
    440461#define __NR_fhopen         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(248) 
     
    485506#define __NR_identitysvc    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(293) 
    486507#define __NR_shared_region_check_np VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(294) 
    487508#define __NR_shared_region_map_np   VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(295) 
     509#if DARWIN_VERS >= DARWIN_10_6 
     510#define __NR_vm_pressure_monitor    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(296) 
     511#else 
    488512                        /* 296  old load_shared_file */ 
     513#endif 
    489514                        /* 297  old reset_shared_file */ 
    490515                        /* 298  old new_system_shared_regions */ 
    491516                        /* 299  old shared_region_map_file_np */ 
    492517                        /* 300  old shared_region_make_private_np */ 
    493 #define __NR___pthread_mutex_destroy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(301) 
    494 #define __NR___pthread_mutex_init VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(302) 
    495 #define __NR___pthread_mutex_lock VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(303) 
    496 #define __NR___pthread_mutex_trylock VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(304) 
    497 #define __NR___pthread_mutex_unlock VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(305) 
    498 #define __NR___pthread_cond_init VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(306) 
    499 #define __NR___pthread_cond_destroy VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(307) 
    500 #define __NR___pthread_cond_broadcast VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(308) 
    501 #define __NR___pthread_cond_signal VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(309) 
     518                        /* 301 */ 
     519                        /* 302 */ 
     520                        /* 303 */ 
     521                        /* 304 */ 
     522                        /* 305 */ 
     523                        /* 306 */ 
     524                        /* 307 */ 
     525                        /* 308 */ 
     526                        /* 309 */ 
    502527#define __NR_getsid         VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(310) 
    503528#define __NR_settid_with_pid VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(311) 
    504 #define __NR___pthread_cond_timedwait VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(312) 
     529                        /* 312 */ 
    505530#define __NR_aio_fsync      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(313) 
    506531#define __NR_aio_return     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(314) 
    507532#define __NR_aio_suspend    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(315) 
     
    510535#define __NR_aio_read       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(318) 
    511536#define __NR_aio_write      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(319) 
    512537#define __NR_lio_listio     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(320) 
    513 #define __NR___pthread_cond_wait VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(321) 
     538                        /* 321 */ 
    514539#define __NR_iopolicysys    VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(322) 
    515540                        /* 323  */ 
    516541#define __NR_mlockall       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(324) 
     
    559584#define __NR_bsdthread_register VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(366) 
    560585#define __NR_workq_open     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(367) 
    561586#define __NR_workq_ops      VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(368) 
     587#if DARWIN_VERS >= DARWIN_10_6 
     588#define __NR_kevent64       VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(369) 
     589#else 
    562590                        /* 369  */ 
     591#endif 
    563592                        /* 370  */ 
    564593                        /* 371  */ 
     594#if DARWIN_VERS >= DARWIN_10_6 
     595#define __NR___thread_selfid VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(372)  // was UX64 
     596#else 
    565597                        /* 372  */ 
     598#endif 
    566599                        /* 373  */ 
    567600                        /* 374  */ 
    568601                        /* 375  */ 
     
    617650#define __NR___mac_mount            VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(424) 
    618651#define __NR___mac_get_mount        VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(425) 
    619652#define __NR___mac_getfsstat        VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(426) 
     653#if DARWIN_VERS >= DARWIN_10_6 
     654#define __NR_fsgetpath              VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(427) 
     655#define __NR_audit_session_self     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(428) 
     656#define __NR_audit_session_join     VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(429) 
     657#endif 
     658 
     659#if DARWIN_VERS <= DARWIN_10_6 
    620660#define __NR_MAXSYSCALL             VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(427) 
     661#elif DARWIN_VERSION < DARWIN_10_7 
     662#define __NR_MAXSYSCALL             VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(430) 
     663#else 
     664#error unknown darwin version 
     665#endif 
    621666 
    622667#define __NR_DARWIN_FAKE_SIGRETURN (1 + __NR_MAXSYSCALL) 
    623668 
  • configure.in

     
    247247     *darwin*) 
    248248        AC_MSG_RESULT([ok (${host_os})]) 
    249249        VGCONF_OS="darwin" 
     250        AC_DEFINE([DARWIN_10_5], 100500, [DARWIN_VERS value for Mac OS X 10.5]) 
     251        AC_DEFINE([DARWIN_10_6], 100600, [DARWIN_VERS value for Mac OS X 10.6]) 
     252        AC_DEFINE([DARWIN_10_7], 100700, [DARWIN_VERS value for Mac OS X 10.7]) 
    250253 
    251254        AC_MSG_CHECKING([for the kernel version]) 
    252255        kernel=`uname -r` 
     
    254257        # Nb: for Darwin we set DEFAULT_SUPP here.  That's because Darwin 
    255258        # has only one relevant version, the OS version. The `uname` check 
    256259        # is a good way to get that version (i.e. "Darwin 9.6.0" is Mac OS 
    257         # X 10.5.6, and "Darwin 10.x" would presumably be Mac OS X 10.6.x 
    258         # Snow Leopard and darwin10.supp), and we don't know of an macros 
    259         # similar to __GLIBC__ to get that info. 
     260        # X 10.5.6, and "Darwin 10.x" is Mac OS X 10.6.x Snow Leopard),  
     261        # and we don't know of an macros similar to __GLIBC__ to get that info. 
    260262        # 
    261263        # XXX: `uname -r` won't do the right thing for cross-compiles, but 
    262264        # that's not a problem yet. 
    263265        case "${kernel}" in 
    264266             9.*) 
    265267                  AC_MSG_RESULT([Darwin 9.x (${kernel}) / Mac OS X 10.5 Leopard]) 
     268                  AC_DEFINE([DARWIN_VERS], DARWIN_10_5, [Darwin / Mac OS X version]) 
    266269                  DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}" 
    267270                  DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}" 
    268271                  ;; 
     272             10.*) 
     273                  AC_MSG_RESULT([Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard]) 
     274                  AC_DEFINE([DARWIN_VERS], DARWIN_10_6, [Darwin / Mac OS X version]) 
     275                  DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}" 
     276                  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" 
     277                  ;; 
    269278     *)  
    270279                  AC_MSG_RESULT([unsupported (${kernel})]) 
    271                   AC_MSG_ERROR([Valgrind works on Darwin 9.x (Mac OS X 10.5)]) 
     280                  AC_MSG_ERROR([Valgrind works on Darwin 9.x and 10.x (Mac OS X 10.5 and 10.6)]) 
    272281                  ;; 
    273282        esac 
    274283        ;; 
     
    14711480 
    14721481#---------------------------------------------------------------------------- 
    14731482# Check for /proc filesystem 
     1483# This doesn't work when cross-compiling, including Darwin universal builds. 
    14741484#---------------------------------------------------------------------------- 
     1485if test "x$cross_compiling" = "xno"; then 
    14751486AC_CHECK_FILES(/proc/self/fd /proc/self/exe /proc/self/maps,  
    14761487    [ AC_DEFINE([HAVE_PROC], 1, [can use /proc filesystem]) ],  
    14771488    []) 
     1489else 
     1490     # assume /proc/self/* is available everywhere except Darwin 
     1491     case "$VGCONF_OS" in 
     1492        darwin) 
     1493              ;; 
     1494        *) 
     1495           AC_DEFINE([HAVE_PROC], 1, [can use /proc filesystem]) 
     1496           ;; 
     1497     esac 
     1498fi 
    14781499 
    14791500 
    14801501#---------------------------------------------------------------------------- 
  • configure

    old new  
    42964296                  DEFAULT_SUPP="darwin9.supp ${DEFAULT_SUPP}" 
    42974297                  DEFAULT_SUPP="darwin9-drd.supp ${DEFAULT_SUPP}" 
    42984298                  ;; 
     4299             10.*) 
     4300                  echo "$as_me:$LINENO: result: Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard" >&5 
     4301echo "${ECHO_T}Darwin 10.x (${kernel}) / Mac OS X 10.6 Snow Leopard" >&6 
     4302                  DEFAULT_SUPP="darwin10.supp ${DEFAULT_SUPP}" 
     4303                  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}" 
     4304                  ;; 
    42994305     *) 
    43004306                  echo "$as_me:$LINENO: result: unsupported (${kernel})" >&5 
    43014307echo "${ECHO_T}unsupported (${kernel})" >&6 
  • auxprogs/Makefile.am

     
    2929valgrind_listener_CFLAGS    = $(AM_CFLAGS_PRI) 
    3030valgrind_listener_CCASFLAGS = $(AM_CCASFLAGS_PRI) 
    3131valgrind_listener_LDFLAGS   = $(AM_CFLAGS_PRI) 
    32  
  • Makefile.am

     
    2626 
    2727# Put docs last because building the HTML is slow and we want to get 
    2828# everything else working before we try it. 
     29# GrP SnowLeopard: 
     30#       mpi 
    2931SUBDIRS = \ 
    3032        include \ 
    3133        VEX \ 
     
    3638        tests \ 
    3739        perf \ 
    3840        auxprogs \ 
    39         mpi \ 
    4041        docs 
    4142DIST_SUBDIRS  = $(SUBDIRS) 
    4243 
     
    4849        glibc-2.2-LinuxThreads-helgrind.supp \ 
    4950        glibc-2.X-drd.supp \ 
    5051        exp-ptrcheck.supp \ 
    51         darwin9.supp darwin9-drd.supp 
     52        darwin9.supp darwin9-drd.supp \ 
     53        darwin10.supp darwin10-drd.supp 
    5254DEFAULT_SUPP_FILES = @DEFAULT_SUPP@ 
    5355 
    5456# We include all the base .supp files in the distribution, but not 
     
    6365BUILT_SOURCES  = default.supp valgrind.pc 
    6466CLEANFILES     = default.supp 
    6567 
    66 default.supp: $(DEFAULT_SUPP_FILES) 
     68default.supp: $(addprefix $(srcdir)/,$(DEFAULT_SUPP_FILES)) 
    6769        echo "# This is a generated file, composed of the following suppression rules:" > default.supp 
    6870        echo "# " $(DEFAULT_SUPP_FILES) >> default.supp 
    69         cat $(DEFAULT_SUPP_FILES) >> default.supp 
     71        cat $(addprefix $(srcdir)/,$(DEFAULT_SUPP_FILES)) >> default.supp 
    7072 
    7173## Preprend @PERL@ because tests/vg_regtest isn't executable 
    7274regtest: check 
  • darwin9-drd.supp

     
     1 
     2# DRD suppressions for Darwin 9.x / Mac OS X 10.5 Leopard 
     3 
    14# 
    25# Suppression patterns for dyld, the dynamic loader. 
    36# 
  • Makefile.vex.am

     
    5151# This is very uggerly.  Need to sed out both "xyzzyN" and 
    5252# "xyzzy$N" since gcc on different targets emits the constants 
    5353# differently -- with a leading $ on x86/amd64 but none on ppc32/64. 
    54 pub/libvex_guest_offsets.h: 
    55         rm -f auxprogs/genoffsets.s 
    56         $(CC) $(LIBVEX_CFLAGS) -O -S -o auxprogs/genoffsets.s \ 
    57                                         auxprogs/genoffsets.c 
    58         grep xyzzy auxprogs/genoffsets.s | grep define \ 
     54pub/libvex_guest_offsets.h: $(srcdir)/auxprogs/genoffsets.c 
     55        $(CC) $(LIBVEX_CFLAGS) -O -S -o - $(srcdir)/auxprogs/genoffsets.c \ 
     56           | grep xyzzy | grep define \ 
    5957           | sed "s/xyzzy\\$$//g" | sed "s/xyzzy//g" \ 
    60            > pub/libvex_guest_offsets.h 
    61         rm -f auxprogs/genoffsets.s 
     58           > $(srcdir)/pub/libvex_guest_offsets.h 
    6259 
    6360#---------------------------------------------------------------------------- 
    6461# libvex-<platform>.a 
  • darwin10.supp

     
     1 
     2# Suppressions for Darwin 10.x / Mac OS X 10.6 Snow Leopard 
  • coregrind/m_syswrap/priv_syswrap-darwin.h

     
    429429// 369 
    430430// 370 
    431431// 371 
    432 // 372 
     432DECL_TEMPLATE(darwin, __thread_selfid);         // 372 
    433433// 373 
    434434// 374 
    435435// 375 
     
    484484// NYI __mac_mount 424 
    485485// NYI __mac_get_mount 425 
    486486// NYI __mac_getfsstat 426 
     487DECL_TEMPLATE(darwin, fsgetpath);           // 427 
     488// NYI audit_session_self 428 
     489// NYI audit_session_join 429 
    487490 
    488491// Mach message helpers 
    489492DECL_TEMPLATE(darwin, host_info); 
     
    498501DECL_TEMPLATE(darwin, mach_port_get_refs); 
    499502DECL_TEMPLATE(darwin, mach_port_mod_refs); 
    500503DECL_TEMPLATE(darwin, mach_port_get_set_status); 
     504DECL_TEMPLATE(darwin, mach_port_move_member); 
    501505DECL_TEMPLATE(darwin, mach_port_destroy); 
    502506DECL_TEMPLATE(darwin, mach_port_request_notification); 
    503507DECL_TEMPLATE(darwin, mach_port_insert_right); 
     508DECL_TEMPLATE(darwin, mach_port_extract_right); 
    504509DECL_TEMPLATE(darwin, mach_port_get_attributes); 
    505510DECL_TEMPLATE(darwin, mach_port_set_attributes); 
    506511DECL_TEMPLATE(darwin, mach_port_insert_member); 
     
    537542DECL_TEMPLATE(darwin, thread_suspend); 
    538543DECL_TEMPLATE(darwin, thread_get_state); 
    539544DECL_TEMPLATE(darwin, thread_policy); 
     545DECL_TEMPLATE(darwin, thread_policy_set); 
    540546DECL_TEMPLATE(darwin, thread_info); 
    541547DECL_TEMPLATE(darwin, bootstrap_register); 
    542548DECL_TEMPLATE(darwin, bootstrap_look_up); 
  • coregrind/m_syswrap/syswrap-amd64-darwin.c

     
    378378   VexGuestAMD64State *vex; 
    379379   Addr stack; 
    380380   SizeT stacksize; 
     381   vki_sigset_t blockall; 
    381382 
     383   /* When we enter here we hold no lock (!), so we better acquire it 
     384      pronto.  Why do we hold no lock?  Because (presumably) the only 
     385      way to get here is as a result of a SfMayBlock syscall 
     386      "workq_ops(WQOPS_THREAD_RETURN)", which will have dropped the 
     387      lock.  At least that's clear for the 'reuse' case.  The 
     388      non-reuse case?  Dunno, perhaps it's a new thread the kernel 
     389      pulled out of a hat.  In any case we still need to take a 
     390      lock. */ 
     391   VG_(acquire_BigLock_LL)("wqthread_hijack"); 
     392 
     393   /* Start the thread with all signals blocked.  VG_(scheduler) will 
     394      set the mask correctly when we finally get there. */ 
     395   VG_(sigfillset)(&blockall); 
     396   VG_(sigprocmask)(VKI_SIG_SETMASK, &blockall, NULL); 
     397 
    382398   if (reuse) { 
    383399       // This thread already exists; we're merely re-entering  
    384400       // after leaving via workq_ops(WQOPS_THREAD_RETURN).  
     
    418434   if (reuse) { 
    419435      // Continue V's thread back in the scheduler.  
    420436      // The client thread is of course in another location entirely. 
     437 
     438      /* Drop the lock before going into 
     439         ML_(wqthread_continue_NORETURN).  The latter will immediately 
     440         attempt to reacquire it in non-LL mode, which is a bit 
     441         wasteful but I don't think is harmful.  A better solution 
     442         would be to not drop the lock but instead "upgrade" it from a 
     443         LL lock to a full lock, but that's too much like hard work 
     444         right now. */ 
     445      VG_(release_BigLock_LL)("wqthread_hijack(1)"); 
    421446      ML_(wqthread_continue_NORETURN)(tst->tid); 
    422447   }  
    423448   else { 
     
    450475      VG_(am_do_sync_check)("after", "wqthread_hijack", 0); 
    451476 
    452477      // Go! 
     478      /* Same comments as the 'release' in the then-clause. 
     479         start_thread_NORETURN calls run_thread_NORETURN calls 
     480         thread_wrapper which acquires the lock before continuing. 
     481         Let's hope nothing non-thread-local happens until that point. 
     482 
     483         DDD: I think this is plain wrong .. if we get to 
     484         thread_wrapper not holding the lock, and someone has recycled 
     485         this thread slot in the meantime, we're hosed.  Is that 
     486         possible, though? */ 
     487      VG_(release_BigLock_LL)("wqthread_hijack(2)"); 
    453488      call_on_new_stack_0_1(tst->os_state.valgrind_stack_init_SP, 0,  
    454489                            start_thread_NORETURN, (Word)tst); 
    455490   } 
  • coregrind/m_syswrap/priv_syswrap-generic.h

     
    200200DECL_TEMPLATE(generic, sys_getrlimit);             // * (?) 
    201201DECL_TEMPLATE(generic, sys_truncate64);            // %% (P?) 
    202202DECL_TEMPLATE(generic, sys_ftruncate64);           // %% (P?) 
    203 DECL_TEMPLATE(generic, sys_lchown);                // * (L?) 
     203DECL_TEMPLATE(generic, sys_lchown);                // * (L?) FreeBSD 3.0 
    204204DECL_TEMPLATE(generic, sys_mincore);               // * L? 
    205205DECL_TEMPLATE(generic, sys_getdents64);            // * (SVr4,SVID?) 
    206206DECL_TEMPLATE(generic, sys_statfs64);              // * (?) 
  • coregrind/m_syswrap/syswrap-main.c

     
    11551155#    error Unknown OS 
    11561156#  endif 
    11571157 
    1158    return sys == NULL  ? &bad_sys  : sys; 
     1158   return (sys && sys->before) ? sys : &bad_sys; 
    11591159} 
    11601160 
    11611161 
  • coregrind/m_syswrap/syswrap-darwin.c

     
    6666#include <mach/mach.h> 
    6767#include <mach/mach_vm.h> 
    6868#include <semaphore.h> 
    69 #include <sys/acl.h>   /* struct kauth_filesec */ 
    7069/* --- !!! --- EXTERNAL HEADERS end --- !!! --- */ 
    7170 
    7271#define msgh_request_port      msgh_remote_port 
     
    12401239{ 
    12411240   PRINT("futimes ( %ld, %#lx )", ARG1,ARG2); 
    12421241   PRE_REG_READ2(long, "futimes", int, fd, struct timeval *, tvp); 
    1243    if (ARG2 != 0) { 
     1242   if (!ML_(fd_allowed)(ARG1, "futimes", tid, False)) { 
     1243      SET_STATUS_Failure( VKI_EBADF ); 
     1244   } else if (ARG2 != 0) { 
    12441245      PRE_timeval_READ( "futimes(tvp[0])", ARG2 ); 
    12451246      PRE_timeval_READ( "futimes(tvp[1])", ARG2+sizeof(struct vki_timeval) ); 
    12461247   } 
     
    16351636{ 
    16361637   PRINT("kdebug_trace(%ld, %ld, %ld, %ld, %ld, %ld)",  
    16371638         ARG1, ARG2, ARG3, ARG4, ARG5, ARG6); 
     1639   /* 
     1640     Don't check anything - some clients pass fewer arguments. 
    16381641   PRE_REG_READ6(long, "kdebug_trace",  
    16391642                 int,"code", int,"arg1", int,"arg2",  
    16401643                 int,"arg3", int,"arg4", int,"arg5"); 
    1641    // GrP fixme anything else? 
     1644   */ 
    16421645} 
    16431646 
    16441647 
     
    20182021      is just way wrong.  [The trouble is with the size, which depends on a 
    20192022      non-trival kernel computation] */ 
    20202023   PRE_MEM_READ( "fchmod_extended(xsecurity)", ARG5,  
    2021                  sizeof(struct kauth_filesec) ); 
     2024                 sizeof(struct vki_kauth_filesec) ); 
    20222025} 
    20232026 
    20242027PRE(chmod_extended) 
     
    20382041      is just way wrong.  [The trouble is with the size, which depends on a 
    20392042      non-trival kernel computation] */ 
    20402043   PRE_MEM_READ( "chmod_extended(xsecurity)", ARG5,  
    2041                  sizeof(struct kauth_filesec) ); 
     2044                 sizeof(struct vki_kauth_filesec) ); 
    20422045} 
    20432046 
    20442047 
     
    22412244   } attrspec; 
    22422245   static const attrspec commonattr[] = { 
    22432246      // This order is important. 
     2247#if DARWIN_VERS >= DARWIN_10_6 
     2248      { ATTR_CMN_RETURNED_ATTRS,  sizeof(attribute_set_t) },  
     2249#endif 
    22442250      { ATTR_CMN_NAME,            -1 },  
    22452251      { ATTR_CMN_DEVID,           sizeof(dev_t) },  
    22462252      { ATTR_CMN_FSID,            sizeof(fsid_t) },  
     
    22632269      { ATTR_CMN_NAMEDATTRLIST,   -1 },  
    22642270      { ATTR_CMN_FLAGS,           sizeof(uint32_t) },  
    22652271      { ATTR_CMN_USERACCESS,      sizeof(uint32_t) },  
     2272      { ATTR_CMN_EXTENDED_SECURITY, -1 },  
     2273      { ATTR_CMN_UUID,            sizeof(guid_t) },  
     2274      { ATTR_CMN_GRPUUID,         sizeof(guid_t) },  
    22662275      { ATTR_CMN_FILEID,          sizeof(uint64_t) },  
    22672276      { ATTR_CMN_PARENTID,        sizeof(uint64_t) },  
     2277#if DARWIN_VERS >= DARWIN_10_6 
     2278      { ATTR_CMN_FULLPATH,        -1 },  
     2279#endif 
    22682280      { 0,                        0 } 
    22692281   }; 
    22702282   static const attrspec volattr[] = { 
     
    22882300      { ATTR_VOL_MOUNTEDDEVICE,   -1 },  
    22892301      { ATTR_VOL_ENCODINGSUSED,   sizeof(uint64_t) },  
    22902302      { ATTR_VOL_CAPABILITIES,    sizeof(vol_capabilities_attr_t) },  
     2303#if DARWIN_VERS >= DARWIN_10_6 
     2304      { ATTR_VOL_UUID,            sizeof(uuid_t) },  
     2305#endif 
    22912306      { ATTR_VOL_ATTRIBUTES,      sizeof(vol_attributes_attr_t) },  
    22922307      { 0,                        0 } 
    22932308   }; 
     
    23362351   d = attrBuf; 
    23372352   dend = d + attrBufSize; 
    23382353 
     2354#if DARWIN_VERS >= DARWIN_10_6 
     2355   // ATTR_CMN_RETURNED_ATTRS tells us what's really here, if set 
     2356   if (a[0] & ATTR_CMN_RETURNED_ATTRS) { 
     2357       // fixme range check this? 
     2358       a[0] &= ~ATTR_CMN_RETURNED_ATTRS; 
     2359       fn(tid, d, sizeof(attribute_set_t)); 
     2360       VG_(memcpy)(a, d, sizeof(a)); 
     2361   } 
     2362#endif 
     2363 
    23392364   for (g = 0; g < 5; g++) { 
    23402365      for (i = 0; attrdefs[g][i].attrBit; i++) { 
    23412366         uint32_t bit = attrdefs[g][i].attrBit; 
     
    23982423POST(getattrlist)  
    23992424{ 
    24002425   if (ARG4 > sizeof(vki_uint32_t)) { 
    2401       // attrBuf is uint32_t bytes written followed by attr data 
     2426      // attrBuf is uint32_t size followed by attr data 
    24022427      vki_uint32_t *sizep = (vki_uint32_t *)ARG3; 
    24032428      POST_MEM_WRITE(ARG3, sizeof(vki_uint32_t)); 
    2404       scan_attrlist(tid, (struct vki_attrlist *)ARG2, sizep+1, *sizep, &get1attr); 
     2429      if (ARG5 & FSOPT_REPORT_FULLSIZE) { 
     2430         // *sizep is bytes required for return value, including *sizep 
     2431      } else { 
     2432         // *sizep is actual bytes returned, including *sizep 
     2433      } 
     2434      scan_attrlist(tid, (struct vki_attrlist *)ARG2, sizep+1, MIN(*sizep, ARG4), &get1attr); 
    24052435   } 
    24062436} 
    24072437 
     
    24572487 
    24582488   POST_MEM_WRITE(ARG3, p - (char *)ARG3); 
    24592489 
    2460    PRINT("got %d records, %d/%lu bytes\n", count, p-(char *)ARG3, ARG4); 
     2490   PRINT("got %d records, %ld/%lu bytes\n", count, p-(char *)ARG3, ARG4); 
    24612491} 
    24622492 
    24632493 
     2494PRE(fsgetpath) 
     2495{ 
     2496#if VG_WORDSIZE == 4 
     2497   PRINT("fsgetpath(%#lx, %ld, %#lx {%lu,%lu}, %llu)",  
     2498         ARG1, ARG2, ARG3, ((unsigned int *)ARG3)[0], ((unsigned int *)ARG3)[1], LOHI64(ARG4, ARG5)); 
     2499   PRE_REG_READ5(ssize_t, "fsgetpath",  
     2500                 void*,"buf", size_t,"bufsize",  
     2501                 fsid_t *,"fsid", 
     2502                 vki_uint32_t, "objid_low32", vki_uint32_t, "objid_high32"); 
     2503#else 
     2504   PRINT("fsgetpath(%#lx, %ld, %#lx {%u,%u}, %llu)",  
     2505         ARG1, ARG2, ARG3, ((unsigned int *)ARG3)[0], ((unsigned int *)ARG3)[1], ARG4); 
     2506   PRE_REG_READ4(ssize_t, "fsgetpath",  
     2507                 void*,"buf", size_t,"bufsize",  
     2508                 fsid_t *,"fsid", uint64_t,"objid"); 
     2509#endif 
     2510   PRE_MEM_READ("fsgetpath(fsid)", ARG3, sizeof(fsid_t)); 
     2511   PRE_MEM_WRITE("fsgetpath(buf)", ARG1, ARG2); 
     2512} 
     2513 
     2514POST(fsgetpath) 
     2515{ 
     2516   POST_MEM_WRITE(ARG1, RES); 
     2517} 
     2518 
     2519 
    24642520PRE(exchangedata) 
    24652521{ 
    24662522   PRINT("exchangedata(%#lx(%s), %#lx(%s), %lu)", 
     
    32423298   case VKI_A_SETCLASS: 
    32433299   case VKI_A_SETPMASK: 
    32443300   case VKI_A_SETFSIZE: 
     3301#if DARWIN_VERS >= DARWIN_10_6 
     3302   case VKI_A_SENDTRIGGER: 
     3303#endif 
    32453304      // kernel reads data..data+length 
    32463305      PRE_MEM_READ("auditon(data)", ARG2, ARG3); 
    32473306      break; 
     
    32603319   case VKI_A_GETCLASS: 
    32613320   case VKI_A_GETPINFO: 
    32623321   case VKI_A_GETPINFO_ADDR: 
     3322#if DARWIN_VERS >= DARWIN_10_6 
     3323   case VKI_A_GETSINFO_ADDR: 
     3324#endif 
    32633325      // kernel reads and writes data..data+length 
    32643326      // GrP fixme be precise about what gets read and written 
    32653327      PRE_MEM_READ("auditon(data)", ARG2, ARG3); 
     
    32933355   case VKI_A_SETCLASS: 
    32943356   case VKI_A_SETPMASK: 
    32953357   case VKI_A_SETFSIZE: 
     3358#if DARWIN_VERS >= DARWIN_10_6 
     3359   case VKI_A_SENDTRIGGER: 
     3360#endif 
    32963361      // kernel reads data..data+length 
    32973362      break; 
    32983363 
     
    33103375   case VKI_A_GETCLASS: 
    33113376   case VKI_A_GETPINFO: 
    33123377   case VKI_A_GETPINFO_ADDR: 
     3378#if DARWIN_VERS >= DARWIN_10_6 
     3379   case VKI_A_GETSINFO_ADDR: 
     3380#endif 
    33133381      // kernel reads and writes data..data+length 
    33143382      // GrP fixme be precise about what gets read and written 
    33153383      POST_MEM_WRITE(ARG2, ARG3); 
     
    43784446} 
    43794447 
    43804448 
     4449PRE(mach_port_move_member) 
     4450{ 
     4451#pragma pack(4) 
     4452    typedef struct { 
     4453        mach_msg_header_t Head; 
     4454        NDR_record_t NDR; 
     4455        mach_port_name_t member; 
     4456        mach_port_name_t after; 
     4457    } Request; 
     4458#pragma pack() 
     4459 
     4460    Request *req = (Request *)ARG1; 
     4461 
     4462    PRINT("mach_port_move_member(%s, %s, %s)",  
     4463          name_for_port(MACH_REMOTE),  
     4464          name_for_port(req->member),  
     4465          name_for_port(req->after)); 
     4466    /* 
     4467    MACH_ARG(mach_port_move_member.member) = req->member; 
     4468    MACH_ARG(mach_port_move_member.after) = req->after; 
     4469    */ 
     4470    AFTER = POST_FN(mach_port_move_member); 
     4471} 
     4472 
     4473POST(mach_port_move_member) 
     4474{ 
     4475#pragma pack(4) 
     4476   typedef struct { 
     4477      mach_msg_header_t Head; 
     4478      NDR_record_t NDR; 
     4479      kern_return_t RetCode; 
     4480      mach_msg_trailer_t trailer; 
     4481   } Reply; 
     4482#pragma pack() 
     4483 
     4484   Reply *reply = (Reply *)ARG1; 
     4485 
     4486   if (!reply->RetCode) { 
     4487      // fixme port set tracker? 
     4488   } else { 
     4489      PRINT("mig return %d", reply->RetCode); 
     4490   } 
     4491} 
     4492 
     4493 
    43814494PRE(mach_port_destroy) 
    43824495{ 
    43834496#pragma pack(4) 
     
    44984611} 
    44994612 
    45004613 
     4614PRE(mach_port_extract_right) 
     4615{ 
     4616#pragma pack(4) 
     4617   typedef struct { 
     4618      mach_msg_header_t Head; 
     4619      NDR_record_t NDR; 
     4620      mach_port_name_t name; 
     4621      mach_msg_type_name_t msgt_name; 
     4622   } Request; 
     4623#pragma pack() 
     4624 
     4625   Request *req = (Request *)ARG1; 
     4626    
     4627   PRINT("mach_port_extract_right(%s, %s, %d)",  
     4628         name_for_port(MACH_REMOTE),  
     4629         name_for_port(req->name), req->msgt_name); 
     4630    
     4631   AFTER = POST_FN(mach_port_extract_right); 
     4632    
     4633   // fixme port tracker? 
     4634} 
     4635 
     4636POST(mach_port_extract_right) 
     4637{ 
     4638   // fixme import_complex_message handles the returned result, right? 
     4639} 
     4640 
     4641 
    45014642PRE(mach_port_get_attributes) 
    45024643{ 
    45034644#pragma pack(4) 
     
    60866227 
    60876228   // GrP fixme semaphore destroy needed when thread creation fails 
    60886229   // GrP fixme probably other cleanup too 
     6230   // GrP fixme spinlocks might be good enough? 
    60896231 
    60906232   // DDD: I'm not at all sure this is the right spot for this.  It probably 
    60916233   // should be in pthread_hijack instead, just before the call to 
     
    62046346} 
    62056347 
    62066348 
    6207 POST(thread_policy) 
    6208 { 
    6209 } 
    6210  
    62116349PRE(thread_policy) 
    62126350{ 
    62136351   mach_msg_header_t *mh = (mach_msg_header_t *)ARG1; 
     
    62226360   AFTER = POST_FN(thread_policy); 
    62236361} 
    62246362 
     6363POST(thread_policy) 
     6364{ 
     6365} 
    62256366 
     6367 
     6368PRE(thread_policy_set) 
     6369{ 
     6370   mach_msg_header_t *mh = (mach_msg_header_t *)ARG1; 
     6371 
     6372   PRINT("thread_policy_set(%s, ...)", name_for_port(mh->msgh_request_port)); 
     6373 
     6374   AFTER = POST_FN(thread_policy_set); 
     6375} 
     6376 
     6377POST(thread_policy_set) 
     6378{ 
     6379} 
     6380 
     6381 
    62266382PRE(thread_info) 
    62276383{ 
    62286384   mach_msg_header_t *mh = (mach_msg_header_t *)ARG1; 
     
    64496605   case 3211: 
    64506606      CALL_PRE(mach_port_get_set_status); 
    64516607      return; 
     6608   case 3212: 
     6609      CALL_PRE(mach_port_move_member); 
     6610      return; 
    64526611   case 3213: 
    64536612      CALL_PRE(mach_port_request_notification); 
    64546613      return; 
    64556614   case 3214: 
    64566615      CALL_PRE(mach_port_insert_right); 
    64576616      return; 
     6617   case 3215: 
     6618      CALL_PRE(mach_port_extract_right); 
     6619      return; 
    64586620   case 3217: 
    64596621      CALL_PRE(mach_port_get_attributes); 
    64606622      return; 
     
    65966758   case 3616:  
    65976759      CALL_PRE(thread_policy); 
    65986760      return; 
     6761   case 3617:  
     6762      CALL_PRE(thread_policy_set); 
     6763      return; 
    65996764   default: 
    66006765      // unknown message to a thread 
    66016766      VG_(printf)("UNKNOWN thread message [id %d, to %s, reply 0x%x]\n",  
     
    67606925 
    67616926POST(mach_msg_unhandled) 
    67626927{ 
    6763    ML_(sync_mappings)("after", "mach_msg_unhandled", 0); 
     6928   ML_(sync_mappings)("after", "mach_msg_receive (unhandled)", 0); 
    67646929} 
    67656930 
    67666931 
     
    69007065} 
    69017066 
    69027067 
     7068#if DARWIN_VERS <= DARWIN_10_5 
    69037069PRE(__semwait_signal) 
    69047070{ 
    6905    /* args: int cond_sem, int mutex_sem, 
    6906             int timeout, int relative, 
    6907             time_t tv_sec, time_t tv_nsec */ 
     7071   /* 10.5 args: int cond_sem, int mutex_sem, 
     7072                 int timeout, int relative, 
     7073                 time_t tv_sec, time_t tv_nsec */ 
    69087074   PRINT("__semwait_signal(wait %s, signal %s, %ld, %ld, %lds:%ldns)",  
    69097075         name_for_port(ARG1), name_for_port(ARG2), ARG3, ARG4, ARG5, ARG6); 
    69107076   PRE_REG_READ6(long, "__semwait_signal",  
     
    69147080 
    69157081   *flags |= SfMayBlock; 
    69167082} 
     7083#else 
     7084PRE(__semwait_signal) 
     7085{ 
     7086   /* 10.5 args: int cond_sem, int mutex_sem, 
     7087                 int timeout, int relative, 
     7088                 const timespec *ts */ 
     7089   PRINT("__semwait_signal(wait %s, signal %s, %ld, %ld, %#lx)",  
     7090         name_for_port(ARG1), name_for_port(ARG2), ARG3, ARG4, ARG5); 
     7091   PRE_REG_READ5(int, "__semwait_signal",  
     7092                 int,cond_sem, int,mutex_sem, 
     7093                 int,timeout, int,relative,  
     7094                 const struct vki_timespec *,ts); 
     7095    
     7096   if (ARG5) PRE_MEM_READ ("__semwait_signal(ts)",  
     7097                           ARG5, sizeof(struct vki_timespec)); 
     7098    
     7099   *flags |= SfMayBlock; 
     7100} 
     7101#endif 
    69177102 
    69187103 
     7104PRE(__thread_selfid) 
     7105{ 
     7106   PRINT("__thread_selfid ()"); 
     7107   PRE_REG_READ0(vki_uint64_t, "__thread_selfid"); 
     7108} 
     7109 
    69197110PRE(task_for_pid) 
    69207111{ 
    69217112   PRINT("task_for_pid(%s, %ld, %#lx)", name_for_port(ARG1), ARG2, ARG3); 
     
    74687659   MACX_(__NR_sigreturn,   sigreturn),  
    74697660// _____(__NR_chud),  
    74707661   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(186)),   // ???  
     7662#if DARWIN_VERS >= DARWIN_10_6 
     7663// _____(__NR_fdatasync),  
     7664#else 
    74717665   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(187)),   // ???  
     7666#endif 
    74727667   GENXY(__NR_stat,        sys_newstat),  
    74737668   GENXY(__NR_fstat,       sys_newfstat),  
    74747669   GENXY(__NR_lstat,       sys_newlstat),  
     
    74957690// _____(__NR_ATPgetreq),  
    74967691// _____(__NR_ATPgetrsp),  
    74977692   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(213)),   // Reserved for AppleTalk 
     7693#if DARWIN_VERS >= DARWIN_10_6 
     7694   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(214)),   // old kqueue_from_portset_np 
     7695   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(215)),   // old kqueue_portset_np 
     7696#else 
    74987697// _____(__NR_kqueue_from_portset_np),  
    74997698// _____(__NR_kqueue_portset_np),  
     7699#endif 
    75007700// _____(__NR_mkcomplex),  
    75017701// _____(__NR_statv),  
    75027702// _____(__NR_lstatv),  
     
    75097709// _____(__NR_searchfs),  
    75107710   GENX_(__NR_delete,      sys_unlink),  
    75117711// _____(__NR_copyfile),  
     7712#if DARWIN_VERS >= DARWIN_10_6 
     7713// _____(__NR_fgetattrlist),  
     7714// _____(__NR_fsetattrlist),  
     7715#else 
    75127716   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(228)),   // ??  
    75137717   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(229)),   // ??  
     7718#endif 
    75147719   GENXY(__NR_poll,        sys_poll),  
    75157720   MACX_(__NR_watchevent,  watchevent),  
    75167721   MACXY(__NR_waitevent,   waitevent),  
     
    75267731   MACXY(__NR_fsctl,       fsctl),  
    75277732   MACX_(__NR_initgroups,  initgroups),  
    75287733   MACXY(__NR_posix_spawn, posix_spawn),  
     7734#if DARWIN_VERS >= DARWIN_10_6 
     7735// _____(__NR_ffsctl),  
     7736#else 
    75297737   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(245)),   // ??? 
     7738#endif 
    75307739   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(246)),   // ??? 
    75317740// _____(__NR_nfsclnt),  
    75327741// _____(__NR_fhopen),  
     
    75777786// _____(__NR_identitysvc),  
    75787787// _____(__NR_shared_region_check_np),  
    75797788// _____(__NR_shared_region_map_np),  
     7789#if DARWIN_VERS >= DARWIN_10_6 
     7790// _____(__NR_vm_pressure_monitor),  
     7791#else 
    75807792   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(296)),   // old load_shared_file  
     7793#endif 
    75817794   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(297)),   // old reset_shared_file  
    75827795   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(298)),   // old new_system_shared_regions  
    75837796   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(299)),   // old shared_region_map_file_np  
    75847797   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(300)),   // old shared_region_make_private_np 
    7585 // _____(__NR___pthread_mutex_destroy),  
    7586 // _____(__NR___pthread_mutex_init),  
    7587 // _____(__NR___pthread_mutex_lock),  
    7588 // _____(__NR___pthread_mutex_trylock),  
    7589 // _____(__NR___pthread_mutex_unlock),  
    7590 // _____(__NR___pthread_cond_init),  
    7591 // _____(__NR___pthread_cond_destroy),  
    7592 // _____(__NR___pthread_cond_broadcast),  
    7593 // _____(__NR___pthread_cond_signal),  
     7798   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(301)),   // ??? 
     7799   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(302)),   // ??? 
     7800   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(303)),   // ??? 
     7801   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(304)),   // ??? 
     7802   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(305)),   // ??? 
     7803   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(306)),   // ??? 
     7804   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(307)),   // ??? 
     7805   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(308)),   // ??? 
     7806   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(309)),   // ??? 
    75947807// _____(__NR_getsid),  
    75957808// _____(__NR_settid_with_pid),  
    7596 // _____(__NR___pthread_cond_timedwait),  
     7809   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(312)),   // ??? 
    75977810// _____(__NR_aio_fsync),  
    75987811   MACXY(__NR_aio_return,     aio_return),  
    75997812   MACX_(__NR_aio_suspend,    aio_suspend),  
     
    76027815   MACXY(__NR_aio_read,       aio_read),  
    76037816   MACX_(__NR_aio_write,      aio_write),  
    76047817// _____(__NR_lio_listio),   // 320 
    7605 // _____(__NR___pthread_cond_wait),  
     7818   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(321)),   // ??? 
    76067819// _____(__NR_iopolicysys),  
    76077820   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(323)),   // ??? 
    76087821// _____(__NR_mlockall),  
     
    76457858   MACX_(__NR_bsdthread_terminate,  bsdthread_terminate),  
    76467859   MACXY(__NR_kqueue,      kqueue),  
    76477860   MACXY(__NR_kevent,      kevent),  
    7648 // _____(__NR_lchown),  
     7861   GENX_(__NR_lchown,      sys_lchown),  
    76497862// _____(__NR_stack_snapshot),  
    76507863   MACX_(__NR_bsdthread_register, bsdthread_register),  
    76517864   MACX_(__NR_workq_open,  workq_open),  
    76527865   MACXY(__NR_workq_ops,   workq_ops),  
     7866#if DARWIN_VERS >= DARWIN_10_6 
     7867// _____(__NR_kevent64),  
     7868#else 
    76537869   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(369)),   // ??? 
     7870#endif 
    76547871   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(370)),   // ??? 
    76557872   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(371)),   // ??? 
     7873#if DARWIN_VERS >= DARWIN_10_6 
     7874   MACX_(__NR___thread_selfid, __thread_selfid),  
     7875#else 
    76567876   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(372)),   // ??? 
     7877#endif 
    76577878   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(373)),   // ??? 
    76587879   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(374)),   // ??? 
    76597880   _____(VG_DARWIN_SYSCALL_CONSTRUCT_UNIX(375)),   // ??? 
     
    77097930// _____(__NR___mac_mount), 
    77107931// _____(__NR___mac_get_mount), 
    77117932// _____(__NR___mac_getfsstat), 
     7933#if DARWIN_VERS >= DARWIN_10_6 
     7934   MACXY(__NR_fsgetpath, fsgetpath),  
     7935// _____(__NR_audit_session_self), 
     7936// _____(__NR_audit_session_join), 
     7937#endif 
     7938 
    77127939// _____(__NR_MAXSYSCALL) 
    77137940   MACX_(__NR_DARWIN_FAKE_SIGRETURN, FAKE_SIGRETURN) 
    77147941}; 
  • coregrind/m_main.c

     
    15101510   VG_(do_syscall2)(__NR_munmap, 0x00000000, 0xf0000000); 
    15111511# else 
    15121512   // open up client space 
    1513    VG_(do_syscall2)(__NR_munmap, 0x100000000, 0x700000000000-0x100000000); 
     1513   VG_(do_syscall2)(__NR_munmap, 0x100000000, 0x7fff50000000-0x100000000); 
    15141514   // open up client stack and dyld 
    15151515   VG_(do_syscall2)(__NR_munmap, 0x7fff5c000000, 0x4000000); 
    15161516# endif 
  • coregrind/Makefile.am

     
    111111 
    112112# Be careful w.r.t. parellel builds.  See section 27.9 of the automake info 
    113113# page, "Handling Tools that Produce many Outputs". 
    114 $(mach_user_srcs): $(mach_defs) 
     114$(abs_builddir)/m_mach:  
     115        mkdir -p $@ 
     116$(mach_user_srcs): $(mach_defs) $(abs_builddir)/m_mach 
    115117        (cd m_mach && mig $(mach_defs)) 
    116 $(mach_hdrs): $(mach_defs) $(mach_user_srcs) 
     118$(mach_hdrs): $(mach_defs) $(mach_user_srcs) $(abs_builddir)/m_mach 
    117119        (cd m_mach && mig $(mach_defs)) 
    118120 
    119121#----------------------------------------------------------------------------