RFR: 8365296: Build failure with Clang due to -Wformat warning after JDK-8364611
Guanqiang Han
ghan at openjdk.org
Thu Aug 14 08:35:21 UTC 2025
This issue is related to the definition of __sigset_t (__sigset_t act.sa_mask). In the glibc source, __sigset_t is defined in multiple places:
- bits/types/__sigset_t.h
<img width="1071" height="415" alt="image02" src="https://github.com/user-attachments/assets/4dff7546-f0b3-448c-832f-54f7b9ffc476" />
- sysdeps/unix/sysv/linux/bits/types/__sigset_t.h (introduced after glibc 2.25)
<img width="1059" height="487" alt="image01" src="https://github.com/user-attachments/assets/54101f9b-3b1a-4943-83ee-6f6471c060a6" />
During compilation with Clang, the latter definition appears to be used, where __sigset_t is a struct, causing the printf("%X", act.sa_mask) to fail.
we can detect whether _SIGSET_NWORDS is defined and handle the printing differently based on that, ensuring correct handling of the struct type.
-------------
Commit messages:
- 8365296: Build failure with Clang due to -Wformat warning after JDK-8364611
Changes: https://git.openjdk.org/jdk/pull/26771/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=26771&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8365296
Stats: 10 lines in 1 file changed: 8 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/26771.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26771/head:pull/26771
PR: https://git.openjdk.org/jdk/pull/26771
More information about the core-libs-dev
mailing list