Description: define 128-bit types in internal linux/types.h for arm64 builds
 gfs2-utils ships an internal header gfs2/include/linux/types.h which is
 exposed via -I compiler flags.  When source files in gfs2/edit include
 <signal.h>, glibc's <bits/sigcontext.h> pulls in the arm64 kernel UAPI
 header <asm/sigcontext.h>, which includes <linux/types.h>.
 .
 On arm64 <asm/sigcontext.h> references the 128-bit integer types
 which are not defined in internal linux/types.h, so the build fails with:
 .
 /usr/include/aarch64-linux-gnu/asm/sigcontext.h:81:9: error: unknown type name '__u128'
 .
 Define __s128 and __u128 under #ifdef __SIZEOF_INT128__ in the internal
 header, mirroring the definitions in the system linux/types.h.
Author: Viktor Pashaiev <w.paszajew@gmail.com>
Bug-Debian: https://bugs.debian.org/1150398
Last-Update: 2026-10-09
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/gfs2/include/linux/types.h
+++ b/gfs2/include/linux/types.h
@@ -24,4 +24,9 @@
 typedef uint64_t __bitwise __le64;
 typedef uint64_t __bitwise __be64;
 
+#ifdef __SIZEOF_INT128__
+typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
+typedef unsigned __int128 __u128 __attribute__((aligned(16)));
+#endif
+
 #endif /* LINUX_TYPES_H */
