diff options
author | Jiangshuai Li <jiangshuai_li@linux.alibaba.com> | 2022-09-13 14:19:26 +0800 |
---|---|---|
committer | Jiangshuai Li <jiangshuai_li@linux.alibaba.com> | 2022-09-13 14:19:26 +0800 |
commit | d354e0c8e7d333d2ec1796f8ce4216e892a4c714 (patch) | |
tree | c2357f7c769fe7950f731f3660c56c2537fb2d76 /gdb/csky-tdep.h | |
parent | 02cd1b4e97120f71710c4246953bcb2d63cb4aea (diff) | |
download | gdb-d354e0c8e7d333d2ec1796f8ce4216e892a4c714.zip gdb-d354e0c8e7d333d2ec1796f8ce4216e892a4c714.tar.gz gdb-d354e0c8e7d333d2ec1796f8ce4216e892a4c714.tar.bz2 |
gdb/csky add unwinder for long branch cases
There are two sequences of instructions for long branch:
1. jmpi [pc+4] //insn code: 0xeac00001
.long addr
2. lrw t1, [pc+8] //insn code: 0xea8d0002
jmp t1 //insn code: 0x7834
nop //insn code: 0x6c03
.long addr
Diffstat (limited to 'gdb/csky-tdep.h')
-rw-r--r-- | gdb/csky-tdep.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/csky-tdep.h b/gdb/csky-tdep.h index f845b9a..dbdcd15 100644 --- a/gdb/csky-tdep.h +++ b/gdb/csky-tdep.h @@ -385,4 +385,9 @@ enum csky_regnum /* Macro for kernel 4.x */ #define CSKY_MOVI_R7_139 0x008bea07 +/* Macro for check long branch. */ +#define CSKY_JMPI_PC_4 0x1eac0 +#define CSKY_LRW_T1_PC_8 0x2ea8d +#define CSKY_JMP_T1_VS_NOP 0x6c037834 + #endif |