summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2019-05-01 18:13:42 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2019-05-01 18:14:10 +0100
commit2886ab1e3c924cd8b82354ab1e7011f0a1e3f40d (patch)
tree40bffb86f5bdf1e1df8c6e672cb9cfac0450a930 /sys-devel/gcc
parentdev-python/ipython: make notebook dep actually optional (diff)
downloadgentoo-2886ab1e3c924cd8b82354ab1e7011f0a1e3f40d.tar.gz
gentoo-2886ab1e3c924cd8b82354ab1e7011f0a1e3f40d.tar.bz2
gentoo-2886ab1e3c924cd8b82354ab1e7011f0a1e3f40d.zip
sys-devel/gcc: fix ia64 bootstrap
On ia64 stage2/3 comparison fails due to label wibble. Bug: https://gcc.gnu.org/87338 Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'sys-devel/gcc')
-rw-r--r--sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch41
-rw-r--r--sys-devel/gcc/gcc-8.2.0-r6.ebuild5
-rw-r--r--sys-devel/gcc/gcc-8.3.0-r1.ebuild5
3 files changed, 51 insertions, 0 deletions
diff --git a/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch b/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch
new file mode 100644
index 000000000000..0a0a25b56555
--- /dev/null
+++ b/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch
@@ -0,0 +1,41 @@
+https://gcc.gnu.org/PR87338
+
+From 1cc1dc32fcf6b47db4e6d28f55de343713f824a4 Mon Sep 17 00:00:00 2001
+From: James Clarke <jrtc27@jrtc27.com>
+Date: Thu, 25 Apr 2019 15:58:55 +0200
+Subject: [PATCH] PR bootstrap/87338: Fix ia64 bootstrap comparison regression
+ in r257511
+To: gcc-patches@gcc.gnu.org
+
+By using ASM_OUTPUT_LABEL, r257511 forced the assembler to start a new
+bundle when emitting an inline entry label on. Instead, use
+ASM_OUTPUT_DEBUG_LABEL like for the block begin and end labels so tags are
+emitted rather than labels.
+
+gcc/
+ PR bootstrap/87338
+ * dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL
+ instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL.
+---
+ gcc/dwarf2out.c | 7 ++-----
+ 1 file changed, 2 insertions(+), 5 deletions(-)
+
+--- a/gcc/dwarf2out.c
++++ b/gcc/dwarf2out.c
+@@ -27670,11 +27670,8 @@ dwarf2out_inline_entry (tree block)
+ if (cur_line_info_table)
+ ied->view = cur_line_info_table->view;
+
+- char label[MAX_ARTIFICIAL_LABEL_BYTES];
+-
+- ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_INLINE_ENTRY_LABEL,
+- BLOCK_NUMBER (block));
+- ASM_OUTPUT_LABEL (asm_out_file, label);
++ ASM_OUTPUT_DEBUG_LABEL (asm_out_file, BLOCK_INLINE_ENTRY_LABEL,
++ BLOCK_NUMBER (block));
+ }
+
+ /* Called from finalize_size_functions for size functions so that their body
+--
+1.8.5.3
+
diff --git a/sys-devel/gcc/gcc-8.2.0-r6.ebuild b/sys-devel/gcc/gcc-8.2.0-r6.ebuild
index be3cfb4e2926..08707ae05afe 100644
--- a/sys-devel/gcc/gcc-8.2.0-r6.ebuild
+++ b/sys-devel/gcc/gcc-8.2.0-r6.ebuild
@@ -18,3 +18,8 @@ DEPEND="${RDEPEND}
if [[ ${CATEGORY} != cross-* ]] ; then
PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
fi
+
+src_prepare() {
+ toolchain_src_prepare
+ epatch "${FILESDIR}"/gcc-8.3.0-ia64-bootstrap.patch
+}
diff --git a/sys-devel/gcc/gcc-8.3.0-r1.ebuild b/sys-devel/gcc/gcc-8.3.0-r1.ebuild
index aa06c78b543d..4ccee806e938 100644
--- a/sys-devel/gcc/gcc-8.3.0-r1.ebuild
+++ b/sys-devel/gcc/gcc-8.3.0-r1.ebuild
@@ -17,3 +17,8 @@ DEPEND="${RDEPEND}
if [[ ${CATEGORY} != cross-* ]] ; then
PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
fi
+
+src_prepare() {
+ toolchain_src_prepare
+ eapply "${FILESDIR}"/gcc-8.3.0-ia64-bootstrap.patch
+}