Add m68k architecture support#174
Merged
sunfishcode merged 3 commits intosunfishcode:mainfrom Dec 22, 2025
Merged
Conversation
Ioctls now use the same kernel version that's used in `gen/src/main.rs` for generating other bindings. They are no longer based on any system-wide headers which happen to exist in the system include directories. This removes the `REISERFS_IOC_UNPACK` ioctl because reiserfs was removed from the kernel and its userspace headers in Linux 6.13.
Contributor
Author
|
I made a workaround that makes bindgen work with new clang versions. The issue is also now fixed in bindgen but there's no new release with that yet. The generated bindings now properly use the 2 byte alignment, which affects some type layouts such as I used clang 22 for this which fixed the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add support for m68k architecture.
Also make the ioctl generation use the same version of Linux headers as what's used by
gen/src/main.rs(currently 6.17) which requires removing a reiserfs ioctl that has been removed from the kernel.Generating bindings for m68k requires clang<21.1.0 because of a bug in bindgen as discussed in #173.
I'm not sure why the constness of the
iovpointer inbtrfs::btrfs_ioctl_encoded_io_argschanges, but this seems to be due to some clang version differences (see commit cc98c6b).cc @antoyo @glaubitz