- Add gcc13-sanitizer-remove-crypt-interception.patch to remove

crypt and crypt_r interceptors.  The crypt API change in SLE15 SP3
  breaks them.  [bsc#1219520]

OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc13?expand=0&rev=92
This commit is contained in:
Richard Biener 2024-02-08 08:47:54 +00:00 committed by Git OBS Bridge
parent 96a840a21e
commit a4514afa8a
37 changed files with 210 additions and 0 deletions

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -136,6 +136,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -362,6 +363,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -136,6 +136,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -362,6 +363,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -136,6 +136,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -362,6 +363,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -136,6 +136,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -362,6 +363,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -136,6 +136,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -362,6 +363,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -135,6 +135,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -361,6 +362,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -387,6 +387,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -1355,6 +1356,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -0,0 +1,133 @@
From 76558e591453a53ac9b3ac2b742b09e0b4cf558d Mon Sep 17 00:00:00 2001
From: Fangrui Song <i@maskray.me>
Date: Fri, 28 Apr 2023 09:59:17 -0700
Subject: [PATCH] Remove crypt and crypt_r interceptors
To: gcc-patches@gcc.gnu.org
From Florian Weimer's D144073
> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
>
> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
newer glibc.
For older glibc, msan will not know that an uninstrumented crypt_r call
initializes `data`, so there is a risk for false positives. However, with some
codebase survey, I think crypt_r uses are very few and the call sites typically
have a `memset(&data, 0, sizeof(data));` anyway.
Fix https://github.com/google/sanitizers/issues/1365
Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
Differential Revision: https://reviews.llvm.org/D149403
---
.../sanitizer_common_interceptors.inc | 35 -------------------
.../sanitizer_platform_interceptors.h | 2 --
.../sanitizer_platform_limits_posix.cpp | 8 -----
.../sanitizer_platform_limits_posix.h | 1 -
4 files changed, 46 deletions(-)
diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
index ba4b80081f0..c1c7839db8d 100644
--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
@@ -10187,41 +10187,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
#define INIT_GETRANDOM
#endif
-#if SANITIZER_INTERCEPT_CRYPT
-INTERCEPTOR(char *, crypt, char *key, char *salt) {
- void *ctx;
- COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
- char *res = REAL(crypt)(key, salt);
- if (res != nullptr)
- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
- return res;
-}
-#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
-#else
-#define INIT_CRYPT
-#endif
-
-#if SANITIZER_INTERCEPT_CRYPT_R
-INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
- void *ctx;
- COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
- char *res = REAL(crypt_r)(key, salt, data);
- if (res != nullptr) {
- COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
- __sanitizer::struct_crypt_data_sz);
- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
- }
- return res;
-}
-#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
-#else
-#define INIT_CRYPT_R
-#endif
-
#if SANITIZER_INTERCEPT_GETENTROPY
INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
void *ctx;
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
index 8307b1ec28b..d50166ee6ce 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
@@ -571,8 +571,6 @@
#define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
#define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
#define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
-#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
-#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
#define SANITIZER_INTERCEPT_GETRANDOM \
((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
index c85cf1626a7..bcbd143d19d 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
@@ -176,10 +176,6 @@ typedef struct user_fpregs elf_fpregset_t;
# include "sanitizer_platform_interceptors.h"
# include "sanitizer_platform_limits_posix.h"
-#if SANITIZER_INTERCEPT_CRYPT_R
-#include <crypt.h>
-#endif
-
namespace __sanitizer {
unsigned struct_utsname_sz = sizeof(struct utsname);
unsigned struct_stat_sz = sizeof(struct stat);
@@ -283,10 +279,6 @@ namespace __sanitizer {
unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
-#if SANITIZER_INTERCEPT_CRYPT_R
- unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
-#endif
-
#if SANITIZER_LINUX && !SANITIZER_ANDROID
unsigned struct_timex_sz = sizeof(struct timex);
unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
index 44dd3d9e22d..29ebb304a9b 100644
--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
@@ -319,7 +319,6 @@ extern unsigned struct_msqid_ds_sz;
extern unsigned struct_mq_attr_sz;
extern unsigned struct_timex_sz;
extern unsigned struct_statvfs_sz;
-extern unsigned struct_crypt_data_sz;
#endif // SANITIZER_LINUX && !SANITIZER_ANDROID
struct __sanitizer_iovec {
--
2.35.3

View File

@ -403,6 +403,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -545,6 +546,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Thu Feb 8 08:17:53 UTC 2024 - Richard Biener <rguenther@suse.com>
- Add gcc13-sanitizer-remove-crypt-interception.patch to remove
crypt and crypt_r interceptors. The crypt API change in SLE15 SP3
breaks them. [bsc#1219520]
-------------------------------------------------------------------
Tue Feb 6 08:04:04 UTC 2024 - Richard Biener <rguenther@suse.com>

View File

@ -382,6 +382,7 @@ Patch19: gcc11-gdwarf-4-default.patch
Patch20: gcc11-amdgcn-disable-hot-cold-partitioning.patch
Patch21: gdcflags.patch
Patch23: gcc13-bsc1216664.patch
Patch24: gcc13-sanitizer-remove-crypt-interception.patch
# A set of patches from the RH srpm
Patch51: gcc41-ppc32-retaddr.patch
# Some patches taken from Debian
@ -2365,6 +2366,7 @@ ln -s newlib-4.3.0.20230120/newlib .
%endif
%patch21 -p1
%patch23 -p1
%patch24 -p1
%patch51
%patch60 -p1
%patch61 -p1