User Details
- User Since
- Nov 5 2012, 11:59 AM (498 w, 2 d)
Aug 17 2020
Jun 6 2020
I'm a bit confused. Wine lists support up to Windows 10, which means recently-compiled applications should be supported. Meanning they (Wine) should see 66 90, and support that. I asked the question anyway on the wine-devel mailing list.
Jun 5 2020
Whenever using the "patchable-function" attribute, a PATCHABLE_OP now lowers to a xchg ax, ax, like MSVC does.
May 23 2020
Oct 7 2019
Dec 13 2018
LGTM, but I'd feel better if someone else signed off on this, too.
Dec 12 2018
Oct 17 2018
Oct 8 2018
- Detect libgcc.
Sep 24 2018
Sep 17 2018
Ping.
Sep 12 2018
Ping.
Sep 4 2018
Aug 31 2018
Aug 30 2018
Consensus seems clear to me. Patch abandoned.
Aug 28 2018
Ping.
Aug 24 2018
- Move DISPATCHER_CONTEXT definition into UnwindCursor.hpp.
- 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.
Aug 23 2018
- Remove unnecessary code.
- Guard against rogue personality functions returning wrong values.
- Add a comment clarifying the purpose of the new_ctx variable.
Aug 21 2018
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.
- Make a bit more friendly to non-Windows.
- Fix bits that depend on D50413.
Aug 20 2018
Ping...
Are y'all waiting for me to do something?
Aug 17 2018
Ping.
Ping.
Aug 14 2018
- Get rid of DISPATCHER_CONTEXT def for ARM. We only support ARM on Win8+ anyway.
...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.
Marked some comments as done. (Phab won't let me post an empty comment, so...)
- Update checks for DISPATCHER_CONTEXT definition.
- Add link to KJK::Hyperion's articles on SEH.
Could somebody verify that the DISPATCHER_CONTEXT struct is defined in <winnt.h> for the Win8 and Win10 SDKs? I can't install them right now.
Aug 13 2018
Ping.
Aug 10 2018
- Fix outdated comment.
- Make preprocessor conditional more consistent.
- Make some private functions used only in a single file static.
Aug 8 2018
Done.
Additionally: typedef long _Unwind_Word;.
Done.
- Add NetBSD-specific definitions.
- Pull out common declaration of __personality_routine.
- Remove unneeded preprocessor condition.
Probably. I believe it's present in GCC's <unwind.h>, too.
Do you plan on implementing these SEH specific bits in libunwind,
Already have. Patch forthcoming.
Aug 7 2018
Rebasing against HEAD.
Aug 2 2018
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 <tchar.h>, and thus may want those macros set to their Unicode counterparts.
Apr 4 2017
Extremely belated ping.
Aug 17 2016
Fix the build error we saw in trunk.
I think I've figured out why the build broke when I landed this. (Sorry that took so long.)
Aug 3 2016
Update for merge conflicts.
Merge with a more recent revision.
Jul 18 2016
Unfortunately, this patch needs revision due to a merge conflict. :\
@sanjoy: Ping.
Jul 6 2016
Ping.
Jun 30 2016
Factor emission of the patchable instruction into a TTI hook.
May 19 2016
For now, I've disallowed it with naked and always_inline/__forceinline attributes. Do any other attributes affect prologue generation in a way that might interfere with ms_hook_prologue? AFAICT, GCC only disallows ms_hook_prologue on a) nested functions and b) functions compiled with -mfentry (neither of which we support, AFAIK).
- Add Sema tests for the ms_hook_prologue attribute.
- Disallow ms_hook_prologue on architectures that Windows doesn't support.
- Disallow ms_hook_prologue with the naked and always_inline attributes.
- Clarify that x86-64 doesn't use a special magic no-op.
- Don't emit patch space with MSVC. The linker adds it for us there.
- Don't force 64-bit functions to use a stack frame. That's only needed for 32-bit.
- Test that, when we do emit the patch space, we emit it before the alignment directive.
May 17 2016
May 16 2016
- Use Sanjoy's patchable-function attribute.
- Add documentation for this new attribute.
- Use Sanjoy's "patchable-function" attribute.
- Override EmitConstantPool() instead of EmitFunctionEntryLabel().
- Clarify why we're emitting 0xcc bytes (int3 instructions) instead of NOPs.
May 4 2016
Apr 9 2016
Apr 5 2016
Ping^3.
Apr 1 2016
Ping...
Mar 29 2016
Ping.
Mar 24 2016
Sep 17 2015
Sep 14 2015
Address review comments.
Sep 10 2015
- Rebase onto rL247238.
- Run clang-format on this patch.
- Push va_arg emission down into the ABIInfo hierarchy.
Sep 3 2015
Address @rsmith's comments.
Aug 28 2015
- Rebase onto rL246348.
- Register the __builtin_ms_va_list predef decl. Fixes a nasty interaction with modules.
- Mark __builtin_ms_va_start builtin as manually type-checked.
Aug 25 2015
Closing manually because Phabricator for some reason didn't close it for me...
Abandoning since I gutted the assert(3) in D1622.
Just call X86Subtarget::isCallingConvWin64 in LowerVAARG.