Fix remote unwind (#17351)
authorJan Vorlicek <janvorli@microsoft.com>
Fri, 30 Mar 2018 23:46:03 +0000 (01:46 +0200)
committerGitHub <noreply@github.com>
Fri, 30 Mar 2018 23:46:03 +0000 (01:46 +0200)
commit9b2659ceb6fcaf84cee751ab1ddb32999b667322
tree93ce9038dc3e8cca77390ad464d4fac3ec3bd8c5
parent369bda26c29e1154ee8180b68164daec331a2a36
Fix remote unwind (#17351)

The change that removed dependency on the external libunwind has broken
remote unwinding. I have not realized that the unw_create_addr_space
and other remote unwinding functions are just dummies.

This change adds the remote unwind related sources to the libunwind
compilation, enables remote unwinding support in the remote-unwind.cpp
and also does some magic in the CMakeLists.txt to fix issues caused
by the fact that the local and remote unwinding code was not expected
to be compiled into the same binary. There was one general and one
arm related function whose names needed to be different for local and
remote unwind code. And there was one function that was the same for
both local and remote case and so I had to ensure that it gets compiled
in just once.

Fortunately, all of these could still be achieved without changing the
libunwind sources.
src/pal/src/exception/remote-unwind.cpp
src/pal/src/libunwind/src/CMakeLists.txt