David S. Miller wrote: >In the generated asm on sparc64, invoke2() gets a tail-call >whereas invoke() does not. Hmmm... > > Apparently support for indirect tail-calls was added to gcc 3.4. gcc-3.3.5: 0x0000000000000000 <invoke+0>: sub $0x8,%rsp 0x0000000000000004 <invoke+4>: callq *%esi 0x0000000000000006 <invoke+6>: add $0x8,%rsp 0x000000000000000a <invoke+10>: retq gcc-3.4.4: 0x0000000000000000 <invoke+0>: mov %rsi,%r11 0x0000000000000003 <invoke+3>: jmpq *%r11d Regards Patrick