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

Reply via email to