summaryrefslogtreecommitdiffstats
path: root/libunwindstack/RegsX86_64.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add missing includes.Florian Mayer2018-12-061-0/+1
| | | | | Test: Builds. Change-Id: Ia8b79154902503cdd774dc3b4523466123b4324c
* libunwindstack: add Regs::Clone.Josh Gao2018-04-201-0/+4
| | | | | | | | Add a way to copy a Regs object. Bug: http://b/77296294 Test: libunwindstack_test Change-Id: I28aff510aa3e1b677d5ae46dc3bfe7652817ce52
* Fix null pointer dereference in RegsArm.Christopher Ferris2018-03-281-2/+2
| | | | | | | | | | | | | | | | | | Fix RegsArm::GetPcAdjustment to check for an invalid elf before trying to read memory. Modify the tests for this so it crashes without this change. Also modify the GetPcAdjustment for all different architectures so that unless the relative pc is too small, it will return the minimum amount that should be adjusted. This is to handle cases where we still want to adjust the pc but it's in an invalid elf. Mostly this is for handling cases when the pc is in jit gdb debug code so that we use the right unwind information. Bug: 77233204 Test: Passes unit tests for libbacktrace/libunwindstack. Change-Id: Id73609adaf3b80a583584441de228156fec3afa7
* Always set the sp reg to the cfa for DWARF.Yabin Cui2018-03-161-13/+21
| | | | | | | | | | | | | | There are a few places where it is assumed that this register is set to the cfa value when interpreting DWARF information. Add a testcase for unwinding art_quick_osr_stub on ARM. Bug: 73954823 Test: Ran libunwindstack/libbacktrace unit tests. Test: Random debuggerd -b of process on a hikey. Test: Ran the 137 art test on host. Change-Id: Ida6ccdc38c3cfeea6b57fe861a0cc127b150b790
* Change the GetAdjustedRelPc to GetPcAdjustment.Christopher Ferris2018-02-211-8/+3
| | | | | | | | | | | | This cleans up a bit of the Unwinder code to make it clear what's going on. Modify the offline unit tests to verify the pc and sp to make sure that those values get computed correctly. Test: Passes unit tests. Test: Passes 137-cfi art tests. Change-Id: I0787a1d77b8726d3defd08f31c7476f6798f8d0d
* Expose per arch headers.Christopher Ferris2018-02-081-4/+3
| | | | | | | Bug: 73013352 Test: Compiles. Change-Id: Ic05660db7d7858a9857143ee5e58cdaddcf52a35
* Split arch data into separate files.Christopher Ferris2017-12-061-0/+169
Add an ArchEnum to express the arch of the Elf objects and Reg objects. Split out the regs code into per arch pieces and generic parts. Also, split out the header files for each arch. Do not break out the test code yet, there isn't enough and it doesn't help to maintain the tests. Test: libunwindstack/libbacktrace/debuggerd unit tests pass. Test: Running debuggerd -b <PIDS> yields valid data on bullhead. Change-Id: If61f6c730c9ff2249f986b41de8c4d62f7158325