RFR: 8365296: Build failure with Clang due to -Wformat warning after JDK-8364611 [v2]

Guanqiang Han ghan at openjdk.org
Thu Aug 14 09:01: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 one additional commit since the last revision:

  Update exePrintSignalDisposition.c
  
  a small fix

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/26771/files
  - new: https://git.openjdk.org/jdk/pull/26771/files/b6f672b5..207cc292

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26771&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26771&range=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 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