|
microfmt
Zero-allocation C++ formatting for constrained environments
|
DWARF unwind ABI traits for RISC-V 64-bit (RV64). More...
#include <dwarf_abi.hpp>
Public Types | |
| using | register_type = uint64_t |
| Register value width. | |
| using | register_traits = dwarf::riscv::register_traits |
| Architecture register name/index catalog. | |
| using | gdb_register_traits = gdb::register_traits< gdb::tags::riscv64 > |
| GDB-to-DWARF register mapping. | |
Static Public Member Functions | |
| static constexpr bool | is_return_address_register (uint32_t reg) noexcept |
| Reports whether a register holds the return address. | |
| static constexpr bool | is_frame_pointer_register (uint32_t reg) noexcept |
| Reports whether a register is a frame pointer. | |
| static constexpr uintptr_t | normalize_pc (uintptr_t raw_ra) noexcept |
Static Public Attributes | |
| static constexpr size_t | pointer_size = 8 |
| Pointer size in bytes. | |
| static constexpr uint32_t | sp_reg = dwarf::riscv::sp |
| SP register number. | |
| static constexpr uint32_t | ra_reg = dwarf::riscv::ra |
| RA register number. | |
| static constexpr uint32_t | fp_reg = dwarf::riscv::fp |
| FP register number. | |
| static constexpr ptrdiff_t | fp_slot_offset = 0 |
| static constexpr ptrdiff_t | ra_slot_offset = 8 |
DWARF unwind ABI traits for RISC-V 64-bit (RV64).
GDB-to-DWARF register mapping.
Architecture register name/index catalog.
| using microfmt::riscv64_abi_traits::register_type = uint64_t |
Register value width.
|
inlinestaticconstexprnoexcept |
Reports whether a register is a frame pointer.
| reg | DWARF register number. |
true for x8 (s0/fp).
|
inlinestaticconstexprnoexcept |
Reports whether a register holds the return address.
| reg | DWARF register number. |
true for x1 (ra).
|
inlinestaticconstexprnoexcept |
|
staticconstexpr |
FP register number.
|
staticconstexpr |
|
staticconstexpr |
Pointer size in bytes.
|
staticconstexpr |
RA register number.
|
staticconstexpr |
|
staticconstexpr |
SP register number.