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/recipes-core/glibc/glibc | |
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/recipes-core/glibc/glibc')
-rw-r--r-- | meta/recipes-core/glibc/glibc/0032-string-Work-around-GCC-PR-98512-in-rawmemchr.patch | 58 |
1 files changed, 58 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 | |||