https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70159
--- Comment #16 from Anton Blanchard <anton at samba dot org> --- I'm seeing a lockup in gcc with this patch on ppc64le. Run as: gcc -O2 -c testcase.i It gets stuck in: #0 0x00003fffb7e5e3e8 in __waitpid_nocancel () at ../sysdeps/unix/syscall-template.S:84 #1 0x0000000010088c58 in pex_wait (obj=<optimised out>, time=0x0, status=0x1015f080, pid=<optimised out>) at ../../gcc/libiberty/pex-unix.c:134 #2 pex_unix_wait (obj=<optimised out>, pid=<optimised out>, status=0x1015f080, time=0x0, done=<optimised out>, errmsg=0x3fffffffd750, err=0x3fffffffd74c) at ../../gcc/libiberty/pex-unix.c:738 #3 0x000000001008762c in pex_get_status_and_time (obj=<optimised out>, done=<optimised out>, errmsg=<optimised out>, err=<optimised out>) at ../../gcc/libiberty/pex-common.c:534 #4 0x0000000010088630 in pex_get_status (obj=0x1015efc0, count=<optimised out>, vector=0x3fffffffd7e0) at ../../gcc/libiberty/pex-common.c:554 #5 0x00000000100101dc in execute () at ../../gcc/gcc/gcc.c:3107 #6 0x0000000010010f04 in do_spec_1 ( spec=0x1015ec20 "-o %|.s |\n as %(asm_options) %m.s %A", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5145 #7 0x00000000100139e4 in process_brace_body (matched=<optimised out>, starred=0, end_atom=0x1015ed3c ":-o %|.s |\n as %(asm_options) %m.s %A }", atom=0x1015ed3b "S:-o %|.s |\n as %(asm_options) %m.s %A }", p=0x1015ed62 "}") at ../../gcc/gcc/gcc.c:6431 #8 handle_braces (p=<optimised out>) at ../../gcc/gcc/gcc.c:6345 #9 0x0000000010011604 in do_spec_1 ( spec=0x1015ecf0 " %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s |\n as %(asm_options) %m.s %A }", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5802 #10 0x00000000100139e4 in process_brace_body (matched=<optimised out>, starred=1, end_atom=0x100a877f "*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s |\n as %(asm_options) %m.s %A } }", atom=0x100a877b "fwpa*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s |\n as %(asm_options) %m.s %A } }", p=0x100a87f6 "}") at ../../gcc/gcc/gcc.c:6431 #11 handle_braces (p=<optimised out>) at ../../gcc/gcc/gcc.c:6345 #12 0x0000000010011604 in do_spec_1 ( spec=0x100a8778 "%{!fwpa*: %{fcompare-debug=*|fdump-final-insns=*:%:compare-debug-dump-opt()} %{!S:-o %|.s |\n as %(asm_options) %m.s %A } }", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5802 #13 0x0000000010011228 in do_spec_1 (spec=0x1015ec90 "%(invoke_as)", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5917 #14 0x00000000100139e4 in process_brace_body (matched=<optimised out>, starred=0, end_atom=0x1015ec04 ":%(invoke_as)}", atom=0x1015ebf8 "fsyntax-only:%(invoke_as)}", p=0x1015ec11 "}") at ../../gcc/gcc/gcc.c:6431 #15 handle_braces (p=<optimised out>) at ../../gcc/gcc/gcc.c:6345 #16 0x0000000010011604 in do_spec_1 ( spec=0x1015ebd0 "cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5802 #17 0x00000000100139e4 in process_brace_body (matched=<optimised out>, starred=0, end_atom=0x1015eb74 ":cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}", atom=0x1015eb73 "E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}", p=0x1015ebb7 "}") at ../../gcc/gcc/gcc.c:6431 #18 handle_braces (p=<optimised out>) at ../../gcc/gcc/gcc.c:6345 #19 0x0000000010011604 in do_spec_1 ( spec=0x1015eb70 "%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5802 #20 0x00000000100139e4 in process_brace_body (matched=<optimised out>, starred=0, end_atom=0x1015eb15 ":%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}", atom=0x1015eb13 "MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}", p=0x1015eb5e "}") at ../../gcc/gcc/gcc.c:6431 #21 handle_braces (p=<optimised out>) at ../../gcc/gcc/gcc.c:6345 #22 0x0000000010011604 in do_spec_1 ( spec=0x1015eb10 "%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5802 #23 0x00000000100139e4 in process_brace_body (matched=<optimised out>, starred=0, end_atom=0x100a789c ":%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", atom=0x100a789b "M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", p=0x100a78ec "}") at ../../gcc/gcc/gcc.c:6431 #24 handle_braces (p=<optimised out>) at ../../gcc/gcc/gcc.c:6345 #25 0x0000000010011604 in do_spec_1 ( spec=0x100a7898 "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", inswitch=0, soft_matched_part=0x0) at ../../gcc/gcc/gcc.c:5802 #26 0x0000000010012878 in do_spec_2 (spec=<optimised out>) at ../../gcc/gcc/gcc.c:4841 #27 0x0000000010014514 in do_spec (spec=<optimised out>) at ../../gcc/gcc/gcc.c:4808 #28 0x000000001001479c in driver::do_spec_on_infiles (this=0x3ffffffff108) at ../../gcc/gcc/gcc.c:8076 #29 0x0000000010003138 in driver::main (this=0x3ffffffff108, argc=4, argv=0x3ffffffff548) at ../../gcc/gcc/gcc.c:7216 #30 0x0000000010003504 in main (argc=<optimised out>, argv=0x3ffffffff548) at ../../gcc/gcc/gcc-main.c:46