https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69254
--- Comment #3 from Sasha Levin <sasha.levin at oracle dot com> --- I didn't get all the way through, but with the attached preprocessed source file: $ gcc -flto -flto=128 -Wp,-MD,init/.calibrate.o.d -nostdinc -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -march=core2 -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_X86_X32_ABI -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -O2 --param=allow-store-data-races=0 -Wframe-larger-than=2048 -fstack-protector-strong -Wno-unused-but-set-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-var-tracking-assignments -g -gdwarf-4 -fno-inline-functions-called-once -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -Werror=strict-prototypes -Werror=date-time -DCC_HAVE_ASM_GOTO -flto -fno-toplevel-reorder -fno-fat-lto-objects -fipa-cp-clone -fsanitize=kernel-address -fasan-shadow-offset=0xdffffc0000000000 --param asan-stack=1 --param asan-globals=1 --param asan-instrumentation-with-call-threshold=10000 -fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable -fsanitize=vla-bound -fsanitize=null -fsanitize=signed-integer-overflow -fsanitize=bounds -fsanitize=object-size -fsanitize=returns-nonnull-attribute -fsanitize=bool -fsanitize=enum -fsanitize-coverage=trace-pc -c -o test test.c; gcc -flto -flto=128 test lto1: internal compiler error: in streamer_get_builtin_tree, at tree-streamer-in.c:1144 0xc14842 streamer_get_builtin_tree(lto_input_block*, data_in*) ../../gcc/tree-streamer-in.c:1144 0x8c51c4 lto_input_tree_1(lto_input_block*, data_in*, LTO_tags, unsigned int) ../../gcc/lto-streamer-in.c:1419 0x8c53a9 lto_input_scc(lto_input_block*, data_in*, unsigned int*, unsigned int*) ../../gcc/lto-streamer-in.c:1347 0x5ce316 lto_read_decls ../../gcc/lto/lto.c:1698 0x5d0f1d lto_file_finalize ../../gcc/lto/lto.c:2043 0x5d0f1d lto_create_files_from_ids ../../gcc/lto/lto.c:2053 0x5d0f1d lto_file_read ../../gcc/lto/lto.c:2094 0x5d0f1d read_cgraph_and_symbols ../../gcc/lto/lto.c:2804 0x5d0f1d lto_main() ../../gcc/lto/lto.c:3304 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. lto-wrapper: fatal error: gcc returned 1 exit status compilation terminated. /usr/bin/ld: lto-wrapper failed collect2: error: ld returned 1 exit status