Am Freitag, 25. Juli 2025, 20:51:41 Mitteleuropäische Sommerzeit schrieb Sam 
James:
> Cherry picked from LLVM commit c99b1bcd505064f2e086e6b1034ce0b0c91ea5b9.
> 

FWIW I can confirm that this fixes the build of gcc on ppc64 (both BE and LE) 
with glibc-2.42.

[
* The constants are removed in future glibc-2.42, so you need that to reproduce 
it.
* Other architectures (than ppc64) are currently not affected since the 
constants are 
   present in linux-headers there.
]

> The termio ioctls are no longer used after commit 59978b21ad9c
> ("[sanitizer_common] Remove interceptors for deprecated struct termio
> (#137403)"), remove them.  Fixes this build error:
> 
> ../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:765:27:
>  error: invalid application of ‘sizeof’ to incomplete type 
> ‘__sanitizer::termio’
>   765 |   unsigned IOCTL_TCGETA = TCGETA;
>       |                           ^~~~~~
> ../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:769:27:
>  error: invalid application of ‘sizeof’ to incomplete type 
> ‘__sanitizer::termio’
>   769 |   unsigned IOCTL_TCSETA = TCSETA;
>       |                           ^~~~~~
> ../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:770:28:
>  error: invalid application of ‘sizeof’ to incomplete type 
> ‘__sanitizer::termio’
>   770 |   unsigned IOCTL_TCSETAF = TCSETAF;
>       |                            ^~~~~~~
> ../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:771:28:
>  error: invalid application of ‘sizeof’ to incomplete type 
> ‘__sanitizer::termio’
>   771 |   unsigned IOCTL_TCSETAW = TCSETAW;
>       |                            ^~~~~~~
> ---
> We need this for imminent glibc-2.42. Testing running now. OK if that
> succeeds? Ideally for backports too after some soak time? (Note that
> we already backported Florian's r16-360-g1789c57dc97ea2 to 15, this
> change is a followup to that, and I'd like to backport his change further
> back as well).
> 
>  .../sanitizer_common/sanitizer_platform_limits_posix.cpp      | 4 ----
>  .../sanitizer_common/sanitizer_platform_limits_posix.h        | 4 ----
>  2 files changed, 8 deletions(-)
> 
> diff --git 
> a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp 
> b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
> index 490e75fe8f65..9856ac3c3ec4 100644
> --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
> +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
> @@ -762,13 +762,9 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
>    unsigned IOCTL_SOUND_PCM_WRITE_FILTER = SOUND_PCM_WRITE_FILTER;
>  #endif // SOUND_VERSION
>    unsigned IOCTL_TCFLSH = TCFLSH;
> -  unsigned IOCTL_TCGETA = TCGETA;
>    unsigned IOCTL_TCGETS = TCGETS;
>    unsigned IOCTL_TCSBRK = TCSBRK;
>    unsigned IOCTL_TCSBRKP = TCSBRKP;
> -  unsigned IOCTL_TCSETA = TCSETA;
> -  unsigned IOCTL_TCSETAF = TCSETAF;
> -  unsigned IOCTL_TCSETAW = TCSETAW;
>    unsigned IOCTL_TCSETS = TCSETS;
>    unsigned IOCTL_TCSETSF = TCSETSF;
>    unsigned IOCTL_TCSETSW = TCSETSW;
> diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h 
> b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
> index a80df656826e..cfac4903b76b 100644
> --- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
> +++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
> @@ -1274,13 +1274,9 @@ extern unsigned IOCTL_SNDCTL_COPR_SENDMSG;
>  extern unsigned IOCTL_SNDCTL_COPR_WCODE;
>  extern unsigned IOCTL_SNDCTL_COPR_WDATA;
>  extern unsigned IOCTL_TCFLSH;
> -extern unsigned IOCTL_TCGETA;
>  extern unsigned IOCTL_TCGETS;
>  extern unsigned IOCTL_TCSBRK;
>  extern unsigned IOCTL_TCSBRKP;
> -extern unsigned IOCTL_TCSETA;
> -extern unsigned IOCTL_TCSETAF;
> -extern unsigned IOCTL_TCSETAW;
>  extern unsigned IOCTL_TCSETS;
>  extern unsigned IOCTL_TCSETSF;
>  extern unsigned IOCTL_TCSETSW;
> 
> base-commit: ba5a6787374dea3e90f09771134d16b9f6d2714e
> 


-- 
Andreas K. Hüttel
dilfri...@gentoo.org
Gentoo Linux developer
(council, toolchain, base-system, perl, libreoffice)

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to