RFR: 8365296: Build failure with Clang due to -Wformat warning after JDK-8364611 [v3]
Guanqiang Han
ghan at openjdk.org
Thu Aug 14 16:02:54 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.
Guanqiang Han has updated the pull request incrementally with two additional commits since the last revision:
- Update exePrintSignalDisposition.c
a small fix
- Update exePrintSignalDisposition.c
Refactor act.sa_mask output
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26771/files
- new: https://git.openjdk.org/jdk/pull/26771/files/207cc292..6077719c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26771&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26771&range=01-02
Stats: 15 lines in 1 file changed: 7 ins; 1 del; 7 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