36 lines · plain
1 .section .text@comdatfunc, "x"2 .linkonce discard3 .globl comdatfunc4comdatfunc:5 leaq .Ljumptable(%rip), %rax6 movslq (%rax, %rcx, 4), %rcx7 addq %rcx, %rax8 jmp *%rax9 10 .section .rdata, "dr"11 .long 0xcccccccc12.Ljumptable:13 .long .Ltail1-.Ljumptable14 .long .Ltail2-.Ljumptable15 .long .Ltail3-.Ljumptable16 .long 0xdddddddd17 18 .section .text@comdatfunc, "x"19# If assembled with binutils, the following line can be kept in:20# .linkonce discard21.Ltail1:22 movl $1, %eax23 ret24.Ltail2:25 movl $2, %eax26 ret27.Ltail3:28 movl $3, %eax29 ret30 31 .text32 .globl otherfunc33otherfunc:34 call comdatfunc35 ret36