Skip to content

tools: linux/types.h: Add 128-bit integer types for arm64 UAPI structures - #159

Closed
chriskearney wants to merge 1 commit into
integration/aurorafrom
fix/tools-u128-arm64-uapi
Closed

chriskearney wants to merge 1 commit into
integration/aurorafrom
fix/tools-u128-arm64-uapi

Conversation

@chriskearney

Copy link
Copy Markdown
Collaborator

Arch Linux ARM moved to linux-api-headers 7.3 today. Its arm64 asm/ptrace.h declares the 128-bit register members as __u128 (upstream d4bf9e0). resolve_btfids builds libbpf with this tree's tools/include, which has no __u128, so the kernel no longer builds in a current Arch Linux ARM builder:

/usr/include/asm/ptrace.h:96:2: error: unknown type name '__u128'
make[3]: *** [Makefile:77: bpf/resolve_btfids] Error 2
==> ERROR: A failure occurred in prepare().

That is omarchy-pkgs' bin/build, the recipe the installer's kernel comes from. Its edge build of 1b4997b at 02:07 UTC today still had headers 7.2. Every later build of a 7.2-based tree fails the same way, #158 included; 7.2.10, 7.2.11 and 7.2.12 don't carry the fix.

This backports upstream 10a47fb (Will Deacon): five lines that add the __s128/__u128 typedefs to tools/include/linux/types.h. Only host tools change; the kernel image, modules and device trees are untouched.

Tested

  • Without it: omarchy-pkgs' bin/build --arch aarch64 --package linux-aurora fails as above on GitHub's arm64 runner (run).
  • With it: the same build passes (run). The package matches the edge build of 1b4997b exactly: same configuration, all 115 device trees byte-identical, the same 1,917 modules.

🤖 Generated with Claude Code

…ures

The arm64 UAPI exposes some 128-bit integer types to represent things
such as fpsimd registers in the sigcontext. In preparation for defining
these using the '__u128' typedef implemented by uapi/linux/types.h, copy
that typedef over to the private linux/types.h header used by the tools
directory.

Cc: Arnd Bergmann <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: David Matlack <[email protected]>
Signed-off-by: Will Deacon <[email protected]>
(cherry picked from commit 10a47fb)
[Chris Kearney: Arch Linux ARM's linux-api-headers 7.3 ships the arm64
 asm/ptrace.h that declares its 128-bit members as __u128 (upstream
 d4bf9e0). resolve_btfids builds libbpf against the system headers,
 so without this typedef the kernel no longer builds there.]
Signed-off-by: Chris Kearney <[email protected]>
chriskearney added a commit that referenced this pull request Oct 20, 2026
… with

Both fixes the CI needs, #159 and #161, with their own commits; this
branch is rebased onto integration/aurora once they merge.

Signed-off-by: Chris Kearney <[email protected]>
@chriskearney

Copy link
Copy Markdown
Collaborator Author

Folded into #160 as its own commit (same change), so the fixes and the CI that found them land together.

@chriskearney
chriskearney deleted the fix/tools-u128-arm64-uapi branch October 20, 2026 15:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants