From 4b59ea8471e89d01300481a92de3230b79b6d7c7 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Wed, 17 Jan 2024 16:15:19 -0800 Subject: Add support for riscv 64 vlenb. The vlenb register is used for some unwinding information, so add gathering it. Also, rename some of the machine constants to use better names. Added an offline test that uses the vlenb register to do the unwind. Added a remote unwind test for the bionic local terminate. Bug: 318768887 Test: Ran unit tests. Test: Ran 137-cfi and verified a full stack generated. Change-Id: Ia72394033b4be46a3f29d519879b88ed933ab5ce --- libunwindstack/DwarfSection.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libunwindstack/DwarfSection.cpp') diff --git a/libunwindstack/DwarfSection.cpp b/libunwindstack/DwarfSection.cpp index 2d664d6..728390c 100644 --- a/libunwindstack/DwarfSection.cpp +++ b/libunwindstack/DwarfSection.cpp @@ -450,7 +450,7 @@ bool DwarfSectionImpl::EvalRegister(const DwarfLocation* loc, uint3 *reg_ptr = eval_info->cfa + loc->values[0]; break; case DWARF_LOCATION_REGISTER: { - uint32_t cur_reg = loc->values[0]; + uint16_t cur_reg = eval_info->regs_info.regs->Convert(loc->values[0]); if (cur_reg >= eval_info->regs_info.Total()) { last_error_.code = DWARF_ERROR_ILLEGAL_VALUE; return false; -- cgit v1.2.3