Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09336fe2 authored by Florian Mayer's avatar Florian Mayer Committed by android-build-merger
Browse files

Merge "Allow to get raw register data on all platforms."

am: ec004eb1

Change-Id: I57b8c1521f7d5bf5bbcdd26c930a44d19e8fc744
parents b97de6d0 ec004eb1
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -33,8 +33,7 @@ namespace unwindstack {

#if defined(__arm__)

inline __always_inline void RegsGetLocal(Regs* regs) {
  void* reg_data = regs->RawData();
inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) {
  asm volatile(
      ".align 2\n"
      "bx pc\n"
@@ -55,8 +54,7 @@ inline __always_inline void RegsGetLocal(Regs* regs) {

#elif defined(__aarch64__)

inline __always_inline void RegsGetLocal(Regs* regs) {
  void* reg_data = regs->RawData();
inline __attribute__((__always_inline__)) void AsmGetRegs(void* reg_data) {
  asm volatile(
      "1:\n"
      "stp x0, x1, [%[base], #0]\n"
@@ -87,11 +85,12 @@ inline __always_inline void RegsGetLocal(Regs* regs) {

extern "C" void AsmGetRegs(void* regs);

inline void RegsGetLocal(Regs* regs) {
#endif

inline __attribute__((__always_inline__)) void RegsGetLocal(Regs* regs) {
  AsmGetRegs(regs->RawData());
}

#endif

}  // namespace unwindstack