diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2019-05-01 18:13:42 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2019-05-01 18:14:10 +0100 |
commit | 2886ab1e3c924cd8b82354ab1e7011f0a1e3f40d (patch) | |
tree | 40bffb86f5bdf1e1df8c6e672cb9cfac0450a930 /sys-devel | |
parent | dev-python/ipython: make notebook dep actually optional (diff) | |
download | gentoo-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')
-rw-r--r-- | sys-devel/gcc/files/gcc-8.3.0-ia64-bootstrap.patch | 41 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-8.2.0-r6.ebuild | 5 | ||||
-rw-r--r-- | sys-devel/gcc/gcc-8.3.0-r1.ebuild | 5 |
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 +} |