我是Linux的新手,目前我读了一些Linux代码,我看到arch / arm / include / asm / ptrace.h中的宏current_pt_regs定义如下:
#define current_pt_regs(void) ({ (struct pt_regs *) \
((current_stack_pointer | (THREAD_SIZE - 1)) - 7) - 1; \
})
在我看来current_stack_pointer | (THREAD_SIZE - 1)
可以获得堆栈的顶级地址。但令我困惑的是,为什么它有-7?
有人可以告诉我一些事情吗?
谢谢和问候,
运河