Merge "Add tomstone proto support for riscv64"
This commit is contained in:
commit
cfd803d5f5
3 changed files with 12 additions and 1 deletions
|
|
@ -82,6 +82,8 @@ static Architecture get_arch() {
|
||||||
return Architecture::X86;
|
return Architecture::X86;
|
||||||
#elif defined(__x86_64__)
|
#elif defined(__x86_64__)
|
||||||
return Architecture::X86_64;
|
return Architecture::X86_64;
|
||||||
|
#elif defined(__riscv) && (__riscv_xlen == 64)
|
||||||
|
return Architecture::RISCV64;
|
||||||
#else
|
#else
|
||||||
#error Unknown architecture!
|
#error Unknown architecture!
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,8 @@ static const char* abi_string(const Tombstone& tombstone) {
|
||||||
return "arm";
|
return "arm";
|
||||||
case Architecture::ARM64:
|
case Architecture::ARM64:
|
||||||
return "arm64";
|
return "arm64";
|
||||||
|
case Architecture::RISCV64:
|
||||||
|
return "riscv64";
|
||||||
case Architecture::X86:
|
case Architecture::X86:
|
||||||
return "x86";
|
return "x86";
|
||||||
case Architecture::X86_64:
|
case Architecture::X86_64:
|
||||||
|
|
@ -62,6 +64,8 @@ static int pointer_width(const Tombstone& tombstone) {
|
||||||
return 4;
|
return 4;
|
||||||
case Architecture::ARM64:
|
case Architecture::ARM64:
|
||||||
return 8;
|
return 8;
|
||||||
|
case Architecture::RISCV64:
|
||||||
|
return 8;
|
||||||
case Architecture::X86:
|
case Architecture::X86:
|
||||||
return 4;
|
return 4;
|
||||||
case Architecture::X86_64:
|
case Architecture::X86_64:
|
||||||
|
|
@ -119,6 +123,10 @@ static void print_thread_registers(CallbackType callback, const Tombstone& tombs
|
||||||
special_registers = {"ip", "lr", "sp", "pc", "pst"};
|
special_registers = {"ip", "lr", "sp", "pc", "pst"};
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Architecture::RISCV64:
|
||||||
|
special_registers = {"ra", "sp", "pc"};
|
||||||
|
break;
|
||||||
|
|
||||||
case Architecture::X86:
|
case Architecture::X86:
|
||||||
special_registers = {"ebp", "esp", "eip"};
|
special_registers = {"ebp", "esp", "eip"};
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -48,8 +48,9 @@ enum Architecture {
|
||||||
ARM64 = 1;
|
ARM64 = 1;
|
||||||
X86 = 2;
|
X86 = 2;
|
||||||
X86_64 = 3;
|
X86_64 = 3;
|
||||||
|
RISCV64 = 4;
|
||||||
|
|
||||||
reserved 4 to 999;
|
reserved 5 to 999;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Signal {
|
message Signal {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue