svn commit: r287644 - in head/sys: cddl/dev/dtrace/amd64 x86/include
Mark Johnston
markj at FreeBSD.org
Fri Sep 11 03:31:24 UTC 2015
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 {
More information about the svn-src-head
mailing list