The last one now is reproducible (not sure if that is what the segfault was), but still useful. $ cd /root/qemu-5.0/b/qemu/m68k-linux-user $ cc -iquote /root/qemu-5.0/b/qemu/linux-user/m68k -iquote linux-user/m68k -iquote /root/qemu-5.0/tcg/arm -isystem /root/qemu-5.0/linux-headers -isystem /root/qemu-5.0/b/qemu/linux-headers -iquote . -iquote /root/qemu-5.0 -iquote /root/qemu-5.0/accel/tcg -iquote /root/qemu-5.0/include -iquote /root/qemu-5.0/disas/libvixl -I/usr/include/pixman-1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -fPIE -DPIE -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -std=gnu99 -g -O2 -fdebug-prefix-map=/root/qemu-5.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-strong -I/usr/include/p11-kit-1 -DSTRUCT_IOVEC_DEFINED -I/usr/include/libpng16 -I/root/qemu-5.0/capstone/include -isystem ../linux-headers -iquote .. -iquote /root/qemu-5.0/target/m68k -DNEED_CPU_H -iquote /root/qemu-5.0/include -I/root/qemu-5.0/linux-user/m68k -I/root/qemu-5.0/linux-user/host/arm -I/root/qemu-5.0/linux-user -Ilinux-user/m68k -MMD -MP -MT linux-user/m68k/signal.o -MF linux-user/m68k/signal.d -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g -c -o linux-user/m68k/signal.o /root/qemu-5.0/linux-user/m68k/signal.c /root/qemu-5.0/linux-user/m68k/signal.c:44:1: error: ‘TYPE_CANONICAL’ is not compatible 44 | }; | ^ unit-size align:32 warn_if_not_align:0 symtab:-142400624 alias-set -1 canonical-type 0xf7edb420 precision:32 min max pointer_to_this > SI size unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf6ba1a80 domain unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf7edb060 precision:32 min max > SI size unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf73a0660 precision:32 min max >> /root/qemu-5.0/linux-user/m68k/signal.c:44:1: error: ‘TYPE_MODE’ of ‘TYPE_CANONICAL’ is not compatible unit-size align:32 warn_if_not_align:0 symtab:-142400624 alias-set -1 canonical-type 0xf7edb420 precision:32 min max pointer_to_this > SI size unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf6ba1a80 domain unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf7edb060 precision:32 min max > SI size unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf73a0660 precision:32 min max >> unit-size user align:16 warn_if_not_align:0 symtab:-152437184 alias-set -1 canonical-type 0xf7edb420 precision:32 min max pointer_to_this > no-force-blk BLK size unit-size user align:16 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf6ba1a80 domain unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf7edb060 precision:32 min max > SI size unit-size align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0xf73a0660 precision:32 min max >> /root/qemu-5.0/linux-user/m68k/signal.c:44:1: internal compiler error: ‘verify_type’ failed 0x980721 verify_type(tree_node const*) ../../src/gcc/tree.c:14727 0x3969e3 gen_type_die_with_usage ../../src/gcc/dwarf2out.c:25498 0x397fe9 gen_type_die ../../src/gcc/dwarf2out.c:25728 0x393c69 gen_decl_die ../../src/gcc/dwarf2out.c:26436 0x395ccb gen_member_die ../../src/gcc/dwarf2out.c:25182 0x395ccb gen_struct_or_union_type_die ../../src/gcc/dwarf2out.c:25278 0x395ccb gen_tagged_type_die ../../src/gcc/dwarf2out.c:25479 0x396c33 gen_tagged_type_die ../../src/gcc/dwarf2out.c:25433 0x396c33 gen_type_die_with_usage ../../src/gcc/dwarf2out.c:25674 0x397fe9 gen_type_die ../../src/gcc/dwarf2out.c:25728 0x3938c7 gen_decl_die ../../src/gcc/dwarf2out.c:26360 0x394aed dwarf2out_decl ../../src/gcc/dwarf2out.c:26908 0x394f31 dwarf2out_type_decl ../../src/gcc/dwarf2out.c:26633 0x394f31 dwarf2out_type_decl ../../src/gcc/dwarf2out.c:26628 0x648c3b rest_of_type_compilation(tree_node*, int) ../../src/gcc/passes.c:339 0x1ce217 finish_struct(unsigned int, tree_node*, tree_node*, tree_node*, c_struct_parse_info*) ../../src/gcc/c/c-decl.c:8657 0x21eb69 c_parser_struct_or_union_specifier ../../src/gcc/c/c-parser.c:3438 0x21eb69 c_parser_declspecs(c_parser*, c_declspecs*, bool, bool, bool, bool, bool, bool, bool, c_lookahead_kind) ../../src/gcc/c/c-parser.c:2961 0x223471 c_parser_declaration_or_fndef ../../src/gcc/c/c-parser.c:1960 0x22bbdf c_parser_external_declaration ../../src/gcc/c/c-parser.c:1745 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. The bug is not reproducible, so it is likely a hardware or OS problem. --- I created preprocessed output via --save-temps in /root/qemu-5.0/b/qemu/m68k-linux-user/signal.i For that I then reduced the commandline 1. drop -iquote/-I 2. drop duplicate options 3. drop -D as those were used in preprocessor step 4. drop all warnings except -Wall 5. drop MMD/MT/MF options 6. drop -foptions one by one except -fPIE Now the command is rather short and still triggers the issue shown in comment #42 $ cc -pthread -fPIE -Wall -std=gnu99 -g -O2 -c -o /tmp/test.o /root/qemu-5.0/b/qemu/m68k-linux-user/signal.i Attaching the .i file