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:
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
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
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
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.
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
==
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
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.
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
===
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
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
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
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
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
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
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
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
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
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:
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-
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
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
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
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
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
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
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
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:
> > >
> >
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
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-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
===
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
48 matches
Mail list logo