[PATCH] D157547: Arm64EC entry/exit thunks, consolidated.

2023-10-09 Thread Jacek Caban via Phabricator via cfe-commits
jacek added a comment. In D157547#4653477 , @efriedma wrote: > How important is that particular pattern? I think most patterns involving > assembly should be covered by some combination of naked functions, and > functions defined in separate assembly

[PATCH] D157547: Arm64EC entry/exit thunks, consolidated.

2023-10-09 Thread Jacek Caban via Phabricator via cfe-commits
jacek added a comment. It works nice with my testing so far, thanks! I noticed one problem with code that defines symbols in assembly. It conflicts with anti-dependency symbols emitted by codegen and hits an asserts in assembly printer. This commit fixes it for me:

[PATCH] D157547: Arm64EC entry/exit thunks, consolidated.

2023-09-25 Thread Jacek Caban via Phabricator via cfe-commits
jacek added a comment. In D157547#4650643 , @efriedma wrote: > Seems to be working for simple cases, but I'm not sure this is actually > working properly (I'm still seeing LNK1000 crashes). I don't know if it's related to crashes that you're seeing,

[PATCH] D157547: Arm64EC entry/exit thunks, consolidated.

2023-08-25 Thread Jacek Caban via Phabricator via cfe-commits
jacek added a comment. I published an initial version of my attempt at documenting this stuff here: https://wiki.winehq.org/ARM64ECToolchain. It's not yet complete, but I hope it's already useful. I plan to extend it in the future. If some clarification or more information would be useful,

[PATCH] D157547: Arm64EC entry/exit thunks, consolidated.

2023-08-17 Thread Jacek Caban via Phabricator via cfe-commits
jacek added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64MCInstLower.cpp:51-54 +// For ARM64EC, symbol lookup in the MSVC linker has limited awareness +// of ARM64EC mangling ("#"/"$$h"). So object files need to refer to both +// the mangled and

[PATCH] D157547: Arm64EC entry/exit thunks, consolidated.

2023-08-16 Thread Jacek Caban via Phabricator via cfe-commits
jacek added inline comments. Comment at: llvm/lib/Target/AArch64/AArch64MCInstLower.cpp:51-54 +// For ARM64EC, symbol lookup in the MSVC linker has limited awareness +// of ARM64EC mangling ("#"/"$$h"). So object files need to refer to both +// the mangled and

[PATCH] D61670: [RFC] [MinGW] Allow opting out from .refptr stubs

2023-07-25 Thread Jacek Caban via Phabricator via cfe-commits
jacek added a comment. `-fno-autoimport` sounds good to me. For linker implications, using `--disable-auto-import` in this case would seem consistent to me. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D61670/new/ https://reviews.llvm.org/D61670

[PATCH] D78508: [Clang] Allow long as size_t printf argument on 32-bit Windows platforms.

2020-05-15 Thread Jacek Caban via Phabricator via cfe-commits
jacek added a comment. I don't mind dropping the patch, we can mitigate the problem in Wine. My understanding is that we could use "pedantic" logic similar to NSInteger in checkFormatExpr, please let me know if you'd like something like that. I still think that using casts in such cases is not

[PATCH] D78508: [Clang] Allow long as size_t printf argument on 32-bit Windows platforms.

2020-04-20 Thread Jacek Caban via Phabricator via cfe-commits
jacek created this revision. jacek added a reviewer: clang. Herald added subscribers: cfe-commits, mstorsjo. Herald added a project: clang. On 32-bit Windows platform, int and long is mixed all over the place in platform headers. The most notable example is SIZE_T, which is unsigned long,