Conversation
aa16cb9 to
43b2024
Compare
b71a557 to
f678379
Compare
f8bbbc9 to
8550a94
Compare
8550a94 to
57d01d6
Compare
| // These hypercalls are not executed in normal test workflows anyway | ||
| __builtin_debugtrap(); | ||
| break; | ||
| #else |
There was a problem hiding this comment.
I think this is okay based off the comments left in #625 but we are removing the explicit data dependencies. Without turning this into a naked block (which would be very brittle), not sure would could be done.
834a92c to
a413225
Compare
kyle-elliott-tob
left a comment
There was a problem hiding this comment.
Thanks for all the hard work over the past few days, LGTM!
Waiting on @wizardengineer for review
2. For the **cxx-common-alternative** version of Remill, which version of XED does it correspond to?
I encountered an error, but when using the XED built from the **main** branch of *packages*, the following cases compile successfully:
case XED_ISA_SET_AVX512DQ_KOPB:
case XED_ISA_SET_AVX512DQ_KOPW:
4. ```
clang-17: warning: no such sysroot directory: '-m32' [-Wmissing-sysroot]
/Users/runner/work/remill/remill/lib/Arch/AArch32/Runtime/BasicBlock.cpp:17:10: fatal error: 'algorithm' file not found
17 | #include
```
Today, when I compiled packages on an Ubuntu Server platform, I unfortunately encountered a similar “cannot find However, when using the Although using |
This is not a supported configuration, so there is no reason to try this. There also is no |
a413225 to
0dfe75e
Compare
Can cxx-common currently run on the Windows platform ,Are there other ways to avoid relying on vcpkg |
Sorry, my English isn’t great, but I understand you now. |
|
cxx-common will not compile out of the box on windows. There's (currently) a few different issues, all of which our resolved by this commit. Instructions will eventually be updated in the main readme to reflect this after the merge. |
|
You can build the remill fully on Windows with the |
99ad47b to
3524cf3
Compare
3524cf3 to
3dd93c7
Compare
|
Thank you very much again @mrexodia, a truly herculean effort that is greatly appreciated! |



This is a huge refactor doing the following things:
cxx-commonimplementation as a superbuild project. You can find more information here: https://github.com/LLVMParty/packages/blob/main/dependencies.md. This is of course optional, but makes it much easier to users to build the dependencies necessary for remill.g++-multiliband-m32. The semantics are now compiled as-ffreestandingand just enough of the C++ standard library was implemented in a fake--sysrootto make it work.std::fetestexceptand directly useFE_XXXflags. This has now been decoupled properly so you can implement FPU exceptions however you want. It looks like Adding new type 'MV256W' and enabling AArch64 STP SIMD semantics. #636 was discussing similar bugs, all of which have been fixed (I think).sleighwithout a separate Ghidra fork for PPC-ffreestandingand test failures with later LLVM versions#ifdefs for LLVM versions, but I think it would be nice to widen the compatibility instead of only supporting LLVM 17. Due to bugs in LLVM JSON this required switching back to C++17, but the project uses no C++20 features, so I don't think this is an issue.-fsanitize(@fvrmatteo's work)Closes #678
Closes #718
Closes #663
Closes #573
Unfortunately splitting this up is going to be extremely tough. I can split the changes for LLVM15-21 compatibility, but the
-ffreestandingchanges are dependent on the FPU semantic changes and a bunch of CMake stuff. The sleigh "changes" (nothing actually changed) could be split out too, the diff just looks massive.Note: The CI failure is something I cannot reproduce locally with any LLVM version. I suspect it is specific to the LLVM fork used in
cxx-common. The docker images I use are official LLVM versions without changes, compiled with assertions enabled.