https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96834
z.zhanghaijian at huawei dot com <z.zhanghaijian at huawei dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.zhanghaijian at huawei dot com --- Comment #4 from z.zhanghaijian at huawei dot com <z.zhanghaijian at huawei dot com> --- The case like: test.c: int f300001() { } void f300000() { printf("300000\n"); f300001(); } void f299999() { printf("299999\n"); f300000(); } void f299998() { printf("299998\n"); f299999(); } void f299997() { printf("299997\n"); f299998(); } ... void f10() { printf("10\n"); f11(); } void f9() { printf("9\n"); f10(); } void f8() { printf("8\n"); f9(); } void f7() { printf("7\n"); f8(); } void f6() { printf("6\n"); f7(); } void f5() { printf("5\n"); f6(); } void f4() { printf("4\n"); f5(); } void f3() { printf("3\n"); f4(); } void f2() { printf("2\n"); f3(); } void f1() { printf("1\n"); f2(); } int main(int argc, char** argv){ f1(); } This can also produces the error on aarch64: gcc test.c -S gcc: internal compiler error: Segmentation fault signal terminated program cc1 Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions.