https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107581
Bug ID: 107581 Summary: ICE on sparc-leon-uclibc during go build Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: dkm at gcc dot gnu.org Target Milestone: --- While building a cross compiler for sparc-leon with Go enabled, I get the following ICE: /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/build/build-cc-gcc-final/./gcc/gccgo -B/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/build/build-cc-gcc-final/./gcc/ -B/path/crosstool-scratch/sparc-leon-linux-uclibc/sparc-leon-linux-uclibc/bin/ -B/path/crosstool-scratch/sparc-leon-linux-uclibc/sparc-leon-linux-uclibc/lib/ -isystem /path/crosstool-scratch/sparc-leon-linux-uclibc/sparc-leon-linux-uclibc/include -isystem /path/crosstool-scratch/sparc-leon-linux-uclibc/sparc-leon-linux-uclibc/sys-include -O2 -g -I . -c -fgo-pkgpath=runtime/internal/atomic -fgo-compiling-runtime /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/doc.go /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/gccgo.go /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/stubs.go /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/types.go /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/unaligned.go -fPIC -o runtime/internal/.libs/atomic.o -freport-bug -save-temps during RTL pass: expand /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/types.go: In function 'runtime/internal/atomic.Int32.Add': /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/libgo/go/runtime/internal/atomic/types.go:47:16: internal compiler error: Segmentation fault 47 | return Xaddint32(&i.value, delta) | ^ 0xc01d6f crash_signal /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/toplev.cc:314 0x7f7eff3daf8f ??? ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0 0xeea114 get_callee_fndecl(tree_node const*) /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/tree.cc:8459 0x72f8f0 expand_call(tree_node*, rtx_def*, int) /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/calls.cc:2740 0x717412 expand_builtin_atomic_fetch_op /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/builtins.cc:6497 0x7234c2 expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/builtins.cc:8343 0x864639 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/expr.cc:11865 0x86e065 store_expr(tree_node*, rtx_def*, int, bool, bool) /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/expr.cc:6330 0x870720 expand_assignment(tree_node*, tree_node*, bool) /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/expr.cc:6051 0x74301c expand_call_stmt /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/cfgexpand.cc:2829 0x74301c expand_gimple_stmt_1 /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/cfgexpand.cc:3880 0x74301c expand_gimple_stmt /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/cfgexpand.cc:4044 0x7489ae expand_gimple_basic_block /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/cfgexpand.cc:6096 0x74a55e execute /path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/gcc/cfgexpand.cc:6822 Please submit a full bug report, with preprocessed source. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. I can provide more info if needed, or rebuild with a debug build. The ICE has been first observed on 12.2.0 tgz and reproduced on today's master (bbcb84bb) The build has been configured with: CC_FOR_BUILD='x86_64-build_pc-linux-gnu-gcc' CFLAGS='-O2 -g -pipe -I/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools/include ' CFLAGS_FOR_BUILD='-O2 -g -pipe -I/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools/include ' CXXFLAGS='-O2 -g -pipe -I/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools/include ' CXXFLAGS_FOR_BUILD='-O2 -g -pipe -I/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools/include ' LDFLAGS='-L/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools/lib ' CFLAGS_FOR_TARGET='-g -O2 ' CXXFLAGS_FOR_TARGET='-g -O2 ' LDFLAGS_FOR_TARGET='' '/usr/bin/bash' '/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/src/gcc/configure' '--build=x86_64-build_pc-linux-gnu' '--host=x86_64-build_pc-linux-gnu' '--target=sparc-leon-linux-uclibc' '--prefix=/path/crosstool-scratch/sparc-leon-linux-uclibc' '--exec_prefix=/path/crosstool-scratch/sparc-leon-linux-uclibc' '--with-sysroot=/path/crosstool-scratch/sparc-leon-linux-uclibc/sparc-leon-linux-uclibc/sysroot' '--enable-languages=c,c++,fortran,d,objc,go' '--with-cpu=leon' '--with-tune=leon' '--with-float=soft' '--with-pkgversion=crosstool-NG 1.25.0.95_7622b49' '--enable-__cxa_atexit' '--disable-libmudflap' '--disable-libgomp' '--disable-libssp' '--disable-libquadmath' '--disable-libquadmath-support' '--disable-libsanitizer' '--disable-libmpx' '--with-gmp=/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools' '--with-mpfr=/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools' '--with-mpc=/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools' '--with-isl=/path/git/crosstool-ng/.build/sparc-leon-linux-uclibc/buildtools' '--enable-lto' '--enable-threads=posix' '--enable-target-optspace' '--disable-plugin' '--disable-nls' '--disable-multilib' '--with-local-prefix=/path/crosstool-scratch/sparc-leon-linux-uclibc/sparc-leon-linux-uclibc/sysroot' '--enable-long-long' '--disable-libitm'