diff options
| author | Khem Raj <raj.khem@gmail.com> | 2021-02-26 09:40:09 -0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-02-27 22:40:41 +0000 |
| commit | 43ca8ad614cf245c1824d05d850da51f0cb29d11 (patch) | |
| tree | adee1b0b74dd99d0cca3ec3982c17a0bbe969ee6 /meta | |
| parent | 45c2a8fceeee4cb074f8a1376dc076a14ff68fc4 (diff) | |
| download | poky-43ca8ad614cf245c1824d05d850da51f0cb29d11.tar.gz | |
glibc: Fix rawmemchr
This is to help gcc bug upstream
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98512
(From OE-Core rev: ae9cad4e0554c8fe91d64030ad5c7e6d67b713d6)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch | 58 | ||||
| -rw-r--r-- | meta/recipes-core/glibc/glibc_2.33.bb | 1 |
2 files changed, 59 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch b/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch new file mode 100644 index 0000000000..e904b28a05 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch | |||
| @@ -0,0 +1,58 @@ | |||
| 1 | From 044e603b698093cf48f6e6229e0b66acf05227e4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Florian Weimer <fweimer@redhat.com> | ||
| 3 | Date: Fri, 19 Feb 2021 13:29:00 +0100 | ||
| 4 | Subject: [PATCH] string: Work around GCC PR 98512 in rawmemchr | ||
| 5 | |||
| 6 | Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=044e603b698093cf48f6e6229e0b66acf05227e4] | ||
| 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 8 | --- | ||
| 9 | string/rawmemchr.c | 26 +++++++++++++++----------- | ||
| 10 | 1 file changed, 15 insertions(+), 11 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/string/rawmemchr.c b/string/rawmemchr.c | ||
| 13 | index 59bbeeaa42..b8523118e5 100644 | ||
| 14 | --- a/string/rawmemchr.c | ||
| 15 | +++ b/string/rawmemchr.c | ||
| 16 | @@ -22,24 +22,28 @@ | ||
| 17 | # define RAWMEMCHR __rawmemchr | ||
| 18 | #endif | ||
| 19 | |||
| 20 | -/* Find the first occurrence of C in S. */ | ||
| 21 | -void * | ||
| 22 | -RAWMEMCHR (const void *s, int c) | ||
| 23 | -{ | ||
| 24 | - DIAG_PUSH_NEEDS_COMMENT; | ||
| 25 | +/* The pragmata should be nested inside RAWMEMCHR below, but that | ||
| 26 | + triggers GCC PR 98512. */ | ||
| 27 | +DIAG_PUSH_NEEDS_COMMENT; | ||
| 28 | #if __GNUC_PREREQ (7, 0) | ||
| 29 | - /* GCC 8 warns about the size passed to memchr being larger than | ||
| 30 | - PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ | ||
| 31 | - DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); | ||
| 32 | +/* GCC 8 warns about the size passed to memchr being larger than | ||
| 33 | + PTRDIFF_MAX; the use of SIZE_MAX is deliberate here. */ | ||
| 34 | +DIAG_IGNORE_NEEDS_COMMENT (8, "-Wstringop-overflow="); | ||
| 35 | #endif | ||
| 36 | #if __GNUC_PREREQ (11, 0) | ||
| 37 | - /* Likewise GCC 11, with a different warning option. */ | ||
| 38 | - DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); | ||
| 39 | +/* Likewise GCC 11, with a different warning option. */ | ||
| 40 | +DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); | ||
| 41 | #endif | ||
| 42 | + | ||
| 43 | +/* Find the first occurrence of C in S. */ | ||
| 44 | +void * | ||
| 45 | +RAWMEMCHR (const void *s, int c) | ||
| 46 | +{ | ||
| 47 | if (c != '\0') | ||
| 48 | return memchr (s, c, (size_t)-1); | ||
| 49 | - DIAG_POP_NEEDS_COMMENT; | ||
| 50 | return (char *)s + strlen (s); | ||
| 51 | } | ||
| 52 | libc_hidden_def (__rawmemchr) | ||
| 53 | weak_alias (__rawmemchr, rawmemchr) | ||
| 54 | + | ||
| 55 | +DIAG_POP_NEEDS_COMMENT; | ||
| 56 | -- | ||
| 57 | 2.30.1 | ||
| 58 | |||
diff --git a/meta/recipes-core/glibc/glibc_2.33.bb b/meta/recipes-core/glibc/glibc_2.33.bb index e0002e6046..c47826a51e 100644 --- a/meta/recipes-core/glibc/glibc_2.33.bb +++ b/meta/recipes-core/glibc/glibc_2.33.bb | |||
| @@ -44,6 +44,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
| 44 | file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ | 44 | file://0029-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch \ |
| 45 | file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ | 45 | file://0030-powerpc-Do-not-ask-compiler-for-finding-arch.patch \ |
| 46 | file://0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch \ | 46 | file://0031-x86-Require-full-ISA-support-for-x86-64-level-marker.patch \ |
| 47 | file://0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch \ | ||
| 47 | " | 48 | " |
| 48 | S = "${WORKDIR}/git" | 49 | S = "${WORKDIR}/git" |
| 49 | B = "${WORKDIR}/build-${TARGET_SYS}" | 50 | B = "${WORKDIR}/build-${TARGET_SYS}" |
