https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111960
--- Comment #5 from Jan Hubicka <hubicka at gcc dot gnu.org> --- hmm. cfg.cc:815 for me is: fputs (", maybe hot", outf); which seems quite safe. The problem does not seem to reproduce for me: jh@ryzen3:~/gcc/build/gcc> ./xgcc -B ./ tt.c -O --param=max-inline-recursive-depth=1000000 -fdump-tree-rebuild_frequencies-all -wrapper valgrind ==25618== Memcheck, a memory error detector ==25618== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==25618== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==25618== Command: ./cc1 -quiet -iprefix /home/jh/gcc/build/gcc/../lib64/gcc/x86_64-pc-linux-gnu/14.0.1/ -isystem ./include -isystem ./include-fixed tt.c -quiet -dumpdir a- -dumpbase tt.c -dumpbase-ext .c -mtune=generic -march=x86-64 -O -fdump-tree-rebuild_frequencies-all --param=max-inline-recursive-depth=1000000 -o /tmp/ccpkfjdK.s ==25618== ==25618== ==25618== HEAP SUMMARY: ==25618== in use at exit: 1,818,714 bytes in 1,175 blocks ==25618== total heap usage: 39,645 allocs, 38,470 frees, 12,699,874 bytes allocated ==25618== ==25618== LEAK SUMMARY: ==25618== definitely lost: 0 bytes in 0 blocks ==25618== indirectly lost: 0 bytes in 0 blocks ==25618== possibly lost: 8,032 bytes in 1 blocks ==25618== still reachable: 1,810,682 bytes in 1,174 blocks ==25618== suppressed: 0 bytes in 0 blocks ==25618== Rerun with --leak-check=full to see details of leaked memory ==25618== ==25618== For lists of detected and suppressed errors, rerun with: -s ==25618== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==25627== Memcheck, a memory error detector ==25627== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==25627== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==25627== Command: ./as --64 -o /tmp/ccp5TNme.o /tmp/ccpkfjdK.s ==25627== ==25637== Memcheck, a memory error detector ==25637== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==25637== Using Valgrind-3.22.0 and LibVEX; rerun with -h for copyright info ==25637== Command: ./collect2 -plugin ./liblto_plugin.so -plugin-opt=./lto-wrapper -plugin-opt=-fresolution=/tmp/cclWZD7F.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /lib/../lib64/crt1.o /lib/../lib64/crti.o ./crtbegin.o -L. -L/lib/../lib64 -L/usr/lib/../lib64 /tmp/ccp5TNme.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state ./crtend.o /lib/../lib64/crtn.o ==25637== /usr/lib64/gcc/x86_64-suse-linux/13/../../../../x86_64-suse-linux/bin/ld: /lib/../lib64/crt1.o: in function `_start': /home/abuild/rpmbuild/BUILD/glibc-2.38/csu/../sysdeps/x86_64/start.S:103:(.text+0x2b): undefined reference to `main' collect2: error: ld returned 1 exit status ==25637== ==25637== HEAP SUMMARY: ==25637== in use at exit: 89,760 bytes in 39 blocks ==25637== total heap usage: 175 allocs, 136 frees, 106,565 bytes allocated ==25637== ==25637== LEAK SUMMARY: ==25637== definitely lost: 0 bytes in 0 blocks ==25637== indirectly lost: 0 bytes in 0 blocks ==25637== possibly lost: 0 bytes in 0 blocks ==25637== still reachable: 89,760 bytes in 39 blocks ==25637== of which reachable via heuristic: ==25637== newarray : 1,544 bytes in 1 blocks ==25637== suppressed: 0 bytes in 0 blocks ==25637== Rerun with --leak-check=full to see details of leaked memory ==25637== ==25637== For lists of detected and suppressed errors, rerun with: -s ==25637== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)