[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-27 Thread Martin Storsjö via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316747: Add support for dwarf unwinding on windows on x86_64 (authored by mstorsjo). Changed prior to commit: https://reviews.llvm.org/D38819?vs=120380=120552#toc Repository: rL LLVM

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-26 Thread Reid Kleckner via Phabricator via cfe-commits
rnk accepted this revision. rnk added a comment. This revision is now accepted and ready to land. lgtm https://reviews.llvm.org/D38819 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-26 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo updated this revision to Diff 120380. mstorsjo added a comment. Simplified the assembly by sharing much more code between the unix and win64 paths, added a padding element to ensure more stable struct packing. https://reviews.llvm.org/D38819 Files: docs/index.rst

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-25 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added inline comments. Comment at: src/UnwindRegistersRestore.S:72 + movq 56(%rcx), %rax # rax holds new stack pointer + subq $16, %rax + movq %rax, 56(%rcx) mstorsjo wrote: > compnerd wrote: > > Hmm, why is this `$16`? The `$rsp` was adjusted by

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-25 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo updated this revision to Diff 120215. mstorsjo edited the summary of this revision. mstorsjo added a comment. Updated to take care of saving/restoring XMM registers as well. https://reviews.llvm.org/D38819 Files: docs/index.rst include/__libunwind_config.h include/libunwind.h

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-23 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added inline comments. Comment at: src/UnwindRegistersRestore.S:98 + # skip fs + # skip gs + movq 56(%rcx), %rsp # cut back rsp to new location rnk wrote: > mstorsjo wrote: > > mstorsjo wrote: > > > compnerd wrote: > > > > Doesn't Win64 ABI require

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-23 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added inline comments. Comment at: src/UnwindRegistersRestore.S:98 + # skip fs + # skip gs + movq 56(%rcx), %rsp # cut back rsp to new location mstorsjo wrote: > mstorsjo wrote: > > compnerd wrote: > > > Doesn't Win64 ABI require some of the MMX

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-23 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added inline comments. Comment at: src/UnwindRegistersRestore.S:98 + # skip fs + # skip gs + movq 56(%rcx), %rsp # cut back rsp to new location mstorsjo wrote: > compnerd wrote: > > Doesn't Win64 ABI require some of the MMX registers be

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-22 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added inline comments. Comment at: src/UnwindRegistersRestore.S:98 + # skip fs + # skip gs + movq 56(%rcx), %rsp # cut back rsp to new location compnerd wrote: > Doesn't Win64 ABI require some of the MMX registers be saved/restored too? Right, yes,

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-22 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd added inline comments. Comment at: src/UnwindRegistersRestore.S:98 + # skip fs + # skip gs + movq 56(%rcx), %rsp # cut back rsp to new location Doesn't Win64 ABI require some of the MMX registers be saved/restored too?

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-20 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added a comment. Ping https://reviews.llvm.org/D38819 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-15 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added inline comments. Comment at: docs/index.rst:55 NetBSD x86_64 Clang, GCC DWARF CFI -Windows i386 ClangDWARF CFI +Windows i386, x86_64 ClangDWARF CFI

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-15 Thread Martell Malone via Phabricator via cfe-commits
martell added inline comments. Comment at: docs/index.rst:55 NetBSD x86_64 Clang, GCC DWARF CFI -Windows i386 ClangDWARF CFI +Windows i386, x86_64 ClangDWARF CFI

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-15 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo updated this revision to Diff 119068. mstorsjo added a comment. Use `__SIZEOF_POINTER__` instead of checking `__LP64__` together with `_WIN64`. Changed `_WIN32` into `_WIN64` within the assembly sources for consistency/clarity. Removed one type definition ifdef by just using

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-15 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added inline comments. Comment at: include/unwind.h:125 uintptr_t private_2; // holds sp that phase1 found for phase2 to use -#ifndef __LP64__ +#if !defined(__LP64__) && !defined(_WIN64) // The implementation of _Unwind_Exception uses an attribute mode on the

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-14 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd added inline comments. Comment at: include/unwind.h:125 uintptr_t private_2; // holds sp that phase1 found for phase2 to use -#ifndef __LP64__ +#if !defined(__LP64__) && !defined(_WIN64) // The implementation of _Unwind_Exception uses an attribute mode on the

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-11 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo added a comment. As further explanation/justification - libcxxabi and libunwind don't support SEH exceptions yet. https://reviews.llvm.org/D38819 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D38819: [libunwind] Add support for dwarf unwinding on windows on x86_64

2017-10-11 Thread Martin Storsjö via Phabricator via cfe-commits
mstorsjo created this revision. Herald added a subscriber: aprantl. Clang doesn't currently support building for windows/x86_64 with dwarf by setting command line parameters, but if manually modified to use dwarf, we can make libunwind work in this configuration as well. Even if support for