------- Comment #4 from ubizjak at gmail dot com 2009-08-22 13:51 ------- Patched gcc:
bar: pushl %ebp movl %esp, %ebp pushl %ebx subl $20, %esp movl 8(%ebp), %ebx movl %ebx, (%esp) call foo subl $4, %esp movl %ebx, 8(%ebp) movl (%ebx), %eax movl -4(%ebp), %ebx leave jmp *%eax -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40718