Bug 96206

Summary: internal compiler error: in convert_move, at expr.c:218
Product: gcc Reporter: Enrico Zini <enrico>
Component: targetAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED INVALID    
Severity: normal CC: marxin, webrown.cpp
Priority: P3 Keywords: ice-on-valid-code, needs-reduction
Version: 8.3.0   
Target Milestone: ---   
Host: Target: arm
Build: Known to work:
Known to fail: Last reconfirmed: 2020-07-23 00:00:00
Attachments: File that causes the ICE, preprocessed

Description Enrico Zini 2020-07-15 14:35:23 UTC
Created attachment 48878 [details]
File that causes the ICE, preprocessed

Hello,

thank you all for g++!

I get an ICE while trying to cross-compile the attached file with -O2:

$ /usr/bin/arm-linux-gnueabihf-g++    -O2   -c gcc-ice.cc -o /tmp/gcc-ice.o
during RTL pass: expand
gcc-ice.cc: In function ‘void baseline::exec_ops(const Op*, const void**, const char*, char*, int)’:
gcc-ice.cc:5142:13: internal compiler error: in convert_move, at expr.c:218
 static void exec_ops(const Op* ops, const void** args,
             ^~~~~~~~
0x7ff9d453c09a __libc_start_main
	../csu/libc-start.c:308
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-8/README.Bugs> for instructions.

$ /usr/bin/arm-linux-gnueabihf-g++ --version
arm-linux-gnueabihf-g++ (Debian 8.3.0-2) 8.3.0


The source compiles fine with g++ 9.2.1.


Regards,

Enrico
Comment 1 Martin Liška 2020-07-23 10:52:53 UTC
I can't reproduce that with the current GCC 8 branch.
Can you please check 8.4.0 release?
Comment 2 Enrico Zini 2020-07-26 12:11:24 UTC
Unfortunately I do not have access to gcc 8.4.0.

I also found a workaround for the ICE that allowed me to unblock the next step of an immense yak shaving quest to compile Qt5: https://www.enricozini.org/blog/2020/qt5/build-qt5-cross-builder-with-raspbian-sysroot-compiling-with-the-sysroot/

I can try to provide help here if I can, but if it's fixed in 9.x and apparently also in 8.4.x, and the case where it happens (building a Qt5 cross-build environment including qtwebengine on Debian stable) can be worked around that easily, I might not have that much energy to invest following this up.
Comment 3 Martin Liška 2020-07-29 09:08:50 UTC
(In reply to Enrico Zini from comment #2)
> Unfortunately I do not have access to gcc 8.4.0.
> 
> I also found a workaround for the ICE that allowed me to unblock the next
> step of an immense yak shaving quest to compile Qt5:
> https://www.enricozini.org/blog/2020/qt5/build-qt5-cross-builder-with-
> raspbian-sysroot-compiling-with-the-sysroot/
> 
> I can try to provide help here if I can, but if it's fixed in 9.x and
> apparently also in 8.4.x, and the case where it happens (building a Qt5
> cross-build environment including qtwebengine on Debian stable) can be
> worked around that easily, I might not have that much energy to invest
> following this up.

Agree. I'm pretty sure the issue is fixed in newer versions of the GCC.
Feel free to reopen the issue if that isn't the case.