https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67215
--- Comment #2 from Andrew Senkevich <andrew.n.senkevich at gmail dot com> --- -bash-4.2$ cat test.c extern int proc2(int); int proc( void) { int i = proc2( 3); return i; } gcc test.c -S -pie -fpie -o test.1.S gcc test.c -S -pie -fpie -fno-plt -o test.2.S -bash-4.2$ cat test.1.S .file "test.c" .text .globl proc .type proc, @function proc: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 subq $16, %rsp movl $3, %edi call proc2@PLT movl %eax, -4(%rbp) movl -4(%rbp), %eax leave .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size proc, .-proc .ident "GCC: (GNU) 6.0.0 20150812 (experimental)" .section .note.GNU-stack,"",@progbits -bash-4.2$ cat test.2.S .file "test.c" .text .globl proc .type proc, @function proc: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 subq $16, %rsp movq proc2@GOTPCREL(%rip), %rax movl $3, %edi call *%rax movl %eax, -4(%rbp) movl -4(%rbp), %eax leave .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size proc, .-proc .ident "GCC: (GNU) 6.0.0 20150812 (experimental)" .section .note.GNU-stack,"",@progbits