Print this page
OS-3209 javac futex problem when dtrace probes enabled - dtrace_systrace_syscall32 only passes 6 args

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/systrace.h
          +++ new/usr/src/uts/common/sys/systrace.h
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
       25 + * Copyright 2014 Joyent, Inc.  All rights reserved.
  25   26   */
  26   27  
  27   28  #ifndef _SYS_SYSTRACE_H
  28   29  #define _SYS_SYSTRACE_H
  29   30  
  30      -#pragma ident   "%Z%%M% %I%     %E% SMI"
  31      -
  32   31  #include <sys/dtrace.h>
  33   32  
  34   33  #ifdef  __cplusplus
  35   34  extern "C" {
  36   35  #endif
  37   36  
  38   37  #ifdef _KERNEL
  39   38  
  40   39  typedef struct systrace_sysent {
  41   40          dtrace_id_t     stsy_entry;
  42   41          dtrace_id_t     stsy_return;
  43   42          int64_t         (*stsy_underlying)();
  44   43  } systrace_sysent_t;
  45   44  
  46   45  extern systrace_sysent_t *systrace_sysent;
  47   46  extern systrace_sysent_t *systrace_sysent32;
  48   47  
  49   48  extern void (*systrace_probe)(dtrace_id_t, uintptr_t, uintptr_t,
  50      -    uintptr_t, uintptr_t, uintptr_t, uintptr_t);
       49 +    uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
  51   50  extern void systrace_stub(dtrace_id_t, uintptr_t, uintptr_t,
  52      -    uintptr_t, uintptr_t, uintptr_t, uintptr_t);
       51 +    uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
  53   52  
  54   53  extern int64_t dtrace_systrace_syscall(uintptr_t arg0, uintptr_t arg1,
  55      -    uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5);
       54 +    uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5,
       55 +    uintptr_t arg6, uintptr_t arg7);
  56   56  
  57   57  #ifdef _SYSCALL32_IMPL
  58   58  extern int64_t dtrace_systrace_syscall32(uintptr_t arg0, uintptr_t arg1,
  59      -    uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5);
       59 +    uintptr_t arg2, uintptr_t arg3, uintptr_t arg4, uintptr_t arg5,
       60 +    uintptr_t arg6, uintptr_t arg7);
  60   61  #endif
  61   62  
  62   63  #endif
  63   64  
  64   65  #ifdef  __cplusplus
  65   66  }
  66   67  #endif
  67   68  
  68   69  #endif  /* _SYS_SYSTRACE_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX