This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/34622] [4.3 Regression] gcc.c-torture/execute/20000801-4.c fails at -O1 and above



------- Comment #8 from dominiq at lps dot ens dot fr  2008-01-07 10:06 -------
        .cstring
LC0:
        .ascii "\0"
        .space 1
        .text
.globl _foo
_foo:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        call    ___i686.get_pc_thunk.cx
"L00000000001$pb":
        leal    LC0-"L00000000001$pb"(%ecx), %eax
        cmpb    $0, 1(%eax)
        sete    %al
        movzbl  %al, %eax
        leave
        ret
        .cstring
LC1:
        .ascii "x\0"
        .text
.globl _main
_main:
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ebx
        subl    $36, %esp
        call    ___i686.get_pc_thunk.bx
"L00000000002$pb":
        movzwl  LC1-"L00000000002$pb"(%ebx), %eax
        movw    %ax, -10(%ebp)
        leal    -10(%ebp), %edx
        movl    L_t$non_lazy_ptr-"L00000000002$pb"(%ebx), %eax
        movl    %edx, (%eax)
        call    _foo
        testl   %eax, %eax
        je      L4
        movl    $0, (%esp)
        call    L_exit$stub
L4:
        call    L_abort$stub
.comm _t,4,2
        .picsymbol_stub
L_abort$stub:
        .indirect_symbol _abort
        call    LPC$1
LPC$1:  popl    %eax
        movl    L1$lz-LPC$1(%eax),%edx
        jmp     *%edx
L_abort$stub_binder:
        lea     L1$lz-LPC$1(%eax),%eax
        pushl   %eax
        jmp     dyld_stub_binding_helper
        .lazy_symbol_pointer
L1$lz:
        .indirect_symbol _abort
        .long L_abort$stub_binder
        .picsymbol_stub
L_exit$stub:
        .indirect_symbol _exit
        call    LPC$2
LPC$2:  popl    %eax
        movl    L2$lz-LPC$2(%eax),%edx
        jmp     *%edx
L_exit$stub_binder:
        lea     L2$lz-LPC$2(%eax),%eax
        pushl   %eax
        jmp     dyld_stub_binding_helper
        .lazy_symbol_pointer
L2$lz:
        .indirect_symbol _exit
        .long L_exit$stub_binder
        .non_lazy_symbol_pointer
L_t$non_lazy_ptr:
        .indirect_symbol _t
        .long   0
        .subsections_via_symbols
        .section __TEXT,__textcoal_nt,coalesced,pure_instructions
        .weak_definition        ___i686.get_pc_thunk.cx
        .private_extern ___i686.get_pc_thunk.cx
___i686.get_pc_thunk.cx:
        movl    (%esp), %ecx
        ret
        .weak_definition        ___i686.get_pc_thunk.bx
        .private_extern ___i686.get_pc_thunk.bx
___i686.get_pc_thunk.bx:
        movl    (%esp), %ebx
        ret


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34622


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]