Author: markj
Date: Fri Sep 11 03:31:22 2015
New Revision: 287644
URL: https://svnweb.freebsd.org/changeset/base/287644

Log:
  Remove the arg0 field from struct amd64_frame. Its existence was a bug,
  since on amd64 the first argument to a function is generally not on the
  stack.
  
  Revert an old DTrace bug fix to some code that assumed that
  sizeof(struct amd64_frame) == 16.
  
  Reviewed by:  jhb, kib
  Sponsored by: EMC / Isilon Storage Division
  Differential Revision:        https://reviews.freebsd.org/D3255

Modified:
  head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c
  head/sys/x86/include/stack.h

Modified: head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c
==============================================================================
--- head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c Fri Sep 11 03:24:07 2015        
(r287643)
+++ head/sys/cddl/dev/dtrace/amd64/dtrace_isa.c Fri Sep 11 03:31:22 2015        
(r287644)
@@ -440,7 +440,7 @@ dtrace_getarg(int arg, int aframes)
        }
 
        arg -= (inreg + 1);
-       stack = (uintptr_t *)fp + 2;
+       stack = (uintptr_t *)&fp[1];
 
 load:
        DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT);

Modified: head/sys/x86/include/stack.h
==============================================================================
--- head/sys/x86/include/stack.h        Fri Sep 11 03:24:07 2015        
(r287643)
+++ head/sys/x86/include/stack.h        Fri Sep 11 03:31:22 2015        
(r287644)
@@ -45,7 +45,6 @@ struct i386_frame {
 struct amd64_frame {
        struct amd64_frame      *f_frame;
        u_long                  f_retaddr;
-       u_long                  f_arg0;
 };
 
 struct i386_frame {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to