.text .globl foo .def foo; .scl 2; .type 32; .endef foo: pushq %rbp movq %rsp, %rbp subq $32, %rsp movl %ecx, 16(%rbp) movq .refptr.bar1(%rip), %rax testq %rax, %rax je .L2 call bar1 .L2: movq .refptr.bar2(%rip), %rax testq %rax, %rax je .L3 call bar2 .L3: movl 16(%rbp), %eax imull %eax, %eax addq $32, %rsp popq %rbp ret .weak bar2 .weak bar1 .def bar1; .scl 2; .type 32; .endef .def bar2; .scl 2; .type 32; .endef .section .rdata$.refptr.bar2, "dr" .globl .refptr.bar2 .linkonce discard .refptr.bar2: .quad bar2 .section .rdata$.refptr.bar1, "dr" .globl .refptr.bar1 .linkonce discard .refptr.bar1: .quad bar1