https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81100
Bug ID: 81100
Summary: ICE from x86 __asm__() statck manipulation
Product: gcc
Version: 6.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: lindsay at arista dot com
Target Milestone: ---
Created attachment 41553
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41553&action=edit
Preprocessed source left when ICE occurred
Using gcc-6.3.1-1.fc25.x86_64, the command:
/usr/bin/gcc -g -pipe -fPIC -march=i686 -m32 -c test2.c
resulted in:
------------
test2.c: In function ‘main’:
test2.c:31:1: internal compiler error: in print_reg, at
config/i386/i386.c:16601
}
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
{standard input}: Assembler messages:
{standard input}: Warning: end of file not at end of a line; newline inserted
{standard input}:45: Error: unbalanced parenthesis in operand 2.
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc
directive
Preprocessed source stored into /tmp/cc48P0WJ.out file, please attach this to
your bugreport.
----------
I attach the .out file. As you can see, this is already a cutdown, which mostly
consists of an __asm__() that plays games with the x86 stack pointer. The full
original was working code, but we hit the ICE when we tried to upgrade to a
newer GCC.
This might be related to bug 80367. A quick look didn't find any other
candidates.