.text .type foo_resolver, @function foo_resolver: ret .size foo_resolver, .-foo_resolver .globl foo1 .type foo1, %gnu_indirect_function .set foo1, foo_resolver .globl foo2 .type foo2, %gnu_indirect_function .set foo2, foo_resolver .globl bar .type bar, @function bar: .L1: auipc x1, %got_pcrel_hi (foo1) .ifdef __64_bit__ ld x1, %pcrel_lo (.L1) (x1) .else lw x1, %pcrel_lo (.L1) (x1) .endif call foo1 call foo1@plt .L2: auipc x2, %got_pcrel_hi (foo2) .ifdef __64_bit__ ld x2, %pcrel_lo (.L2) (x2) .else lw x2, %pcrel_lo (.L2) (x2) .endif ret .size bar, .-bar