summaryrefslogtreecommitdiffstats
path: root/arch/loongarch/include/asm/asm-offsets.h
diff options
context:
space:
mode:
authorJinyang He <hejinyang@loongson.cn>2023-01-17 11:42:16 +0800
committerHuacai Chen <chenhuacai@loongson.cn>2023-01-17 11:42:16 +0800
commit5bb8d34449c4a2eb94d657b992170afafac274f9 (patch)
tree4f63968d33455e8d61c205c9e957bf93e02b9cc8 /arch/loongarch/include/asm/asm-offsets.h
parent429a9671f235c94fc4b5d6687308714b74adc820 (diff)
downloadlinux-5bb8d34449c4a2eb94d657b992170afafac274f9.tar.bz2
LoongArch: Use correct sp value to get graph addr in stack unwinders
The stack frame when function_graph enable like follows, --------- <- function sp_on_entry | | | FAKE_RA <- sp_on_entry - sizeof(pt_regs) + PT_R1 | --------- <- sp_on_entry - sizeof(pt_regs) So if we want to get the &FAKE_RA we should get sp_on_entry first. In the unwinder_prologue case, we can get the sp_on_entry as state->sp, because we try to calculate each CFA and the ra saved address. But in the unwinder_guess case, we cannot get it because we do not try to calculate the CFA. Although LoongArch have not fixed frame, the $ra is saved at CFA - 8 in most cases, we can try guess, too. As we store the pc in state, we not need to dereference state->sp, too. Signed-off-by: Jinyang He <hejinyang@loongson.cn> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Diffstat (limited to 'arch/loongarch/include/asm/asm-offsets.h')
0 files changed, 0 insertions, 0 deletions