Control: tags -1 patch Hi,
On 07/11/17 13:45, James Cowgill wrote: > Control: forwarded -1 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82880 > > Hi, > > On 06/11/17 18:07, James Cowgill wrote: >> On 06/11/17 12:11, Adrian Bunk wrote: >>> Package: gcc-7 >>> Version: 7.2.0-12 >>> Severity: serious >>> Control: affects -1 src:amanda >>> >>> https://buildd.debian.org/status/package.php?p=amanda&suite=sid >>> >>> ... >>> checking for gcc flag -fstrict-aliasing... >>> E: Build killed with signal TERM after 360 minutes of inactivity >>> >>> >>> Testcase: >>> >>> (sid_mips-dchroot)bunk@minkus:~$ gcc --help=target --help=optimizers >> >> Bisected to this commit, but I don't know how far that helps us. >> Probably some mips specific option blows up. > > I've filed a bug upstream with some more details. Indeed a mips > optimization pass being registered twice caused the infinite loop, but I > currently think the mips specific code is being called incorrectly and > there needs to be a generic fix. > > I posted a workaround patch in the upstream bug report. I was about to post the patch upstream, but I have just been reminded that the FSF paperwork for the new MIPS company hasn't gone through yet (since I don't work for Imagination anymore - it's all very fun), so I'm not allowed to post it yet. Here's what I was about to send. James
From dcbbf8b94831616203731ee8be9b40817aa6695f Mon Sep 17 00:00:00 2001 From: James Cowgill <james.cowg...@mips.com> Date: Tue, 14 Nov 2017 12:18:37 +0000 Subject: [PATCH] MIPS: remove static specifier from register_pass_info struct This fixes PR 82880 (where gcc --help --help hangs) by ensuring that if mips_register_frame_header_opt is called twice, the second call to register_pass gets a different instance of register_pass_info. 2017-11-14 James Cowgill <james.cowg...@mips.com> PR target/82880 * config/mips/frame-header-opt.c (mips_register_frame_header_opt): Remove static specifier from f. --- gcc/config/mips/frame-header-opt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/mips/frame-header-opt.c b/gcc/config/mips/frame-header-opt.c index 76930792e92..0ebf377d046 100644 --- a/gcc/config/mips/frame-header-opt.c +++ b/gcc/config/mips/frame-header-opt.c @@ -99,7 +99,7 @@ void mips_register_frame_header_opt (void) { opt_pass *p = make_pass_ipa_frame_header_opt (g); - static struct register_pass_info f = + struct register_pass_info f = {p, "comdats", 1, PASS_POS_INSERT_AFTER }; register_pass (&f); } -- 2.15.0
signature.asc
Description: OpenPGP digital signature