[PATCH] D50412: Fix pointer-to-integer cast warnings on LLP64.

2018-08-07 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk, compnerd, smeenai. Herald added subscribers: cfe-commits, christof. `long` is too short on LLP64. We have to use `intptr_t` to avoid truncating pointers. Repository: rUNW libunwind https://reviews.llvm.org/D50412 Files:

[PATCH] D50412: Fix pointer-to-integer cast warnings on LLP64.

2018-08-07 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 159607. cdavis5x added a comment. Rebasing against HEAD. Repository: rUNW libunwind https://reviews.llvm.org/D50412 Files: src/UnwindLevel1-gcc-ext.c src/UnwindLevel1.c Index: src/UnwindLevel1.c

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-07 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk, compnerd, smeenai. Herald added subscribers: cfe-commits, chrib, christof, krytarowski. Add these declarations which should be present in ``, but aren't. Not that it matters, since most of the time we'll be using Clang's `` a

[PATCH] D50414: [libunwind][include] Add SEH declarations to .

2018-08-07 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk, compnerd, smeenai. Herald added subscribers: cfe-commits, chrib, christof. Make the `_Unwind_Exception` struct correct under SEH. Add a declaration of `_GCC_specific_handler()`, which is used by SEH versions of Itanium person

[PATCH] D50414: [libunwind][include] Add SEH declarations to .

2018-08-08 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. In https://reviews.llvm.org/D50414#1191834, @mstorsjo wrote: > Should we maybe add the same declaration of `_GCC_specific_handler` to > clang's unwind.h? That would allow removing the forward declaration in > libcxxabi from https://reviews.llvm.org/D49638. Probably.

[PATCH] D50414: [libunwind][include] Add SEH declarations to .

2018-08-08 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 159722. cdavis5x added a comment. - Remove unneeded preprocessor condition. Repository: rUNW libunwind https://reviews.llvm.org/D50414 Files: include/unwind.h Index: include/unwind.h ==

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-08 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added inline comments. Comment at: include/unwind.h:46 +typedef uintptr_t _Unwind_Ptr; +#endif + mstorsjo wrote: > What other reference is this list of typedefs for `_Unwind_Ptr` based on? I > don't see any of these cases in clang's unwind.h at least. W

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-08 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x marked an inline comment as done. cdavis5x added a comment. In https://reviews.llvm.org/D50413#1191726, @krytarowski wrote: > NetBSD uses `typedef void *_Unwind_Ptr;` unconditionally in its > ``... if that has to be matched. Done. > Additionally: `typedef long _Unwind_Word;`. Done.

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-08 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 159731. cdavis5x added a comment. - Add NetBSD-specific definitions. - Pull out common declaration of `__personality_routine`. Repository: rUNW libunwind https://reviews.llvm.org/D50413 Files: include/unwind.h Index: include/unwind.h ===

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-10 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk, compnerd, smeenai. Herald added subscribers: cfe-commits, chrib, christof, kristof.beyls, mgorny. Herald added a reviewer: javed.absar. I've tested this implementation on x86-64 to ensure that it works. All `libc++abi` tests

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-10 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. In https://reviews.llvm.org/D50413#1195101, @mstorsjo wrote: > @cdavis5x I presume the fact that this one turned out tricky is blocking > submitting the SEH unwinding patch. > > Would it be worth to rework that patch to just use the basic types just like > libunwind do

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-10 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added inline comments. Comment at: src/libunwind_ext.h:43 + #if defined(__x86_64__) && !defined(__MINGW64__) +typedef struct _DISPATCHER_CONTEXT { + ULONG64 ControlPc; mstorsjo wrote: > What's this all about? winnt.h (from both MSVC and mingw-w64) shou

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-10 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added inline comments. Comment at: src/Unwind-seh.cpp:53 + +/// Exception cleanup routine used by \c __libunwind_frame_consolidate to +/// regain control after handling an SEH exception. mstorsjo wrote: > I don't see any `__libunwind_frame_consolidate` a

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-10 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 160195. cdavis5x added a comment. - Fix outdated comment. - Make preprocessor conditional more consistent. - Make some private functions used only in a single file static. Repository: rUNW libunwind https://reviews.llvm.org/D50564 Files: include/__lib

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-10 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. In https://reviews.llvm.org/D50564#1195794, @mstorsjo wrote: > > Special thanks to KJK::Hyperion for his excellent series of articles on how > > EH works on x86-64 Windows. (Seriously, check it out. It's awesome.) > > Can you give some links to it? A brief googling didn

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-13 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Repository: rUNW libunwind https://reviews.llvm.org/D50413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-14 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Could somebody verify that the `DISPATCHER_CONTEXT` struct is defined in `` for the Win8 and Win10 SDKs? I can't install them right now. Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-commits mailing

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-14 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. In https://reviews.llvm.org/D50564#1195985, @cdavis5x wrote: > In https://reviews.llvm.org/D50564#1195794, @mstorsjo wrote: > > > > Special thanks to KJK::Hyperion for his excellent series of articles on > > > how EH works on x86-64 Windows. (Seriously, check it out. It

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-14 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 160638. cdavis5x marked 3 inline comments as done. cdavis5x edited the summary of this revision. cdavis5x added a comment. - Update checks for DISPATCHER_CONTEXT definition. - Add link to KJK::Hyperion's articles on SEH. Repository: rUNW libunwind https:

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-14 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Marked some comments as done. (Phab won't let me post an empty comment, so...) Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-14 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. ...And it turns out Phab marked the comments as done when I uploaded the new change. I didn't know it would do that. That's useful to know. Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-commits mail

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-14 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 160660. cdavis5x added a comment. - Get rid of DISPATCHER_CONTEXT def for ARM. We only support ARM on Win8+ anyway. Repository: rUNW libunwind https://reviews.llvm.org/D50564 Files: include/__libunwind_config.h src/AddressSpace.hpp src/CMakeLists

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-17 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-17 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Repository: rUNW libunwind https://reviews.llvm.org/D50413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-20 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Are y'all waiting for me to do something? Repository: rUNW libunwind https://reviews.llvm.org/D50413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-20 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping... Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-20 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. In https://reviews.llvm.org/D50564#1206302, @kristina wrote: > I'm all for this change except the core issue is that you're using libunwind > as a shim around the actual unwinding API provided by Windows. It would be > nice to have something that did not have to do tha

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-21 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. In https://reviews.llvm.org/D50564#1207493, @kristina wrote: > In https://reviews.llvm.org/D50564#1206393, @mstorsjo wrote: > > > In https://reviews.llvm.org/D50564#1206370, @cdavis5x wrote: > > > > > In https://reviews.llvm.org/D50564#1206302, @kristina wrote: > > > > >

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-21 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 161807. cdavis5x added a comment. - Make a bit more friendly to non-Windows. - Fix bits that depend on https://reviews.llvm.org/D50413. Repository: rUNW libunwind https://reviews.llvm.org/D50564 Files: include/__libunwind_config.h include/unwind.h

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-21 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. OK, I've removed some of the dependencies on Windows-specific types. The code in `Unwind-seh.cpp` is very Windows-specific, though, so I left it alone. Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-23 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 162250. cdavis5x marked 7 inline comments as done. cdavis5x added a comment. - Remove unnecessary code. - Guard against rogue personality functions returning wrong values. - Add a comment clarifying the purpose of the `new_ctx` variable. Repository: rUNW

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-23 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x marked 2 inline comments as done. cdavis5x added inline comments. Comment at: src/Unwind-seh.cpp:163 +#ifdef __x86_64__ +unw_get_reg(&cursor, UNW_X86_64_RAX, &retval); +unw_get_reg(&cursor, UNW_X86_64_RDX, &exc->private_[3]); mstorsjo wrote: > Wi

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-24 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 162441. cdavis5x marked 8 inline comments as done. cdavis5x added a comment. - Remove case we'll never realistically hit. - Add back include I removed earlier. - Add a comment clarifying that some environments use SEH without Windows runtime support. Repos

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-24 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 162509. cdavis5x added a comment. - Move `DISPATCHER_CONTEXT` definition into UnwindCursor.hpp. Repository: rUNW libunwind https://reviews.llvm.org/D50564 Files: include/__libunwind_config.h include/unwind.h src/AddressSpace.hpp src/CMakeLists.t

[PATCH] D50564: Add support for SEH unwinding on Windows.

2018-08-28 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Repository: rUNW libunwind https://reviews.llvm.org/D50564 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51508: Export public functions implemented in assembly on Windows.

2018-08-30 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk. Herald added subscribers: cfe-commits, christof. By default, symbols aren't visible outside of the module that defines them. To make them visible, they must be exported. The easiest way to do that is to embed an `-export:symn

[PATCH] D51509: [AddressSpace] Use the macro to set hidden visibility on LocalAddressSpace.

2018-08-30 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk. Herald added subscribers: cfe-commits, christof. That attribute has no effect on Windows anyway--classes are hidden by default. Repository: rUNW libunwind https://reviews.llvm.org/D51509 Files: src/AddressSpace.hpp

[PATCH] D50413: [libunwind][include] Add some missing definitions to .

2018-08-30 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x abandoned this revision. cdavis5x added a comment. Consensus seems clear to me. Patch abandoned. Repository: rUNW libunwind https://reviews.llvm.org/D50413 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi

[PATCH] D51508: Export public functions implemented in assembly on Windows.

2018-08-31 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added inline comments. Comment at: src/assembly.h:76-78 + .section .drectve,"yn" SEPARATOR\ + .ascii "-export:", #name, "\0" SEPARATOR\ + .text rnk wrote: > Maybe .pushsection / .popsection is better than assumi

[PATCH] D51644: [CMake] Remove variable reference that isn't used.

2018-09-04 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk. Herald added subscribers: cfe-commits, christof, mgorny. This variable is never defined, so its value is always empty. Since `libunwind` is needed to build the C++ ABI library in the first place, it should never be linked to

[PATCH] D51644: [CMake] Remove variable reference that isn't used.

2018-09-04 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added inline comments. Comment at: src/CMakeLists.txt:54 # Generate library list. -set(libraries ${LIBUNWINDCXX_ABI_LIBRARIES}) +set(libraries) append_if(libraries LIBUNWIND_HAS_C_LIB c) mstorsjo wrote: > Is there any point in this line at all now, or

[PATCH] D51645: [CMake] Don't use -rtlib=compiler-rt with -nodefaultlibs.

2018-09-04 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added reviewers: mstorsjo, rnk. Herald added subscribers: cfe-commits, christof, mgorny, dberris. This switch only has an effect at link time. It changes the default compiler support library to `compiler-rt`. With `-nodefaultlibs`, this library won't get li

[PATCH] D51657: [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON.

2018-09-04 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x created this revision. cdavis5x added a reviewer: beanz. Herald added subscribers: cfe-commits, chrib, christof, mgorny, dberris. If `-nodefaultlibs` is given, we weren't actually linking to it. This was true irrespective of passing `-rtlib=compiler-rt` (see previous patch). Now we explic

[PATCH] D51657: [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON.

2018-09-12 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Repository: rUNW libunwind https://reviews.llvm.org/D51657 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D50199: [MinGW] Predefine UNICODE if -municode is specified during compilation

2018-08-02 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Are you sure this shouldn't also define `_UNICODE`? //looks// Hmm... GCC doesn't define it. I wonder if we should anyway. A user who set `-municode` may also be using ``, and thus may want those macros set to their Unicode counterparts. I actually believe this is supp

[PATCH] D51657: [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON.

2018-09-17 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Ping. Repository: rUNW libunwind https://reviews.llvm.org/D51657 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D51657: [CMake] Link to compiler-rt if LIBUNWIND_USE_COMPILER_RT is ON.

2018-10-08 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x updated this revision to Diff 168687. cdavis5x added a comment. - Detect libgcc. Repository: rUNW libunwind https://reviews.llvm.org/D51657 Files: cmake/config-ix.cmake src/CMakeLists.txt Index: src/CMakeLists.txt ===

[PATCH] D20449: [Basic] Change x86_64-windows-macho targets to use Windows-style va_lists.

2017-04-04 Thread Charles Davis via Phabricator via cfe-commits
cdavis5x added a comment. Extremely belated ping. https://reviews.llvm.org/D20449 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits