https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467
Joseph S. Myers <jsm28 at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-11-07 Component|libgcc |target Summary|libgcc, compilation for |libgcc, compilation for |target m68k-linux breaks in |target m68k-linux breaks in |linux_atomic.c, #define |linux_atomic.c |COMMA , | Ever confirmed|0 |1 --- Comment #3 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- Confirmed. Building libgcc for m68k-linux-gnu --with-arch=cf fails for every GCC version from 4.7 onwards (4.6 didn't have linux-atomic.c, so I'm not sure if this counts as a regression). Errors with current mainline: /scratch/jmyers/glibc/many7/src/gcc/libgcc/config/m68k/linux-atomic.c: In function '__sync_bool_compare_and_swap_1': /scratch/jmyers/glibc/many7/src/gcc/libgcc/config/m68k/linux-atomic.c:197:13: internal compiler error: in emit_library_call_value_1, at calls.c:4624 return (__sync_val_compare_and_swap_##WIDTH (ptr, oldval, newval) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /scratch/jmyers/glibc/many7/src/gcc/libgcc/config/m68k/linux-atomic.c:202:1: note: in expansion of macro 'SUBWORD_BOOL_CAS' SUBWORD_BOOL_CAS (unsigned char, 1) ^~~~~~~~~~~~~~~~ 0x6a7dc7 emit_library_call_value_1 /scratch/jmyers/glibc/many7/src/gcc/gcc/calls.c:4623 0x6acb5f emit_library_call_value(rtx_def*, rtx_def*, libcall_type, machine_mode, int, ...) /scratch/jmyers/glibc/many7/src/gcc/gcc/calls.c:4817 0x9e576e expand_atomic_compare_and_swap(rtx_def**, rtx_def**, rtx_def*, rtx_def*, rtx_def*, bool, memmodel, memmodel) /scratch/jmyers/glibc/many7/src/gcc/gcc/optabs.c:6210 0x690b1b expand_builtin_compare_and_swap /scratch/jmyers/glibc/many7/src/gcc/gcc/builtins.c:5059 0x69db77 expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /scratch/jmyers/glibc/many7/src/gcc/gcc/builtins.c:6606 0x7bdd4d expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /scratch/jmyers/glibc/many7/src/gcc/gcc/expr.c:10773 0x7c8e4f store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool, tree_node*) /scratch/jmyers/glibc/many7/src/gcc/gcc/expr.c:5548 0x7ca790 expand_assignment(tree_node*, tree_node*, bool) /scratch/jmyers/glibc/many7/src/gcc/gcc/expr.c:5317 0x6bb4ba expand_call_stmt /scratch/jmyers/glibc/many7/src/gcc/gcc/cfgexpand.c:2666 0x6bb4ba expand_gimple_stmt_1 /scratch/jmyers/glibc/many7/src/gcc/gcc/cfgexpand.c:3581 0x6bb4ba expand_gimple_stmt /scratch/jmyers/glibc/many7/src/gcc/gcc/cfgexpand.c:3747 0x6bd28e expand_gimple_basic_block /scratch/jmyers/glibc/many7/src/gcc/gcc/cfgexpand.c:5754 0x6c3176 execute /scratch/jmyers/glibc/many7/src/gcc/gcc/cfgexpand.c:6368 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.