From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28994 invoked by alias); 26 Jul 2014 20:03:05 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 28917 invoked by uid 48); 26 Jul 2014 20:03:01 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug debug/61923] New: [4.8/4.9/4.10 Regression] -fcompare-debug errors while building Linux kernel. Date: Sat, 26 Jul 2014 20:03:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: debug X-Bugzilla-Version: 4.8.3 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-07/txt/msg01748.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61923 Bug ID: 61923 Summary: [4.8/4.9/4.10 Regression] -fcompare-debug errors while building Linux kernel. Product: gcc Version: 4.8.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Building the Linux kernel with "GCC_COMPARE_DEBUG=1 make" hits several failures. markus@x4 tmp % cat inode.i typedef struct { struct { struct { char head; } tickets; }; } arch_spinlock_t; struct ext4_map_blocks { int m_lblk; int m_len; int m_flags; }; int ext4_da_map_blocks_ei_0; void fn1 (int p1, struct ext4_map_blocks *p2) { int ret; if (p2->m_flags) { ext4_da_map_blocks_ei_0++; arch_spinlock_t *lock; switch (sizeof *&lock->tickets.head) case 1: asm("" : "+m"(*&lock->tickets.head) : ""(0)); __asm__(""); ret = 0; } fn2 (p2->m_lblk, p2->m_len); } markus@x4 tmp % gcc -c -O2 -fcompare-debug inode.i --save-temps gcc: error: inode.i: -fcompare-debug failure (length) markus@x4 tmp % diff -u inode.gkd inode.gk.gkd --- inode.gkd 2014-07-26 22:01:20.578062879 +0200 +++ inode.gk.gkd 2014-07-26 22:01:20.598062450 +0200 @@ -82,7 +82,7 @@ (expr_list:REG_EQUIV (mem:SI (plus:DI (reg/v/f:DI 0 ax [orig:90 p2 ] [90]) (const_int 4 [0x4])) [ p2_3(D)->m_len+0 S4 A32]) (nil))) -(insn:TI# 0 0 4 (set (reg:SI 5 di) +(insn# 0 0 4 (set (reg:SI 5 di) (mem:SI (reg/v/f:DI 0 ax [orig:90 p2 ] [90]) [ p2_3(D)->m_lblk+0 S4 A32])) inode.i:31# {*movsi_internal} (expr_list:REG_DEAD (reg/v/f:DI 0 ax [orig:90 p2 ] [90]) (nil)))