|
microfmt
Zero-allocation C++ formatting for constrained environments
|
DWARF unwind ABI traits for x86-64 (AMD64 / x86_64). More...
#include <dwarf_abi.hpp>
Public Types | |
| using | register_type = uint64_t |
| Register value width. | |
| using | register_traits = dwarf::x86_64::register_traits |
| Architecture register name/index catalog. | |
| using | gdb_register_traits = gdb::register_traits< gdb::tags::x86_64 > |
| 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::x86_64::sp |
| SP register number. | |
| static constexpr uint32_t | ra_reg = dwarf::x86_64::pc |
| RA register number. | |
| static constexpr uint32_t | fp_reg = dwarf::x86_64::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 x86-64 (AMD64 / x86_64).
GDB-to-DWARF register mapping.
Architecture register name/index catalog.
| using microfmt::x86_64_abi_traits::register_type = uint64_t |
Register value width.
|
inlinestaticconstexprnoexcept |
Reports whether a register is a frame pointer.
| reg | DWARF register number. |
true for RBP.
|
inlinestaticconstexprnoexcept |
Reports whether a register holds the return address.
| reg | DWARF register number. |
true for RIP (register 16).
|
inlinestaticconstexprnoexcept |
|
staticconstexpr |
FP register number.
|
staticconstexpr |
|
staticconstexpr |
Pointer size in bytes.
|
staticconstexpr |
RA register number.
|
staticconstexpr |
|
staticconstexpr |
SP register number.