https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63318

--- Comment #6 from Richard Yao <ryao at gentoo dot org> ---
Created attachment 33523
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33523&action=edit
Updated syscall.c

That worked, although I am not sure how given that the string is missing in
assembly output:

$ gcc -S -o - syscall.c -Wall -Wextra -fno-strict-aliasing -fwrapv -O0
        .file   "syscall.c"
        .text
        .type   syscall_1, @function
syscall_1:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        movq    %rdi, -8(%rbp)
        movq    %rsi, -16(%rbp)
        movq    %rdx, -24(%rbp)
        movq    %rcx, -32(%rbp)
        movq    -8(%rbp), %rax
        movq    -16(%rbp), %rdi
        movq    -24(%rbp), %rsi
        movq    -32(%rbp), %rdx
#APP
# 14 "syscall.c" 1
        syscall
# 0 "" 2
#NO_APP
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   syscall_1, .-syscall_1
        .globl  main
        .type   main, @function
main:
.LFB1:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        pushq   %rbx
        subq    $56, %rsp
        .cfi_offset 3, -24
        movq    %fs:40, %rax
        movq    %rax, -24(%rbp)
        xorl    %eax, %eax
        movabsq $8022916924116329800, %rax
        movq    %rax, -48(%rbp)
        movl    $560229490, -40(%rbp)
        movw    $10, -36(%rbp)
        movq    $14, -56(%rbp)
        movq    -56(%rbp), %rdx
        leaq    -48(%rbp), %rax
        movq    %rdx, %rcx
        movq    %rax, %rdx
        movl    $1, %esi
        movl    $1, %edi
        call    syscall_1
        movl    $0, %eax
        movq    -24(%rbp), %rbx
        xorq    %fs:40, %rbx
        je      .L5
        call    __stack_chk_fail
.L5:
        addq    $56, %rsp
        popq    %rbx
        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE1:
        .size   main, .-main
        .ident  "GCC: (Gentoo 4.8.3 p1.1, pie-0.5.9) 4.8.3"
        .section        .note.GNU-stack,"",@progbits
$ gcc syscall.c -Wall -Wextra -fno-strict-aliasing -fwrapv -O0
$ ./a.out
Hello World!

Reply via email to