const struct utrace_regset_view utrace_ia32_view = {
.name = "i386", .e_machine = EM_386,
- .regsets = ia32_regsets,
- .n = sizeof ia32_regsets / sizeof ia32_regsets[0],
+ .regsets = ia32_regsets, .n = ARRAY_SIZE(ia32_regsets)
};
EXPORT_SYMBOL_GPL(utrace_ia32_view);
static const struct ptrace_layout_segment ia32_uarea[] = {
{0, sizeof(struct user_regs_struct32), 0, 0},
+ {sizeof(struct user_regs_struct32),
+ offsetof(struct user32, u_debugreg[0]), -1, 0},
{offsetof(struct user32, u_debugreg[0]),
offsetof(struct user32, u_debugreg[8]), 4, 0},
{0, 0, -1, 0}
};
-fastcall int arch_compat_ptrace(compat_long_t *req, struct task_struct *child,
- struct utrace_attached_engine *engine,
- compat_ulong_t addr, compat_ulong_t data,
- compat_long_t *val)
+int arch_compat_ptrace(compat_long_t *req, struct task_struct *child,
+ struct utrace_attached_engine *engine,
+ compat_ulong_t addr, compat_ulong_t data,
+ compat_long_t *val)
{
switch (*req) {
case PTRACE_PEEKUSR: