public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV @ 2020-03-23 13:45 tschwinge at gcc dot gnu.org 2020-04-21 13:02 ` [Bug target/94278] " tschwinge at gcc dot gnu.org ` (8 more replies) 0 siblings, 9 replies; 10+ messages in thread From: tschwinge at gcc dot gnu.org @ 2020-03-23 13:45 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 Bug ID: 94278 Summary: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV Product: gcc Version: unknown Status: UNCONFIRMED Keywords: openacc, openmp Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: ams at gcc dot gnu.org, jules at gcc dot gnu.org Target Milestone: --- This is with GCC commit b73f69020f08208d2d969fcf8879bd294a6e3596 sources, with commit b12fb08bd95d7dbb9fd6af120ee0b4c658a3deb1, and commit 65858e1869be4a54f8e0e2073a4aa99b15471273 cherry-picked, and PR94248 fixed with Jakub's 'reg_overlap_mentioned_p' patch. Relative to a GCC nvptx offloading configuration, when adding amdgcn offloading, I see the following regression: [-PASS:-]{+FAIL: libgomp.c/../libgomp.c-c++-common/pr93515.c (internal compiler error)+} {+FAIL:+} libgomp.c/../libgomp.c-c++-common/pr93515.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/../libgomp.c-c++-common/pr93515.c [-execution test-]{+compilation failed to produce executable+} Stack dump: 0. Program arguments: [...]/install/offload-amdgcn-amdhsa/amdgcn-amdhsa/bin/as -triple=amdgcn--amdhsa -mattr=-code-object-v3 -mcpu=fiji -filetype=obj -o /tmp/ccn2bzJ1.o /tmp/cchOR6jK.mkoffload.2.s xgcc: internal compiler error: Segmentation fault signal terminated program as [...] mkoffload: fatal error: [...]/build-gcc/./gcc/x86_64-pc-linux-gnu-accel-amdgcn-amdhsa-gcc returned 4 exit status That's with stock Ubuntu 18.04 LLVM 9 packages: $ [...]/install/offload-amdgcn-amdhsa/amdgcn-amdhsa/bin/as --version LLVM (http://llvm.org/): LLVM version 9.0.0 [...] $ readlink [...]/install/offload-amdgcn-amdhsa/amdgcn-amdhsa/bin/as /usr/bin/llvm-mc-9 $ dpkg -S /usr/bin/llvm-mc-9 llvm-9: /usr/bin/llvm-mc-9 $ apt-cache policy llvm-9 llvm-9: Installed: 1:9-2~ubuntu18.04.2 [...] As this is a problem in an external tool, are we going to declare this "not our problem", hoping it'll go away in a later release? Or, do we intent to be compatible with this LLVM version, and inspect whether there maybe is an actual issue with GCC's amdgcn code generation that triggers this problem? Same for 'libgomp.c++' variant. Supposedly same problem for: [-PASS:-]{+FAIL: libgomp.c/examples-4/async_target-2.c (internal compiler error)+} {+FAIL:+} libgomp.c/examples-4/async_target-2.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/examples-4/async_target-2.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/examples-4/target-5.c (internal compiler error)+} {+FAIL:+} libgomp.c/examples-4/target-5.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/examples-4/target-5.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/examples-4/target_data-6.c (internal compiler error)+} {+FAIL:+} libgomp.c/examples-4/target_data-6.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/examples-4/target_data-6.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/examples-4/target_data-7.c (internal compiler error)+} {+FAIL:+} libgomp.c/examples-4/target_data-7.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/examples-4/target_data-7.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/pr86660.c (internal compiler error)+} {+FAIL:+} libgomp.c/pr86660.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/pr86660.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/target-3.c (internal compiler error)+} {+FAIL:+} libgomp.c/target-3.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/target-3.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/target-4.c (internal compiler error)+} {+FAIL:+} libgomp.c/target-4.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/target-4.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/target-5.c (internal compiler error)+} {+FAIL:+} libgomp.c/target-5.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/target-5.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/target-6.c (internal compiler error)+} {+FAIL:+} libgomp.c/target-6.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/target-6.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c/target-7.c (internal compiler error)+} {+FAIL:+} libgomp.c/target-7.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/target-7.c [-execution test-]{+compilation failed to produce executable+} {+FAIL: libgomp.c/thread-limit-2.c (internal compiler error)+} FAIL: libgomp.c/thread-limit-2.c (test for excess errors) UNRESOLVED: libgomp.c/thread-limit-2.c compilation failed to produce executable [-PASS:-]{+FAIL: libgomp.c/thread-limit-3.c (internal compiler error)+} {+FAIL:+} libgomp.c/thread-limit-3.c (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c/thread-limit-3.c [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c++/for-15.C (internal compiler error)+} {+FAIL:+} libgomp.c++/for-15.C (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c++/for-15.C [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c++/for-24.C (internal compiler error)+} {+FAIL:+} libgomp.c++/for-24.C (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c++/for-24.C [-execution test-]{+compilation failed to produce executable+} [-PASS:-]{+FAIL: libgomp.c++/pr69555-2.C (internal compiler error)+} {+FAIL:+} libgomp.c++/pr69555-2.C (test for excess errors) [-PASS:-]{+UNRESOLVED:+} libgomp.c++/pr69555-2.C [-execution test-]{+compilation failed to produce executable+} And, for 'libgomp.oacc-*' (with all "execution test" etc. FAILs ignored as "[n/a]"; "libgomp: device type gcn not supported" due to running on unsuitable hardware): PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-2.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-2.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-2.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-2.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-2.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-4.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-4.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-4.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-4.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-4.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-5.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-5.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-5.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-5.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/abort-5.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/acc_on_device-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-kernels.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-clauses-parallel.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-firstprivate-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-firstprivate-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-firstprivate-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-firstprivate-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/data-firstprivate-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-32.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-32.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-32.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-32.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/lib-32.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/mode-transitions.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/mode-transitions.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/mode-transitions.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/mode-transitions.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/mode-transitions.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. PASS: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vector-type-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 (test for excess errors) [n/a]: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vector-type-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O0 execution test FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vector-type-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (internal compiler error) FAIL: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vector-type-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 (test for excess errors) UNRESOLVED: libgomp.oacc-c/../libgomp.oacc-c-c++-common/vector-type-1.c -DACC_DEVICE_TYPE_gcn=1 -DACC_MEM_SHARED=0 -foffload=amdgcn-amdhsa -O2 compilation failed to produce executable Same for 'libgomp.oacc-c++' variant. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org @ 2020-04-21 13:02 ` tschwinge at gcc dot gnu.org 2020-04-21 13:23 ` ams at gcc dot gnu.org ` (7 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: tschwinge at gcc dot gnu.org @ 2020-04-21 13:02 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 Thomas Schwinge <tschwinge at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2020-04-21 --- Comment #1 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- Andrew, Julian, any insights here? (In reply to Thomas Schwinge from comment #0) > Stack dump: > 0. Program arguments: > [...]/install/offload-amdgcn-amdhsa/amdgcn-amdhsa/bin/as > -triple=amdgcn--amdhsa -mattr=-code-object-v3 -mcpu=fiji -filetype=obj -o > /tmp/ccn2bzJ1.o /tmp/cchOR6jK.mkoffload.2.s > xgcc: internal compiler error: Segmentation fault signal terminated > program as > [...] > mkoffload: fatal error: > [...]/build-gcc/./gcc/x86_64-pc-linux-gnu-accel-amdgcn-amdhsa-gcc returned 4 > exit status > > That's with stock Ubuntu 18.04 LLVM 9 packages: > > $ [...]/install/offload-amdgcn-amdhsa/amdgcn-amdhsa/bin/as --version > LLVM (http://llvm.org/): > LLVM version 9.0.0 > [...] > $ readlink [...]/install/offload-amdgcn-amdhsa/amdgcn-amdhsa/bin/as > /usr/bin/llvm-mc-9 > $ dpkg -S /usr/bin/llvm-mc-9 > llvm-9: /usr/bin/llvm-mc-9 > $ apt-cache policy llvm-9 > llvm-9: > Installed: 1:9-2~ubuntu18.04.2 > [...] > > As this is a problem in an external tool, are we going to declare this "not > our problem", hoping it'll go away in a later release? Or, do we intent to > be compatible with this LLVM version, and inspect whether there maybe is an > actual issue with GCC's amdgcn code generation that triggers this problem? ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org 2020-04-21 13:02 ` [Bug target/94278] " tschwinge at gcc dot gnu.org @ 2020-04-21 13:23 ` ams at gcc dot gnu.org 2020-04-22 10:13 ` tschwinge at gcc dot gnu.org ` (6 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: ams at gcc dot gnu.org @ 2020-04-21 13:23 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 --- Comment #2 from Andrew Stubbs <ams at gcc dot gnu.org> --- Well, it works for me: PASS: libgomp.c/examples-4/async_target-2.c (test for excess errors) PASS: libgomp.c/examples-4/async_target-2.c execution test That's with an unmodified LLVM 9 we built ourselves. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org 2020-04-21 13:02 ` [Bug target/94278] " tschwinge at gcc dot gnu.org 2020-04-21 13:23 ` ams at gcc dot gnu.org @ 2020-04-22 10:13 ` tschwinge at gcc dot gnu.org 2020-04-23 12:45 ` ams at gcc dot gnu.org ` (5 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: tschwinge at gcc dot gnu.org @ 2020-04-22 10:13 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 Thomas Schwinge <tschwinge at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2020-04-21 00:00:00 |2020-4-22 --- Comment #3 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- (In reply to Andrew Stubbs from comment #2) > Well, it works for me: > > PASS: libgomp.c/examples-4/async_target-2.c (test for excess errors) > PASS: libgomp.c/examples-4/async_target-2.c execution test Strange. > That's with an unmodified LLVM 9 we built ourselves. By the way, I see the same problem when using LLVM 10. Most certainly there is some problem in the LLVM assembler (because that tool certainly should SIGSEGV even when presented possibly "strange" input), and maybe that depends on the optimization level that LLVM has been compiled with, or something like that... But, I found at least something. From a quick search through my email archives, I see that there's a huge (maybe even complete?, not verified) overlap compared to the test FAILs reported in PR81430 "nvptx acceleration compilation broken because of running pass_partition_blocks". And indeed the same '-freorder-blocks-and-partition' ('flag_reorder_blocks_and_partition') nvptx force-disable hack that once got installed in r250421 "Add nvptx_override_options_after_change" (later reverted after proper fix for that issue, r250852 "Apply finish_options on DECL_FUNCTION_SPECIFIC_OPTIMIZATION for ACCEL_COMPILER") also does cure (or rather, avoid?) this problem reported here for GCN offloading compilation, where assumed-correct GCC GCN code is generated that the LLVM assembler fails to understand. Would the following be OK to commit as a workaround? If approving this patch, please respond with "Reviewed-by: NAME <EMAIL>" so that your effort will be recorded in the commit log, see <https://gcc.gnu.org/wiki/Reviewed-by>. The GCN code generated in 'build-gcc-offload-amdgcn-amdhsa/amdgcn-amdhsa/' doesn't change at all, and it doesn't cause any libgomp offloading compilation regressions, but I have not yet otherwise assessed whether this breaks anything. +static void +gcn_override_options_after_change (void) +{ + flag_reorder_blocks_and_partition = 0; +} +#undef TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE +#define TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE gcn_override_options_after_change At the very least, this gives a clue about where to further look for what the actual problem is. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org ` (2 preceding siblings ...) 2020-04-22 10:13 ` tschwinge at gcc dot gnu.org @ 2020-04-23 12:45 ` ams at gcc dot gnu.org 2021-04-21 12:27 ` rguenth at gcc dot gnu.org ` (4 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: ams at gcc dot gnu.org @ 2020-04-23 12:45 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 --- Comment #4 from Andrew Stubbs <ams at gcc dot gnu.org> --- Almost all the tests listed in pr81430 pass for me (and the exception I found is a link error). I don't understand what's happening with your build, but from my point of view the patch fixes an issue that doesn't exist. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org ` (3 preceding siblings ...) 2020-04-23 12:45 ` ams at gcc dot gnu.org @ 2021-04-21 12:27 ` rguenth at gcc dot gnu.org 2021-04-21 12:32 ` rguenth at gcc dot gnu.org ` (3 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-04-21 12:27 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- I'm running into the same issue (and filed PR100181) but with llvm11 based llvm-mc the CUs are instead rejected due to a section crossing jump: ./pr93515.xamdgcn-amdhsa.mkoffload.2.s:634:2: error: undefined label '.L33' s_branch .L33 ^ mkoffload: fatal error: /usr/bin//x86_64-suse-linux-accel-amdgcn-amdhsa-gcc-11 returned 1 exit status s_branch .L33 .section .text.unlikely .type main._omp_fn.4.cold, @function main._omp_fn.4.cold: .L33: s_getpc_b64 s[2:3] s_add_u32 s2, s2, abort@rel32@lo+4 s_addc_u32 s3, s3, abort@rel32@hi+4 s_swappc_b64 s[18:19], s[2:3] .text ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org ` (4 preceding siblings ...) 2021-04-21 12:27 ` rguenth at gcc dot gnu.org @ 2021-04-21 12:32 ` rguenth at gcc dot gnu.org 2021-04-21 13:09 ` rguenth at gcc dot gnu.org ` (2 subsequent siblings) 8 siblings, 0 replies; 10+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-04-21 12:32 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 --- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- *** Bug 100181 has been marked as a duplicate of this bug. *** ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org ` (5 preceding siblings ...) 2021-04-21 12:32 ` rguenth at gcc dot gnu.org @ 2021-04-21 13:09 ` rguenth at gcc dot gnu.org 2021-04-21 13:59 ` rguenth at gcc dot gnu.org 2021-07-19 16:00 ` burnus at gcc dot gnu.org 8 siblings, 0 replies; 10+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-04-21 13:09 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 --- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- If people can/cannot reproduce the issue with the same revs. on the same testcase double-checking the RTL bb-reorder dumps might be in order to rule out some memory corruption on the BB counts. ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org ` (6 preceding siblings ...) 2021-04-21 13:09 ` rguenth at gcc dot gnu.org @ 2021-04-21 13:59 ` rguenth at gcc dot gnu.org 2021-07-19 16:00 ` burnus at gcc dot gnu.org 8 siblings, 0 replies; 10+ messages in thread From: rguenth at gcc dot gnu.org @ 2021-04-21 13:59 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 --- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> --- The patch from comment#3 fixes the issue for me. The tests still fail one or another way (most not finding libgfortran.a - maybe an error on my side, and a few with unresolved symbols). ^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug target/94278] [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org ` (7 preceding siblings ...) 2021-04-21 13:59 ` rguenth at gcc dot gnu.org @ 2021-07-19 16:00 ` burnus at gcc dot gnu.org 8 siblings, 0 replies; 10+ messages in thread From: burnus at gcc dot gnu.org @ 2021-07-19 16:00 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94278 Tobias Burnus <burnus at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|NEW |RESOLVED --- Comment #9 from Tobias Burnus <burnus at gcc dot gnu.org> --- Mark as duplicate of PR 100181 which has a better and more up-to-date description of the issue *** This bug has been marked as a duplicate of bug 100181 *** ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-07-19 16:00 UTC | newest] Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-03-23 13:45 [Bug target/94278] New: [amdgcn] Offloading build failures due to 'llvm-mc' SIGSEGV tschwinge at gcc dot gnu.org 2020-04-21 13:02 ` [Bug target/94278] " tschwinge at gcc dot gnu.org 2020-04-21 13:23 ` ams at gcc dot gnu.org 2020-04-22 10:13 ` tschwinge at gcc dot gnu.org 2020-04-23 12:45 ` ams at gcc dot gnu.org 2021-04-21 12:27 ` rguenth at gcc dot gnu.org 2021-04-21 12:32 ` rguenth at gcc dot gnu.org 2021-04-21 13:09 ` rguenth at gcc dot gnu.org 2021-04-21 13:59 ` rguenth at gcc dot gnu.org 2021-07-19 16:00 ` burnus at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).