This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/34622] [4.3 Regression] gcc.c-torture/execute/20000801-4.c fails at -O1 and above
- From: "dominiq at lps dot ens dot fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 7 Jan 2008 10:06:07 -0000
- Subject: [Bug middle-end/34622] [4.3 Regression] gcc.c-torture/execute/20000801-4.c fails at -O1 and above
- References: <bug-34622-12313@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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