Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gcc-patches:master commit in: 9.2.0/gentoo/
Date: Thu, 06 Feb 2020 22:20:24
Message-Id: 1581027578.7d1022a04284035ab567d85e356e14e06aab121d.slyfox@gentoo
1 commit: 7d1022a04284035ab567d85e356e14e06aab121d
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Thu Feb 6 22:19:38 2020 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 6 22:19:38 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=7d1022a0
7
8 9.2.0: backport libsanitizer tweaks for glibc-2.31
9
10 Reported-by: Mike Lothian
11 Bug: https://bugs.gentoo.org/708346
12 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
13
14 .../gentoo/35_all_glibc-2.31-libsanitizer-1.patch | 40 ++++++++++++
15 .../gentoo/36_all_glibc-2.31-libsanitizer-2.patch | 76 ++++++++++++++++++++++
16 9.2.0/gentoo/README.history | 2 +
17 3 files changed, 118 insertions(+)
18
19 diff --git a/9.2.0/gentoo/35_all_glibc-2.31-libsanitizer-1.patch b/9.2.0/gentoo/35_all_glibc-2.31-libsanitizer-1.patch
20 new file mode 100644
21 index 0000000..4906ae0
22 --- /dev/null
23 +++ b/9.2.0/gentoo/35_all_glibc-2.31-libsanitizer-1.patch
24 @@ -0,0 +1,40 @@
25 +https://bugs.gentoo.org/708346
26 +
27 +From ce9568e9e9cf6094be30e748821421e703754ffc Mon Sep 17 00:00:00 2001
28 +From: Jakub Jelinek <jakub@××××××.com>
29 +Date: Fri, 8 Nov 2019 19:53:18 +0100
30 +Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
31 + bootstrap due to libsanitizer)
32 +
33 + Backported from mainline
34 + 2019-10-22 Tamar Christina <tamar.christina@×××.com>
35 +
36 + PR sanitizer/92154
37 + * sanitizer_common/sanitizer_platform_limits_posix.cc:
38 + Cherry-pick compiler-rt revision r375220.
39 +
40 +From-SVN: r277981
41 +---
42 + libsanitizer/ChangeLog | 9 +++++++++
43 + .../sanitizer_common/sanitizer_platform_limits_posix.cc | 6 +++++-
44 + 2 files changed, 14 insertions(+), 1 deletion(-)
45 +
46 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
47 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
48 +@@ -1156,8 +1156,12 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
49 + CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
50 + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
51 + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
52 +-#if !defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)
53 ++#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
54 ++ !defined(__arm__)
55 + /* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
56 ++/* On Arm glibc 2.31 and later provide a different mode field, this field is
57 ++ never used by libsanitizer so we can simply ignore this assert for all glibc
58 ++ versions. */
59 + CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
60 + #endif
61 +
62 +--
63 +2.25.0
64 +
65
66 diff --git a/9.2.0/gentoo/36_all_glibc-2.31-libsanitizer-2.patch b/9.2.0/gentoo/36_all_glibc-2.31-libsanitizer-2.patch
67 new file mode 100644
68 index 0000000..1960a11
69 --- /dev/null
70 +++ b/9.2.0/gentoo/36_all_glibc-2.31-libsanitizer-2.patch
71 @@ -0,0 +1,76 @@
72 +https://bugs.gentoo.org/708346
73 +
74 +From 75003cdd23c310ec385344e8040d490e8dd6d2be Mon Sep 17 00:00:00 2001
75 +From: Jakub Jelinek <jakub@××××××.com>
76 +Date: Fri, 20 Dec 2019 17:58:35 +0100
77 +Subject: [PATCH] backport: re PR sanitizer/92154 (new glibc breaks arm
78 + bootstrap due to libsanitizer)
79 +
80 + Backported from mainline
81 + 2019-11-26 Jakub Jelinek <jakub@××××××.com>
82 +
83 + PR sanitizer/92154
84 + * sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick
85 + llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce.
86 + * sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
87 +
88 +From-SVN: r279653
89 +---
90 + libsanitizer/ChangeLog | 10 ++++++++++
91 + .../sanitizer_platform_limits_posix.cc | 9 +++------
92 + .../sanitizer_platform_limits_posix.h | 15 +--------------
93 + 3 files changed, 14 insertions(+), 20 deletions(-)
94 +
95 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
96 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc
97 +@@ -1156,12 +1156,9 @@ CHECK_SIZE_AND_OFFSET(ipc_perm, uid);
98 + CHECK_SIZE_AND_OFFSET(ipc_perm, gid);
99 + CHECK_SIZE_AND_OFFSET(ipc_perm, cuid);
100 + CHECK_SIZE_AND_OFFSET(ipc_perm, cgid);
101 +-#if (!defined(__aarch64__) || !SANITIZER_LINUX || __GLIBC_PREREQ (2, 21)) && \
102 +- !defined(__arm__)
103 +-/* On aarch64 glibc 2.20 and earlier provided incorrect mode field. */
104 +-/* On Arm glibc 2.31 and later provide a different mode field, this field is
105 +- never used by libsanitizer so we can simply ignore this assert for all glibc
106 +- versions. */
107 ++#if !SANITIZER_LINUX || __GLIBC_PREREQ (2, 31)
108 ++/* glibc 2.30 and earlier provided 16-bit mode field instead of 32-bit
109 ++ on many architectures. */
110 + CHECK_SIZE_AND_OFFSET(ipc_perm, mode);
111 + #endif
112 +
113 +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
114 +index 73af92af1e8..6a673a7c995 100644
115 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
116 ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
117 +@@ -211,26 +211,13 @@ namespace __sanitizer {
118 + u64 __unused1;
119 + u64 __unused2;
120 + #elif defined(__sparc__)
121 +-#if defined(__arch64__)
122 + unsigned mode;
123 +- unsigned short __pad1;
124 +-#else
125 +- unsigned short __pad1;
126 +- unsigned short mode;
127 + unsigned short __pad2;
128 +-#endif
129 + unsigned short __seq;
130 + unsigned long long __unused1;
131 + unsigned long long __unused2;
132 +-#elif defined(__mips__) || defined(__aarch64__) || defined(__s390x__)
133 +- unsigned int mode;
134 +- unsigned short __seq;
135 +- unsigned short __pad1;
136 +- unsigned long __unused1;
137 +- unsigned long __unused2;
138 + #else
139 +- unsigned short mode;
140 +- unsigned short __pad1;
141 ++ unsigned int mode;
142 + unsigned short __seq;
143 + unsigned short __pad2;
144 + #if defined(__x86_64__) && !defined(_LP64)
145 +--
146 +2.25.0
147 +
148
149 diff --git a/9.2.0/gentoo/README.history b/9.2.0/gentoo/README.history
150 index 0ac54f3..01df09a 100644
151 --- a/9.2.0/gentoo/README.history
152 +++ b/9.2.0/gentoo/README.history
153 @@ -1,5 +1,7 @@
154 5 TODO
155 + 34_all_ia64-neg-insn-cost.patch
156 + + 35_all_glibc-2.31-libsanitizer-1.patch
157 + + 36_all_glibc-2.31-libsanitizer-2.patch
158
159 4 22 Dec 2012
160 + 31_all_openmp-for-SEGV.patch