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.cowgill@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.cowgill@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
Attachment:
signature.asc
Description: OpenPGP digital signature