Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare v4.1 release #484

Merged
merged 53 commits into from
Feb 4, 2024
Merged

Prepare v4.1 release #484

merged 53 commits into from
Feb 4, 2024

Conversation

athre0z
Copy link
Member

@athre0z athre0z commented Feb 4, 2024

This PR updates the maintenance/v4 branch1 by rebasing all changes from master on top of it and then reverting the breaking changes. Please review the last few commits for the (partial) reverts and version bumps.

Blocked on zyantific/zycore-c#69.

Once this PR is merged, I'll create a tag and a corresponding release.

Footnotes

  1. This didn't exist previously: I just branched this off from v4.0.0 tag and published it.

oberrich and others added 30 commits November 26, 2022 13:41
Zydis currently requests a C++ compiler despite not actually using it.
This breaks build on toolchains without a C++ compiler (e.g. musl libc).

@Tachi107 already did the same for zycore a while ago:

zyantific/zycore-c@8f39333
* Update zycore submodule

* Use ZYAN_DIV64 in ZydisStringAppendDecU64

Avoid a direct 64bit integer division in ZydisStringAppendDecU64 and use
the macro provided by zycore instead, as GCC might generate
unwanted calls to arithmetic functions on 32bit platforms.
Fix some warnings output by GCC when compiling amalgamated source
Make decoder_mode a bitmap instead of an array of booleans for space
efficiency.
The previous code would mix up absolute and relative paths to determine
when to print the warning about public headers first being encountered
when processing the source files. This commit fixes this and thus gets
rid of the incorrect warnings.
Multiple functions without arguments were missing the `(void)` that
prevents them from being interpreted as not having a prototype. Newer
Clang versions started printing warnings for that in pedantic mode.
This commit reworks large parts of our primary README.

- Add a list prominent Zydis users
- Explain how to do no-libc builds
- Remove links to unmaintained bindings
- Remove badge that links to the dead gitter channel
- Revamp the build instructions
  - Mention the various package managers that ship Zydis
  - Explain the amalgamated distribution
- Various other smaller improvements
This should allow Zydis to find Zycore in more situations automatically.
Most importantly, `find_package(Zycore)` is now something that we try
automatically. This should allow distributions that ship Zycore as a
separate package to do so more easily without having to delve into out
CMake logic to discover the `ZYAN_SYSTEM_ZYCORE` option.
wuruilong01 and others added 21 commits October 31, 2023 19:27
We previously went with explicitly adding `@file` directives to our
headers instead of using `EXTRACT_ALL` because the latter was broken
with the m.css theme that we were using previously. m.css has a custom
code generator that didn't support the directive. We've since switched
to another theme that just re-styles the vanilla HTML, so we're fine
to just use that now (instead of changing the code-gen to add the
directives in all generated headers).
According to the documentation glob returns files in arbitrary order.
Let's sort paths to keep the same order of files for amalgamation.

Signed-off-by: Denis Efremov <[email protected]>
This reverts the interface-breaking portion of
6ab4463.
@athre0z athre0z added the A-build Area: Build system label Feb 4, 2024
@athre0z athre0z requested a review from flobernd February 4, 2024 19:46
@athre0z athre0z self-assigned this Feb 4, 2024
Copy link
Member

@flobernd flobernd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good. Thanks for getting this done! We should remember to do backports more often (and to create the maintenance branches in time 😅)

@athre0z athre0z marked this pull request as ready for review February 4, 2024 21:08
@athre0z athre0z merged commit 569320a into maintenance/v4 Feb 4, 2024
12 of 13 checks passed
@athre0z athre0z deleted the v4.1-prep branch February 4, 2024 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-build Area: Build system
Projects
None yet
Development

Successfully merging this pull request may close these issues.