Bug 1917254

Summary: [eln] ICE when compiling SDL2 - "Error: open CFI at the end of file; missing .cfi_endproc directive"
Product: [Fedora] Fedora Reporter: Tomas Popela <tpopela>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: aoliva, dhorak, dmalcolm, fweimer, jakub, jwakely, kwizart, law, mpolacek, msebor, nickc, sipoyare
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-01-18 08:34:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
SDL_yuv.c
none
yuv_rgb.c none

Description Tomas Popela 2021-01-18 08:10:27 UTC
Only happening on x86_64 (see https://koji.fedoraproject.org/koji/taskinfo?taskID=59936807) and output from the build with annobin disabled (https://koji.fedoraproject.org/koji/taskinfo?taskID=59937438) with gcc-11.0.0-0.13.eln108:


libtool: compile:  gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DUSING_GENERATED_CONFIG_H -Iinclude -I/builddir/build/BUILD/SDL2-2.0.12/include -idirafter /builddir/build/BUILD/SDL2-2.0.12/src/video/khronos -mmmx -m3dnow -msse -Wall -fno-strict-aliasing -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -D_REENTRANT -I/usr/include/libdrm -Igen -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/ibus-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/p11-kit-1 -pthread -I/usr/include/libmount -I/usr/include/blkid -D_REENTRANT -DHAVE_LINUX_VERSION_H -c /builddir/build/BUILD/SDL2-2.0.12/src/video/SDL_yuv.c  -fPIC -DPIC -o build/.libs/SDL_yuv.o
/builddir/build/BUILD/SDL2-2.0.12/src/video/SDL_yuv.c: In function 'SDL_ConvertPixels_YUY2_to_UYVY':
/builddir/build/BUILD/SDL2-2.0.12/src/video/SDL_yuv.c:1285:1: error: could not split insn
 1285 | }
      | ^
(insn:TI 137 494 625 12 (set (reg:V16QI 21 xmm1 [150])
        (vec_select:V16QI (vec_concat:V32QI (mem:V16QI (plus:DI (reg/v/f:DI 3 bx [orig:131 src ] [131])
                        (reg:DI 0 ax [orig:126 ivtmp.516 ] [126])) [0 MEM[(const __m128i_u * {ref-all})srcYUV_81 + ivtmp.516_111 * 1]+0 S16 A8])
                (const_vector:V16QI [
                        (const_int 0 [0]) repeated x16
                    ]))
            (parallel [
                    (const_int 0 [0])
                    (const_int 16 [0x10])
                    (const_int 1 [0x1])
                    (const_int 17 [0x11])
                    (const_int 2 [0x2])
                    (const_int 18 [0x12])
                    (const_int 3 [0x3])
                    (const_int 19 [0x13])
                    (const_int 4 [0x4])
                    (const_int 20 [0x14])
                    (const_int 5 [0x5])
                    (const_int 21 [0x15])
                    (const_int 6 [0x6])
                    (const_int 22 [0x16])
                    (const_int 7 [0x7])
                    (const_int 23 [0x17])
                ]))) "/usr/lib/gcc/x86_64-redhat-linux/11/include/emmintrin.h":1031:19 4492 {*sse4_1_zero_extendv8qiv8hi2_3}
     (nil))
during RTL pass: final
/builddir/build/BUILD/SDL2-2.0.12/src/video/SDL_yuv.c:1285:1: internal compiler error: in final_scan_insn_1, at final.c:3091
0x14a20cd diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t)
	???:0
0xf097a9 internal_error(char const*, ...)
	???:0
0xf097e5 fancy_abort(char const*, int, char const*)
	???:0
0x8415cc _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
	???:0
0x6fb8e1 final_scan_insn_1(rtx_insn*, _IO_FILE*, int, int, int*) [clone .constprop.0] [clone .cold]
	???:0
0x1002c75 final_1(rtx_insn*, _IO_FILE*, int, int)
	???:0
0x137911d (anonymous namespace)::pass_final::execute(function*)
	???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
{standard input}: Assembler messages:
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
The bug is not reproducible, so it is likely a hardware or OS problem.



libtool: compile:  gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DUSING_GENERATED_CONFIG_H -Iinclude -I/builddir/build/BUILD/SDL2-2.0.12/include -idirafter /builddir/build/BUILD/SDL2-2.0.12/src/video/khronos -mmmx -m3dnow -msse -Wall -fno-strict-aliasing -fvisibility=hidden -Wdeclaration-after-statement -Werror=declaration-after-statement -D_REENTRANT -I/usr/include/libdrm -Igen -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/ibus-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/p11-kit-1 -pthread -I/usr/include/libmount -I/usr/include/blkid -D_REENTRANT -DHAVE_LINUX_VERSION_H -c /builddir/build/BUILD/SDL2-2.0.12/src/video/yuv2rgb/yuv_rgb.c  -fPIC -DPIC -o build/.libs/yuv_rgb.o
In file included from /builddir/build/BUILD/SDL2-2.0.12/src/video/yuv2rgb/yuv_rgb.c:252:
/builddir/build/BUILD/SDL2-2.0.12/src/video/yuv2rgb/yuv_rgb_sse_func.h: In function 'yuv420_rgb565_sse':
/builddir/build/BUILD/SDL2-2.0.12/src/video/yuv2rgb/yuv_rgb_sse_func.h:478:1: error: could not split insn
  478 | }
      | ^
(insn:TI 243 3013 3670 6 (set (reg:V16QI 25 xmm5 [555])
        (vec_select:V16QI (vec_concat:V32QI (mem:V16QI (plus:DI (reg/v/f:DI 38 r10 [orig:104 u_ptr ] [104])
                        (reg:DI 0 ax [orig:419 ivtmp.1077 ] [419])) [0 MEM[(const __m128i_u * {ref-all})u_ptr_68 + ivtmp.1077_452 * 1]+0 S16 A8])
                (const_vector:V16QI [
                        (const_int 0 [0]) repeated x16
                    ]))
            (parallel [
                    (const_int 0 [0])
                    (const_int 16 [0x10])
                    (const_int 1 [0x1])
                    (const_int 17 [0x11])
                    (const_int 2 [0x2])
                    (const_int 18 [0x12])
                    (const_int 3 [0x3])
                    (const_int 19 [0x13])
                    (const_int 4 [0x4])
                    (const_int 20 [0x14])
                    (const_int 5 [0x5])
                    (const_int 21 [0x15])
                    (const_int 6 [0x6])
                    (const_int 22 [0x16])
                    (const_int 7 [0x7])
                    (const_int 23 [0x17])
                ]))) "/usr/lib/gcc/x86_64-redhat-linux/11/include/emmintrin.h":1031:19 4492 {*sse4_1_zero_extendv8qiv8hi2_3}
     (nil))
during RTL pass: final
/builddir/build/BUILD/SDL2-2.0.12/src/video/yuv2rgb/yuv_rgb_sse_func.h:478:1: internal compiler error: in final_scan_insn_1, at final.c:3091
0x14a20cd diagnostic_impl(rich_location*, diagnostic_metadata const*, int, char const*, __va_list_tag (*) [1], diagnostic_t)
	???:0
0xf097a9 internal_error(char const*, ...)
	???:0
0xf097e5 fancy_abort(char const*, int, char const*)
	???:0
0x8415cc _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
	???:0
0x6fb8e1 final_scan_insn_1(rtx_insn*, _IO_FILE*, int, int, int*) [clone .constprop.0] [clone .cold]
	???:0
0x1002c75 final_1(rtx_insn*, _IO_FILE*, int, int)
	???:0
0x137911d (anonymous namespace)::pass_final::execute(function*)
	???:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
{standard input}: Assembler messages:
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
The bug is not reproducible, so it is likely a hardware or OS problem.

(I will attach a preprocessed source, once I have it)

Comment 1 Jakub Jelinek 2021-01-18 08:13:51 UTC
This ought to be fixed in gcc-11.0.0-0.14.fc34 already.

Comment 2 Tomas Popela 2021-01-18 08:19:05 UTC
Created attachment 1748385 [details]
SDL_yuv.c

Comment 3 Tomas Popela 2021-01-18 08:19:53 UTC
Created attachment 1748386 [details]
yuv_rgb.c

Comment 4 Dan HorĂ¡k 2021-01-18 08:26:22 UTC
the -0.14 gcc landed in ELN only a moment ago

Comment 5 Tomas Popela 2021-01-18 08:34:01 UTC
Can confirm that with -0.14 it builds successfully. Thanks!

Comment 6 Nicolas Chauvet (kwizart) 2021-01-24 10:13:31 UTC
We may have a similar issue on aarch64 (and f33), I've filled a separate report at
https://bugzilla.redhat.com/show_bug.cgi?id=1919634
There I'm using gcc-11.0.0-0.16.fc34 and gcc-10.2.1-9.fc33