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
This commit is contained in:
markj 2015-09-11 03:31:22 +00:00
parent dfb0cc5c03
commit b30bc0e211
2 changed files with 1 additions and 2 deletions

View File

@ -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);

View File

@ -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 {