[PATCH] D86041: RFC [libunwind] Convert the register restore functions to C functions

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 16 13:35:18 PDT 2020


mstorsjo created this revision.
mstorsjo added reviewers: libunwind, compnerd.
Herald added subscribers: llvm-commits, kristof.beyls.
Herald added projects: LLVM, libunwind.
Herald added 1 blocking reviewer(s): libunwind.
mstorsjo requested review of this revision.

This fixes linking if built in MSVC mode. Even though the main unwinder interface isn't of much use in an MSVC environment, one might plausibly want to use libunwind for backtraces even there.

Only handled x86, x86_64 and arm64 so far. In particular, on arm32, it's not one function but a number of smaller functions.

Just posting this as a RFC. It simplifies the interface of the assembly somewhat, but might also require changes to the code for the cases where the calling convention differs between C and C++ functions (like on i386 windows).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86041

Files:
  libunwind/src/Registers.hpp
  libunwind/src/UnwindRegistersRestore.S

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86041.285900.patch
Type: text/x-patch
Size: 4203 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200816/c9fae041/attachment.bin>


More information about the llvm-commits mailing list