https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115905
--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #10 from Iain Sandoe <iains at gcc dot gnu.org> --- > unfortunately, (or ...) I Have not succeeded in reproducing this - so will > need > some help to identify what's being done differently from you. > > I built: r15-3667-gf5448384a213 (also on my Darwin17+ set, which includes a > 32b host - which also seems fine). > > On cfarm216 : > ../src/configure --prefix=/home/iains/gcc-master/gcc-15-0-0 > --with-as=/usr/ccs/bin/as --without-gnu-as --enable-languages=c,c++ > --build=sparc-sun-solaris2.11 CC='gcc -m32' CXX='g++ -m32' > Thread model: posix > Supported LTO compression algorithms: zlib zstd > gcc version 15.0.0 20240916 (experimental) [master f5448384a21] (GCC) [...] > Your report seems to be a compile-time SIGBUS, which is somewhat surprising > for > the changes to address this bug - but always one can be surprised, of course. Turns out I'm an idiot ;-) The failure happens with -m64, not -m32. With the preprocessed input: cc1plus -fpreprocessed ./pr115905.ii -mptr64 -mstack-bias -mno-v8plus -quiet -m64 -mcpu=v9 -O1 -std=c++20 -fcoroutines Thread 2 received signal SIGBUS, Bus error. [Switching to Thread 1 (LWP 1)] 0x00eff5a0 in store_field (target=0xfaf72c10, bitsize=..., bitpos=..., bitregion_start=..., bitregion_end=..., mode=E_DImode, exp=<ssa_name 0xfaf581e0 7>, alias_set=0, nontemporal=false, reverse=false) at /vol/gcc/src/hg/master/local/gcc/expr.cc:8127 8127 && ((((MEM_ALIGN (target) < GET_MODE_ALIGNMENT (mode)) (gdb) bt #0 0x00eff5a0 in store_field (target=0xfaf72c10, bitsize=..., bitpos=..., bitregion_start=..., bitregion_end=..., mode=E_DImode, exp=<ssa_name 0xfaf581e0 7>, alias_set=0, nontemporal=false, reverse=false) at /vol/gcc/src/hg/master/local/gcc/expr.cc:8127 #1 0x00ef92a0 in expand_assignment (to=<mem_ref 0xfaf42900>, from=<ssa_name 0xfaf581e0 7>, nontemporal=false) at /vol/gcc/src/hg/master/local/gcc/expr.cc:6338 #2 expand_assignment (to=<mem_ref 0xfaf42900>, from=<ssa_name 0xfaf581e0 7>, nontemporal=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/expr.cc:5975 #3 0x00d703fc in expand_gimple_stmt_1 (stmt=<gimple_assign 0xfaf4d4d0>) at /vol/gcc/src/hg/master/local/gcc/cfgexpand.cc:4028 #4 expand_gimple_stmt (stmt=<gimple_assign 0xfaf4d4d0>) at /vol/gcc/src/hg/master/local/gcc/cfgexpand.cc:4104 #5 0x00d71700 in expand_gimple_basic_block (bb=<optimized out>, disable_tail_calls=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/cfgexpand.cc:6160 #6 0x00d73d2c in (anonymous namespace)::pass_expand::execute ( this=<optimized out>, fun=0xfaf02e88) at /vol/gcc/src/hg/master/local/gcc/cfgexpand.cc:6899 #7 0x01299948 in execute_one_pass (pass=<opt_pass* 0x2937028 "expand"(276)>) at /vol/gcc/src/hg/master/local/gcc/passes.cc:2659 #8 0x0129a3b8 in execute_pass_list_1 ( pass=<opt_pass* 0x2937028 "expand"(276)>) at /vol/gcc/src/hg/master/local/gcc/passes.cc:2768 #9 0x0129a430 in execute_pass_list (fn=0xfaf02e88, pass=<opt_pass* 0x2933fd8 "fixup_cfg"(106)>) at /vol/gcc/src/hg/master/local/gcc/passes.cc:2779 #10 0x00dc905c in cgraph_node::expand ( this=<cgraph_node * const 0xfaf166e0 "Coro"/147>) at /vol/gcc/src/hg/master/local/gcc/context.h:48 #11 cgraph_node::expand (this=<cgraph_node * const 0xfaf166e0 "Coro"/147>) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:1798 #12 0x00dcb83c in expand_all_functions () at /vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2028 #13 symbol_table::compile (this=0xfac12000) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2404 #14 0x00dcee24 in symbol_table::compile (this=0xfac12000) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2315 #15 symbol_table::finalize_compilation_unit (this=0xfac12000) at /vol/gcc/src/hg/master/local/gcc/cgraphunit.cc:2589 #16 0x0140136c in compile_file () at /vol/gcc/src/hg/master/local/gcc/toplev.cc:478 #17 0x01404ee8 in do_compile () at /vol/gcc/src/hg/master/local/gcc/toplev.cc:2209 #18 toplev::main (this=<optimized out>, argc=<optimized out>, argv=<optimized out>) at /vol/gcc/src/hg/master/local/gcc/toplev.cc:2369 #19 0x02338ab4 in main (argc=12, argv=0xffbfec84) at /vol/gcc/src/hg/master/local/gcc/main.cc:39 and => 0xeff5a0 <store_field(rtx, poly_int64, poly_int64, poly_uint64, poly_uint64, machine_mode, tree, alias_set_type, bool, bool)+1520>: ld [ %g1 + 0x1c ], %i1 (gdb) p/x $g1 $2 = 0xafafafaf Incurred fault #5, FLTACCESS %pc = 0x00EFF5A0 siginfo: SIGBUS BUS_ADRALN addr=0xAFAFAFCB Received signal #10, SIGBUS [caught] siginfo: SIGBUS BUS_ADRALN addr=0xAFAFAFCB i.e. an unaligned access just as I thought.