diff options
Diffstat (limited to '4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch')
-rw-r--r-- | 4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch | 22 |
1 files changed, 22 insertions, 0 deletions
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 new file mode 100644 index 0000000..77c9a1d --- /dev/null +++ b/4.6.4/gentoo/97_all_cgraph_node-gcc-9.patch @@ -0,0 +1,22 @@ +The patch is a workaround to build this version of gcc with +gcc-9.1.0: https://gcc.gnu.org/PR90677 + +There gcc-9.1.0 pinned 'cgraph_node' to a wired-in type and +disallows anything else (function names in this case) to share +'cgraph_node' name. + +Without this patch build fails as: +gcc-4.6.4/gcc/pretty-print.h:322:6: error: 'cgraph_node' is not defined as a type + 322 | ATTRIBUTE_GCC_PPDIAG(2,3); + | ^~~~~~~~~~~~~ +--- a/gcc/pretty-print.h ++++ b/gcc/pretty-print.h +@@ -305,7 +305,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *); + + /* This header may be included before diagnostics-core.h, hence the duplicate + definitions to allow for GCC-specific formats. */ +-#if GCC_VERSION >= 3005 ++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9001) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */ + #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m) + #else + #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m) |