On Thu, Mar 15, 2018 at 3:54 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Thu, Mar 15, 2018 at 03:45:47PM +0000, Bin.Cheng wrote: >> FYI, both your patches fix the compilation issue. > > It isn't just a compilation problem, it really can't work at all. > Without the patch, if the function builds, it looks like: Ah, Thanks. I haven't checked generated code when it builds.
Thanks, bin > 00000000002308b0 <_gfortran_kill>: > 2308b0: f3 0f 1e fa endbr64 > 2308b4: 48 83 ec 08 sub $0x8,%rsp > 2308b8: e8 f3 ff ff ff callq 2308b0 <_gfortran_kill> > 2308bd: 85 c0 test %eax,%eax > 2308bf: 74 07 je 2308c8 <_gfortran_kill+0x18> > 2308c1: e8 4a 92 de ff callq 19b10 <__errno_location@plt> > 2308c6: 8b 00 mov (%rax),%eax > 2308c8: 48 83 c4 08 add $0x8,%rsp > 2308cc: c3 retq > 2308cd: 0f 1f 00 nopl (%rax) > i.e. there is endless recursion, it doesn't call the libc kill, but itself. > > Jakub