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}" |