1 |
commit: 2886ab1e3c924cd8b82354ab1e7011f0a1e3f40d |
2 |
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 1 17:13:42 2019 +0000 |
4 |
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 1 17:14:10 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2886ab1e |
7 |
|
8 |
sys-devel/gcc: fix ia64 bootstrap |
9 |
|
10 |
On ia64 stage2/3 comparison fails due to label wibble. |
11 |
|
12 |
Bug: https://gcc.gnu.org/87338 |
13 |
Package-Manager: Portage-2.3.66, Repoman-2.3.12 |
14 |
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> |
15 |
|
16 |
sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch | 41 ++++++++++++++++++++++ |
17 |
sys-devel/gcc/gcc-8.2.0-r6.ebuild | 5 +++ |
18 |
sys-devel/gcc/gcc-8.3.0-r1.ebuild | 5 +++ |
19 |
3 files changed, 51 insertions(+) |
20 |
|
21 |
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 |
22 |
new file mode 100644 |
23 |
index 00000000000..0a0a25b5655 |
24 |
--- /dev/null |
25 |
+++ b/sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch |
26 |
@@ -0,0 +1,41 @@ |
27 |
+https://gcc.gnu.org/PR87338 |
28 |
+ |
29 |
+From 1cc1dc32fcf6b47db4e6d28f55de343713f824a4 Mon Sep 17 00:00:00 2001 |
30 |
+From: James Clarke <jrtc27@××××××.com> |
31 |
+Date: Thu, 25 Apr 2019 15:58:55 +0200 |
32 |
+Subject: [PATCH] PR bootstrap/87338: Fix ia64 bootstrap comparison regression |
33 |
+ in r257511 |
34 |
+To: gcc-patches@×××××××.org |
35 |
+ |
36 |
+By using ASM_OUTPUT_LABEL, r257511 forced the assembler to start a new |
37 |
+bundle when emitting an inline entry label on. Instead, use |
38 |
+ASM_OUTPUT_DEBUG_LABEL like for the block begin and end labels so tags are |
39 |
+emitted rather than labels. |
40 |
+ |
41 |
+gcc/ |
42 |
+ PR bootstrap/87338 |
43 |
+ * dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL |
44 |
+ instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL. |
45 |
+--- |
46 |
+ gcc/dwarf2out.c | 7 ++----- |
47 |
+ 1 file changed, 2 insertions(+), 5 deletions(-) |
48 |
+ |
49 |
+--- a/gcc/dwarf2out.c |
50 |
++++ b/gcc/dwarf2out.c |
51 |
+@@ -27670,11 +27670,8 @@ dwarf2out_inline_entry (tree block) |
52 |
+ if (cur_line_info_table) |
53 |
+ ied->view = cur_line_info_table->view; |
54 |
+ |
55 |
+- char label[MAX_ARTIFICIAL_LABEL_BYTES]; |
56 |
+- |
57 |
+- ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_INLINE_ENTRY_LABEL, |
58 |
+- BLOCK_NUMBER (block)); |
59 |
+- ASM_OUTPUT_LABEL (asm_out_file, label); |
60 |
++ ASM_OUTPUT_DEBUG_LABEL (asm_out_file, BLOCK_INLINE_ENTRY_LABEL, |
61 |
++ BLOCK_NUMBER (block)); |
62 |
+ } |
63 |
+ |
64 |
+ /* Called from finalize_size_functions for size functions so that their body |
65 |
+-- |
66 |
+1.8.5.3 |
67 |
+ |
68 |
|
69 |
diff --git a/sys-devel/gcc/gcc-8.2.0-r6.ebuild b/sys-devel/gcc/gcc-8.2.0-r6.ebuild |
70 |
index be3cfb4e292..08707ae05af 100644 |
71 |
--- a/sys-devel/gcc/gcc-8.2.0-r6.ebuild |
72 |
+++ b/sys-devel/gcc/gcc-8.2.0-r6.ebuild |
73 |
@@ -18,3 +18,8 @@ DEPEND="${RDEPEND} |
74 |
if [[ ${CATEGORY} != cross-* ]] ; then |
75 |
PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" |
76 |
fi |
77 |
+ |
78 |
+src_prepare() { |
79 |
+ toolchain_src_prepare |
80 |
+ epatch "${FILESDIR}"/gcc-8.3.0-ia64-bootstrap.patch |
81 |
+} |
82 |
|
83 |
diff --git a/sys-devel/gcc/gcc-8.3.0-r1.ebuild b/sys-devel/gcc/gcc-8.3.0-r1.ebuild |
84 |
index aa06c78b543..4ccee806e93 100644 |
85 |
--- a/sys-devel/gcc/gcc-8.3.0-r1.ebuild |
86 |
+++ b/sys-devel/gcc/gcc-8.3.0-r1.ebuild |
87 |
@@ -17,3 +17,8 @@ DEPEND="${RDEPEND} |
88 |
if [[ ${CATEGORY} != cross-* ]] ; then |
89 |
PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )" |
90 |
fi |
91 |
+ |
92 |
+src_prepare() { |
93 |
+ toolchain_src_prepare |
94 |
+ eapply "${FILESDIR}"/gcc-8.3.0-ia64-bootstrap.patch |
95 |
+} |