http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59409
--- Comment #12 from H.J. Lu <hjl.tools at gmail dot com> --- This function: SV * sv_mortalcopy(SV *oldstr) { dTHR; register SV *sv; new_SV(sv); SvANY(sv) = 0; SvREFCNT(sv) = 1; SvFLAGS(sv) = 0; sv_setsv(sv,oldstr); if (++PL_tmps_ix >= PL_tmps_max) sv_mortalgrow(); PL_tmps_stack[PL_tmps_ix] = sv; SvTEMP_on(sv); return sv; } is compiled into 00494220 <Perl_sv_mortalcopy>: 494220: 41 54 push %r12 494222: 55 push %rbp 494223: 48 89 fe mov %rdi,%rsi 494226: 53 push %rbx 494227: 83 ec 10 sub $0x10,%esp 49422a: 8b 1d c0 c3 27 00 mov 0x27c3c0(%rip),%ebx # 7105f0 <PL_sv_root> 494230: 85 db test %ebx,%ebx 494232: 0f 84 e0 00 00 00 je 494318 <Perl_sv_mortalcopy+0xf8> 494238: 67 8b 03 mov (%ebx),%eax 49423b: 83 05 aa c3 27 00 01 addl $0x1,0x27c3aa(%rip) # 7105ec <PL_sv_count> 494242: 89 05 a8 c3 27 00 mov %eax,0x27c3a8(%rip) # 7105f0 <PL_sv_root> 494248: 89 dd mov %ebx,%ebp 49424a: 67 c7 03 00 00 00 00 movl $0x0,(%ebx) 494251: 67 c7 43 04 01 00 00 00 movl $0x1,0x4(%ebx) 494259: 48 89 ef mov %rbp,%rdi 49425c: 67 c7 43 08 00 00 00 00 movl $0x0,0x8(%ebx) 494264: e8 f7 bf ff ff callq 490260 <Perl_sv_setsv> 494269: 8b 15 41 b5 27 00 mov 0x27b541(%rip),%edx # 70f7b0 <PL_tmps_ix> 49426f: 8b 3d 03 bd 27 00 mov 0x27bd03(%rip),%edi # 70ff78 <PL_tmps_max> 494275: 44 8b 15 3c c0 27 00 mov 0x27c03c(%rip),%r10d # 7102b8 <PL_tmps_stack> 49427c: 44 8d 4a 01 lea 0x1(%rdx),%r9d 494280: 41 39 f9 cmp %edi,%r9d 494283: 44 89 0d 26 b5 27 00 mov %r9d,0x27b526(%rip) # 70f7b0 <PL_tmps_ix> 49428a: 7d 1c jge 4942a8 <Perl_sv_mortalcopy+0x88> 49428c: 67 43 89 1c 8a mov %ebx,(%r10d,%r9d,4) 494291: 67 81 4b 08 00 08 00 00 orl $0x800,0x8(%ebx) 494299: 83 c4 10 add $0x10,%esp 49429c: 48 89 e8 mov %rbp,%rax 49429f: 5b pop %rbx 4942a0: 5d pop %rbp 4942a1: 41 5c pop %r12 4942a3: c3 retq 4942a4: 0f 1f 40 00 nopl 0x0(%rax) 4942a8: be 00 02 00 00 mov $0x200,%esi 4942ad: 81 ff 00 02 00 00 cmp $0x200,%edi 4942b3: 41 b8 80 00 00 00 mov $0x80,%r8d 4942b9: 89 f1 mov %esi,%ecx 4942bb: 41 0f 4c c8 cmovl %r8d,%ecx 4942bf: 8d 34 0f lea (%rdi,%rcx,1),%esi 4942c2: 8b 3d f0 bf 27 00 mov 0x27bff0(%rip),%edi # 7102b8 <PL_tmps_stack> 4942c8: 89 35 aa bc 27 00 mov %esi,0x27bcaa(%rip) # 70ff78 <PL_tmps_max> 4942ce: c1 e6 02 shl $0x2,%esi 4942d1: 85 f6 test %esi,%esi 4942d3: 74 2b je 494300 <Perl_sv_mortalcopy+0xe0> 4942d5: 85 ff test %edi,%edi 4942d7: 74 6f je 494348 <Perl_sv_mortalcopy+0x128> 4942d9: e8 52 d6 f6 ff callq 401930 <realloc@plt> 4942de: 85 c0 test %eax,%eax 4942e0: 74 4e je 494330 <Perl_sv_mortalcopy+0x110> 4942e2: 44 8b 0d c7 b4 27 00 mov 0x27b4c7(%rip),%r9d # 70f7b0 <PL_tmps_ix> 4942e9: 41 89 c4 mov %eax,%r12d 4942ec: 44 89 25 c5 bf 27 00 mov %r12d,0x27bfc5(%rip) # 7102b8 <PL_tmps_stack> 4942f3: 45 89 e2 mov %r12d,%r10d 4942f6: eb 94 jmp 49428c <Perl_sv_mortalcopy+0x6c> 4942f8: 0f 1f 84 00 00 00 00 00 nopl 0x0(%rax,%rax,1) 494300: 45 31 e4 xor %r12d,%r12d 494303: 85 ff test %edi,%edi 494305: 74 e5 je 4942ec <Perl_sv_mortalcopy+0xcc> 494307: e8 b4 d1 f6 ff callq 4014c0 <free@plt> 49430c: 44 8b 0d 9d b4 27 00 mov 0x27b49d(%rip),%r9d # 70f7b0 <PL_tmps_ix> 494313: eb d7 jmp 4942ec <Perl_sv_mortalcopy+0xcc> 494315: 0f 1f 00 nopl (%rax) 494318: 67 48 89 7c 24 08 mov %rdi,0x8(%esp) 49431e: e8 2d de fe ff callq 482150 <more_sv.lto_priv.92> 494323: 67 48 8b 74 24 08 mov 0x8(%esp),%rsi 494329: 89 c3 mov %eax,%ebx 49432b: e9 18 ff ff ff jmpq 494248 <Perl_sv_mortalcopy+0x28> 494330: 80 3d cd c2 27 00 00 cmpb $0x0,0x27c2cd(%rip) # 710604 <PL_nomemok> 494337: 74 27 je 494360 <Perl_sv_mortalcopy+0x140> 494339: 44 8b 0d 70 b4 27 00 mov 0x27b470(%rip),%r9d # 70f7b0 <PL_tmps_ix> 494340: 45 31 e4 xor %r12d,%r12d 494343: eb a7 jmp 4942ec <Perl_sv_mortalcopy+0xcc> 494345: 0f 1f 00 nopl (%rax) 494348: 89 f7 mov %esi,%edi 49434a: e8 11 9d 01 00 callq 4ae060 <Perl_safemalloc> 49434f: 44 8b 0d 5a b4 27 00 mov 0x27b45a(%rip),%r9d # 70f7b0 <PL_tmps_ix> 494356: 41 89 c4 mov %eax,%r12d 494359: eb 91 jmp 4942ec <Perl_sv_mortalcopy+0xcc> 49435b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 494360: 8b 0d fe b8 27 00 mov 0x27b8fe(%rip),%ecx # 70fc64 <stderr@@GLIBC_2.16> 494366: ba 0f 00 00 00 mov $0xf,%edx 49436b: be 01 00 00 00 mov $0x1,%esi 494370: bf f0 fe 4f 00 mov $0x4ffef0,%edi 494375: e8 d6 d1 f6 ff callq 401550 <fwrite@plt> 49437a: e8 c1 08 04 00 callq 4d4c40 <Perl_my_exit.constprop.28> 49437f: eb b8 jmp 494339 <Perl_sv_mortalcopy+0x119> 494381: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0(%rax,%rax,1) 49438b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) This may be miscompiled.