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: 4.6.4/gentoo/, 4.3.6/gentoo/, 4.0.4/gentoo/, 4.2.4/gentoo/, 4.5.4/gentoo/, ...
Date: Thu, 30 May 2019 21:46:47
Message-Id: 1559252741.417f0afc6bbda0eb075bd8025f9b41d0cba2ca14.slyfox@gentoo
1 commit: 417f0afc6bbda0eb075bd8025f9b41d0cba2ca14
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Thu May 30 21:45:41 2019 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Thu May 30 21:45:41 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=417f0afc
7
8 4.*.*: fix build failure against gcc-9
9
10 It's a workaround against https://gcc.gnu.org/PR90677
11 where 'cgraph_node' is effectively forbidden for function names.
12
13 Bug: https://gcc.gnu.org/PR90677
14 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
15
16 4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch | 44 ++++++++++++++++++++++++++++
17 4.0.4/gentoo/README.history | 1 +
18 4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch | 44 ++++++++++++++++++++++++++++
19 4.1.2/gentoo/README.history | 1 +
20 4.2.4/gentoo/96_all_cgraph_node-gcc-9.patch | 44 ++++++++++++++++++++++++++++
21 4.2.4/gentoo/README.history | 1 +
22 4.3.6/gentoo/94_all_cgraph_node-gcc-9.patch | 44 ++++++++++++++++++++++++++++
23 4.3.6/gentoo/README.history | 1 +
24 4.4.7/gentoo/99_all_cgraph_node-gcc-9.patch | 44 ++++++++++++++++++++++++++++
25 4.4.7/gentoo/README.history | 1 +
26 4.5.4/gentoo/102_all_cgraph_node-gcc-9.patch | 22 ++++++++++++++
27 4.5.4/gentoo/README.history | 1 +
28 4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch | 22 ++++++++++++++
29 4.6.4/gentoo/README.history | 1 +
30 14 files changed, 271 insertions(+)
31
32 diff --git a/4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch b/4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch
33 new file mode 100644
34 index 0000000..fe95a0d
35 --- /dev/null
36 +++ b/4.0.4/gentoo/88_all_cgraph_node-gcc-9.patch
37 @@ -0,0 +1,44 @@
38 +The patch is a workaround to build this version of gcc with
39 +gcc-9.1.0: https://gcc.gnu.org/PR90677
40 +
41 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
42 +disallows anything else (function names in this case) to share
43 +'cgraph_node' name.
44 +
45 +Without this patch build fails as:
46 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
47 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
48 + | ^~~~~~~~~~~~~
49 +--- a/gcc/c-tree.h
50 ++++ b/gcc/c-tree.h
51 +@@ -609,7 +609,7 @@ extern void c_write_global_declarations (void);
52 + diagnostic framework extensions, you must include this file before
53 + toplev.h, not after. */
54 + #define GCC_DIAG_STYLE __gcc_cdiag__
55 +-#if GCC_VERSION >= 3005
56 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
57 + #define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
58 + #else
59 + #define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m)
60 +--- a/gcc/pretty-print.h
61 ++++ b/gcc/pretty-print.h
62 +@@ -253,7 +253,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
63 +
64 + /* This header may be included before toplev.h, hence the duplicate
65 + definitions to allow for GCC-specific formats. */
66 +-#if GCC_VERSION >= 3005
67 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
68 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
69 + #else
70 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
71 +--- a/gcc/toplev.h
72 ++++ b/gcc/toplev.h
73 +@@ -52,7 +52,7 @@ extern void _fatal_insn (const char *, rtx, const char *, int, const char *)
74 + specifiers. We must use custom format checks. Note that at present
75 + the front-end %D specifier is used in non-front-end code with some
76 + functions, and those formats can only be checked in front-end code. */
77 +-#if GCC_VERSION >= 3005
78 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
79 + #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
80 + #ifdef NO_FRONT_END_DIAG
81 + #define ATTRIBUTE_GCC_FE_DIAG(m, n) ATTRIBUTE_NONNULL(m)
82
83 diff --git a/4.0.4/gentoo/README.history b/4.0.4/gentoo/README.history
84 index 4d92217..0e98546 100644
85 --- a/4.0.4/gentoo/README.history
86 +++ b/4.0.4/gentoo/README.history
87 @@ -1,5 +1,6 @@
88 1.5 TODO
89 + 87_all_libjava-ucontext.patch
90 + + 88_all_cgraph_node-gcc-9.patch
91
92 1.4 23 Sep 2018
93 + 86_all_ucontext-to-ucontext_t.patch
94
95 diff --git a/4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch b/4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch
96 new file mode 100644
97 index 0000000..92f27a8
98 --- /dev/null
99 +++ b/4.1.2/gentoo/98_all_cgraph_node-gcc-9.patch
100 @@ -0,0 +1,44 @@
101 +The patch is a workaround to build this version of gcc with
102 +gcc-9.1.0: https://gcc.gnu.org/PR90677
103 +
104 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
105 +disallows anything else (function names in this case) to share
106 +'cgraph_node' name.
107 +
108 +Without this patch build fails as:
109 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
110 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
111 + | ^~~~~~~~~~~~~
112 +--- a/gcc/pretty-print.h
113 ++++ b/gcc/pretty-print.h
114 +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
115 +
116 + /* This header may be included before diagnostics-core.h, hence the duplicate
117 + definitions to allow for GCC-specific formats. */
118 +-#if GCC_VERSION >= 3005
119 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
120 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
121 + #else
122 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
123 +--- a/gcc/c-tree.h
124 ++++ b/gcc/c-tree.h
125 +@@ -638,7 +638,7 @@ extern void c_write_global_declarations (void);
126 + /* In order for the format checking to accept the C frontend
127 + diagnostic framework extensions, you must include this file before
128 + toplev.h, not after. */
129 +-#if GCC_VERSION >= 4001
130 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
131 + #define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
132 + #else
133 + #define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m)
134 +--- a/gcc/toplev.h
135 ++++ b/gcc/toplev.h
136 +@@ -49,7 +49,7 @@ extern void _fatal_insn (const char *, const_rtx, const char *, int, const char
137 + /* None of these functions are suitable for ATTRIBUTE_PRINTF, because
138 + each language front end can extend them with its own set of format
139 + specifiers. We must use custom format checks. */
140 +-#if GCC_VERSION >= 4001
141 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
142 + #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
143 + #else
144 + #define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m)
145
146 diff --git a/4.1.2/gentoo/README.history b/4.1.2/gentoo/README.history
147 index e4b1de7..1a91ef2 100644
148 --- a/4.1.2/gentoo/README.history
149 +++ b/4.1.2/gentoo/README.history
150 @@ -1,5 +1,6 @@
151 1.8 TODO
152 + 97_all_libjava-ucontext.patch
153 + + 98_all_cgraph_node-gcc-9.patch
154
155 1.7 23 Sep 2018
156 + 96_all_ucontext-to-ucontext_t.patch
157
158 diff --git a/4.2.4/gentoo/96_all_cgraph_node-gcc-9.patch b/4.2.4/gentoo/96_all_cgraph_node-gcc-9.patch
159 new file mode 100644
160 index 0000000..92f27a8
161 --- /dev/null
162 +++ b/4.2.4/gentoo/96_all_cgraph_node-gcc-9.patch
163 @@ -0,0 +1,44 @@
164 +The patch is a workaround to build this version of gcc with
165 +gcc-9.1.0: https://gcc.gnu.org/PR90677
166 +
167 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
168 +disallows anything else (function names in this case) to share
169 +'cgraph_node' name.
170 +
171 +Without this patch build fails as:
172 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
173 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
174 + | ^~~~~~~~~~~~~
175 +--- a/gcc/pretty-print.h
176 ++++ b/gcc/pretty-print.h
177 +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
178 +
179 + /* This header may be included before diagnostics-core.h, hence the duplicate
180 + definitions to allow for GCC-specific formats. */
181 +-#if GCC_VERSION >= 3005
182 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
183 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
184 + #else
185 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
186 +--- a/gcc/c-tree.h
187 ++++ b/gcc/c-tree.h
188 +@@ -638,7 +638,7 @@ extern void c_write_global_declarations (void);
189 + /* In order for the format checking to accept the C frontend
190 + diagnostic framework extensions, you must include this file before
191 + toplev.h, not after. */
192 +-#if GCC_VERSION >= 4001
193 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
194 + #define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
195 + #else
196 + #define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m)
197 +--- a/gcc/toplev.h
198 ++++ b/gcc/toplev.h
199 +@@ -49,7 +49,7 @@ extern void _fatal_insn (const char *, const_rtx, const char *, int, const char
200 + /* None of these functions are suitable for ATTRIBUTE_PRINTF, because
201 + each language front end can extend them with its own set of format
202 + specifiers. We must use custom format checks. */
203 +-#if GCC_VERSION >= 4001
204 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
205 + #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
206 + #else
207 + #define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m)
208
209 diff --git a/4.2.4/gentoo/README.history b/4.2.4/gentoo/README.history
210 index 5eef5ee..b36f3e0 100644
211 --- a/4.2.4/gentoo/README.history
212 +++ b/4.2.4/gentoo/README.history
213 @@ -1,6 +1,7 @@
214 1.6 TODO
215 + 94_all_gcc-libgomp-no-werror.patch
216 + 95_all_libjava-ucontext.patch
217 + + 96_all_cgraph_node-gcc-9.patch
218
219 1.5 23 Sep 2018
220 + 93_all_ucontext-to-ucontext_t.patch
221
222 diff --git a/4.3.6/gentoo/94_all_cgraph_node-gcc-9.patch b/4.3.6/gentoo/94_all_cgraph_node-gcc-9.patch
223 new file mode 100644
224 index 0000000..92f27a8
225 --- /dev/null
226 +++ b/4.3.6/gentoo/94_all_cgraph_node-gcc-9.patch
227 @@ -0,0 +1,44 @@
228 +The patch is a workaround to build this version of gcc with
229 +gcc-9.1.0: https://gcc.gnu.org/PR90677
230 +
231 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
232 +disallows anything else (function names in this case) to share
233 +'cgraph_node' name.
234 +
235 +Without this patch build fails as:
236 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
237 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
238 + | ^~~~~~~~~~~~~
239 +--- a/gcc/pretty-print.h
240 ++++ b/gcc/pretty-print.h
241 +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
242 +
243 + /* This header may be included before diagnostics-core.h, hence the duplicate
244 + definitions to allow for GCC-specific formats. */
245 +-#if GCC_VERSION >= 3005
246 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
247 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
248 + #else
249 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
250 +--- a/gcc/c-tree.h
251 ++++ b/gcc/c-tree.h
252 +@@ -638,7 +638,7 @@ extern void c_write_global_declarations (void);
253 + /* In order for the format checking to accept the C frontend
254 + diagnostic framework extensions, you must include this file before
255 + toplev.h, not after. */
256 +-#if GCC_VERSION >= 4001
257 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
258 + #define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
259 + #else
260 + #define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m)
261 +--- a/gcc/toplev.h
262 ++++ b/gcc/toplev.h
263 +@@ -49,7 +49,7 @@ extern void _fatal_insn (const char *, const_rtx, const char *, int, const char
264 + /* None of these functions are suitable for ATTRIBUTE_PRINTF, because
265 + each language front end can extend them with its own set of format
266 + specifiers. We must use custom format checks. */
267 +-#if GCC_VERSION >= 4001
268 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
269 + #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
270 + #else
271 + #define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m)
272
273 diff --git a/4.3.6/gentoo/README.history b/4.3.6/gentoo/README.history
274 index 4422206..d9fdb94 100644
275 --- a/4.3.6/gentoo/README.history
276 +++ b/4.3.6/gentoo/README.history
277 @@ -1,5 +1,6 @@
278 1.4 TODO
279 + 93_all_libjava-ucontext.patch
280 + + 94_all_cgraph_node-gcc-9.patch
281
282 1.3 23 Sep 2018
283 + 92_all_ucontext-to-ucontext_t.patch
284
285 diff --git a/4.4.7/gentoo/99_all_cgraph_node-gcc-9.patch b/4.4.7/gentoo/99_all_cgraph_node-gcc-9.patch
286 new file mode 100644
287 index 0000000..92f27a8
288 --- /dev/null
289 +++ b/4.4.7/gentoo/99_all_cgraph_node-gcc-9.patch
290 @@ -0,0 +1,44 @@
291 +The patch is a workaround to build this version of gcc with
292 +gcc-9.1.0: https://gcc.gnu.org/PR90677
293 +
294 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
295 +disallows anything else (function names in this case) to share
296 +'cgraph_node' name.
297 +
298 +Without this patch build fails as:
299 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
300 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
301 + | ^~~~~~~~~~~~~
302 +--- a/gcc/pretty-print.h
303 ++++ b/gcc/pretty-print.h
304 +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
305 +
306 + /* This header may be included before diagnostics-core.h, hence the duplicate
307 + definitions to allow for GCC-specific formats. */
308 +-#if GCC_VERSION >= 3005
309 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
310 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
311 + #else
312 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
313 +--- a/gcc/c-tree.h
314 ++++ b/gcc/c-tree.h
315 +@@ -638,7 +638,7 @@ extern void c_write_global_declarations (void);
316 + /* In order for the format checking to accept the C frontend
317 + diagnostic framework extensions, you must include this file before
318 + toplev.h, not after. */
319 +-#if GCC_VERSION >= 4001
320 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
321 + #define ATTRIBUTE_GCC_CDIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m ,n))) ATTRIBUTE_NONNULL(m)
322 + #else
323 + #define ATTRIBUTE_GCC_CDIAG(m, n) ATTRIBUTE_NONNULL(m)
324 +--- a/gcc/toplev.h
325 ++++ b/gcc/toplev.h
326 +@@ -49,7 +49,7 @@ extern void _fatal_insn (const char *, const_rtx, const char *, int, const char
327 + /* None of these functions are suitable for ATTRIBUTE_PRINTF, because
328 + each language front end can extend them with its own set of format
329 + specifiers. We must use custom format checks. */
330 +-#if GCC_VERSION >= 4001
331 ++#if (GCC_VERSION >= 4001) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
332 + #define ATTRIBUTE_GCC_DIAG(m, n) __attribute__ ((__format__ (GCC_DIAG_STYLE, m, n))) ATTRIBUTE_NONNULL(m)
333 + #else
334 + #define ATTRIBUTE_GCC_DIAG(m, n) ATTRIBUTE_NONNULL(m)
335
336 diff --git a/4.4.7/gentoo/README.history b/4.4.7/gentoo/README.history
337 index fd69b51..4975a3b 100644
338 --- a/4.4.7/gentoo/README.history
339 +++ b/4.4.7/gentoo/README.history
340 @@ -1,5 +1,6 @@
341 1.5 TODO
342 + 98_all_libjava-ucontext.patch
343 + + 99_all_cgraph_node-gcc-9.patch
344
345 1.4 23 Sep 2018
346 U 93_all_gcc-4.4-cloog-dl.patch
347
348 diff --git a/4.5.4/gentoo/102_all_cgraph_node-gcc-9.patch b/4.5.4/gentoo/102_all_cgraph_node-gcc-9.patch
349 new file mode 100644
350 index 0000000..77c9a1d
351 --- /dev/null
352 +++ b/4.5.4/gentoo/102_all_cgraph_node-gcc-9.patch
353 @@ -0,0 +1,22 @@
354 +The patch is a workaround to build this version of gcc with
355 +gcc-9.1.0: https://gcc.gnu.org/PR90677
356 +
357 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
358 +disallows anything else (function names in this case) to share
359 +'cgraph_node' name.
360 +
361 +Without this patch build fails as:
362 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
363 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
364 + | ^~~~~~~~~~~~~
365 +--- a/gcc/pretty-print.h
366 ++++ b/gcc/pretty-print.h
367 +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
368 +
369 + /* This header may be included before diagnostics-core.h, hence the duplicate
370 + definitions to allow for GCC-specific formats. */
371 +-#if GCC_VERSION >= 3005
372 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
373 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
374 + #else
375 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
376
377 diff --git a/4.5.4/gentoo/README.history b/4.5.4/gentoo/README.history
378 index 851fc67..5155ed5 100644
379 --- a/4.5.4/gentoo/README.history
380 +++ b/4.5.4/gentoo/README.history
381 @@ -1,5 +1,6 @@
382 1.5 TODO
383 + 101_all_libjava-ucontext.patch
384 + + 102_all_cgraph_node-gcc-9.patch
385
386 1.4 23 Sep 2018
387 U 93_all_gcc-4.5-cloog-dl.patch
388
389 diff --git a/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch b/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch
390 new file mode 100644
391 index 0000000..77c9a1d
392 --- /dev/null
393 +++ b/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch
394 @@ -0,0 +1,22 @@
395 +The patch is a workaround to build this version of gcc with
396 +gcc-9.1.0: https://gcc.gnu.org/PR90677
397 +
398 +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and
399 +disallows anything else (function names in this case) to share
400 +'cgraph_node' name.
401 +
402 +Without this patch build fails as:
403 +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type
404 + 322 | ATTRIBUTE_GCC_PPDIAG(2,3);
405 + | ^~~~~~~~~~~~~
406 +--- a/gcc/pretty-print.h
407 ++++ b/gcc/pretty-print.h
408 +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
409 +
410 + /* This header may be included before diagnostics-core.h, hence the duplicate
411 + definitions to allow for GCC-specific formats. */
412 +-#if GCC_VERSION >= 3005
413 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
414 + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
415 + #else
416 + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
417
418 diff --git a/4.6.4/gentoo/README.history b/4.6.4/gentoo/README.history
419 index af8339f..247ea24 100644
420 --- a/4.6.4/gentoo/README.history
421 +++ b/4.6.4/gentoo/README.history
422 @@ -1,6 +1,7 @@
423 1.5 TODO
424 + 95_all_libjava-ucontext.patch
425 + 96_all_gcc-gperf-gnu-inline.patch
426 + + 97_all_cgraph_node-gcc-9.patch
427
428 1.4 23 Sep 2018
429 - 10_all_default-fortify-source.patch