From c82c4041fc343fa45996ddccc93ea8cefe43a94f501d97b2b80ee837b6718dfd Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Wed, 26 May 2021 10:27:44 +0000 Subject: [PATCH] Accepting request 895511 from home:Andreas_Schwab:Factory - rawmemchr-warning.patch: string: Work around GCC PR 98512 in rawmemchr OBS-URL: https://build.opensuse.org/request/show/895511 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=594 --- glibc.changes | 5 ++++ glibc.spec | 3 +++ rawmemchr-warning.patch | 56 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 rawmemchr-warning.patch diff --git a/glibc.changes b/glibc.changes index dabc2b2..0d970d0 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed May 26 09:55:50 UTC 2021 - Andreas Schwab + +- rawmemchr-warning.patch: string: Work around GCC PR 98512 in rawmemchr + ------------------------------------------------------------------- Tue May 4 12:19:24 UTC 2021 - Andreas Schwab diff --git a/glibc.spec b/glibc.spec index be7f398..b32ee95 100644 --- a/glibc.spec +++ b/glibc.spec @@ -259,6 +259,8 @@ Patch1004: nss-database-lookup.patch Patch1005: select-modify-timeout.patch # PATCH-FIX-UPSTREAM: nptl_db: Support different libpthread/ld.so load orders (BZ #27744) Patch1006: nptl-db-libpthread-load-order.patch +# PATCH-FIX-UPSTREAM: string: Work around GCC PR 98512 in rawmemchr +Patch1007: rawmemchr-warning.patch ### # Patches awaiting upstream approval @@ -483,6 +485,7 @@ Internal usrmerge bootstrap helper %patch1004 -p1 %patch1005 -p1 %patch1006 -p1 +%patch1007 -p1 %patch2000 -p1 %patch2001 -p1 diff --git a/rawmemchr-warning.patch b/rawmemchr-warning.patch new file mode 100644 index 0000000..c57bd28 --- /dev/null +++ b/rawmemchr-warning.patch @@ -0,0 +1,56 @@ +From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Fri, 19 Feb 2021 13:29:00 +0100 +Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr + +--- + string/rawmemchr.c | 26 +++++++++++++++----------- + 1 file changed, 15 insertions(+), 11 deletions(-) + +diff --git a/string/rawmemchr.c b/string/rawmemchr.c +index 59bbeeaa42..b8523118e5 100644 +--- a/string/rawmemchr.c ++++ b/string/rawmemchr.c +@@ -22,24 +22,28 @@ + # define RAWMEMCHR __rawmemchr + #endif + +-/* Find the first occurrence of C in S. */ +-void * +-RAWMEMCHR (const void *s, int c) +-{ +- DIAG_PUSH_NEEDS_COMMENT; ++/* The pragmata should be nested inside RAWMEMCHR below, but that ++ triggers GCC PR 98512. */ ++DIAG_PUSH_NEEDS_COMMENT; + #if __GNUC_PREREQ (7, 0) +- /* GCC 8 warns about the size passed to memchr being larger than +- PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ +- DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); ++/* GCC 8 warns about the size passed to memchr being larger than ++ PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ ++DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); + #endif + #if __GNUC_PREREQ (11, 0) +- /* Likewise GCC 11, with a different warning option. */ +- DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); ++/* Likewise GCC 11, with a different warning option. */ ++DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); + #endif ++ ++/* Find the first occurrence of C in S. */ ++void * ++RAWMEMCHR (const void *s, int c) ++{ + if (c != '\0') + return memchr (s, c, (size_t)-1); +- DIAG_POP_NEEDS_COMMENT; + return (char *)s + strlen (s); + } + libc_hidden_def (__rawmemchr) + weak_alias (__rawmemchr, rawmemchr) ++ ++DIAG_POP_NEEDS_COMMENT; +-- +2.31.1 +