From 11394311b10927f4d3ec97069e3e511029f00567 Mon Sep 17 00:00:00 2001 From: jbeich Date: Wed, 27 Mar 2019 11:01:21 +0000 Subject: [PATCH] multimedia/dav1d: disallow Clang LTO on x86 dav1d 0.2.1 - by VideoLAN Decoded 1/150 frames (0.7%)Process 84877 stopped * thread #1, name = 'dav1d', stop reason = signal SIGBUS: hardware error frame #0: 0x000000080028c1f5 libdav1d.so.1`..@26262.end + 101 libdav1d.so.1`..@26262.end: -> 0x80028c1f5 <+101>: vmovdqa %ymm15, (%rsp) 0x80028c1fa <+106>: callq 0x80028baa0 ; ..@25257.end 0x80028c1ff <+111>: vpbroadcastd -0x74(%rax), %ymm1 0x80028c205 <+117>: vpmulhrsw %ymm1, %ymm6, %ymm6 (lldb) reg read rsp rsp = 0x00007fffffffc030 (lldb) bt * thread #1, name = 'dav1d', stop reason = signal SIGBUS: hardware error * frame #0: 0x000000080028c1f5 libdav1d.so.1`..@26262.end + 101 frame #1: 0x00000008002f605c libdav1d.so.1`read_coef_tree(t=0x0000000800e0f840, bs=BS_16x16, b=0x00007fffffffc630, ytx=2, depth=0, tx_split=0x00007fffffffc644, x_off=0, y_off=0, dst="wwvvvuttuvwxyyxz") at recon_tmpl.c:356:17 frame #2: 0x00000008002fd3cb libdav1d.so.1`dav1d_recon_b_inter_8bpc(t=0x0000000800e0f840, bs=BS_16x16, b=0x00007fffffffc630) at recon_tmpl.c:1510:21 frame #3: 0x00000008002c1180 libdav1d.so.1`decode_b(t=0x0000000800e0f840, bl=BL_16X16, bs=BS_16x16, bp=PARTITION_NONE, intra_edge_flags=0) at decode.c:1855:17 frame #4: 0x00000008002b65d0 libdav1d.so.1`decode_sb(t=0x0000000800e0f840, bl=BL_16X16, node=0x00000008007faf10) at decode.c:2040:17 frame #5: 0x00000008002b68a8 libdav1d.so.1`decode_sb(t=0x0000000800e0f840, bl=BL_32X32, node=0x00000008007f8e20) at decode.c:2084:21 frame #6: 0x00000008002b6924 libdav1d.so.1`decode_sb(t=0x0000000800e0f840, bl=BL_64X64, node=0x00000008007f85a0) at decode.c:2091:21 frame #7: 0x00000008002b6924 libdav1d.so.1`decode_sb(t=0x0000000800e0f840, bl=BL_128X128, node=0x00000008007f8380) at decode.c:2091:21 frame #8: 0x00000008002b5fce libdav1d.so.1`dav1d_decode_tile_sbrow(t=0x0000000800e0f840) at decode.c:2542:13 frame #9: 0x00000008002cb1ab libdav1d.so.1`dav1d_decode_frame(f=0x0000000800e00000) at decode.c:2916:29 frame #10: 0x00000008002cd477 libdav1d.so.1`dav1d_submit_frame(c=0x00000008007f5280) at decode.c:3374:20 frame #11: 0x00000008002b1433 libdav1d.so.1`dav1d_parse_obus(c=0x00000008007f5280, in=0x00000008007f52e8, global=0) at obu.c:1490:24 frame #12: 0x000000080032f786 libdav1d.so.1`dav1d_get_picture(c=0x00000008007f5280, out=0x00007fffffffe048) at lib.c:359:15 frame #13: 0x00000000002035ee dav1d`main(argc=7, argv=0x00007fffffffe250) at dav1d.c:139:20 frame #14: 0x000000000020310f dav1d`_start(ap=, cleanup=) at crt1.c:76:7 Reported by: Mozilla --- multimedia/dav1d/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/multimedia/dav1d/Makefile b/multimedia/dav1d/Makefile index 8b9052b3eecb..e136bc1515a7 100644 --- a/multimedia/dav1d/Makefile +++ b/multimedia/dav1d/Makefile @@ -29,6 +29,11 @@ CFLAGS_armv6= -no-integrated-as -B${LOCALBASE}/bin CFLAGS_armv7= -no-integrated-as -B${LOCALBASE}/bin LDFLAGS_i386= -Wl,-z,notext +# https://bugs.llvm.org/show_bug.cgi?id=40635 +CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}_${ARCH}} +CFLAGS_clang_amd64= -fno-lto +CFLAGS_clang_i386= -fno-lto + OPTIONS_DEFINE= TEST TEST_GL_TUPLE= videolan:dav1d-test-data:3ccdd3df4fb8583d58bcc0101e315b00ec3ae130:testdata/tests/dav1d-test-data