#name: kvx-farcall-back #source: farcall-back.s #as: #ld: -Ttext 0x1000 --section-start .foo=0x80001000 #objdump: -dr #... Disassembly of section .text: .* <_start>: .*: .. .. .. .. call .* <__bar1_veneer>;; .*: .. .. .. .. goto .* <__bar1_veneer>;; .*: .. .. .. .. call .* <__bar2_veneer>;; .*: .. .. .. .. goto .* <__bar2_veneer>;; .*: .. .. .. .. call .* <__bar3_veneer>;; .*: .. .. .. .. goto .* <__bar3_veneer>;; .*: 00 00 d0 0f ret;; ... .* <_back>: .*: 00 00 d0 0f ret;; .* <__bar3_veneer>: .*: 00 .. 40 e0 0c 00 20 00 make \$r16 = .* \(0x.*\);; .*: 10 00 d8 0f igoto \$r16;; .* <__bar2_veneer>: .*: 00 .. 40 e0 08 00 20 00 make \$r16 = .* \(0x.*\);; .*: 10 00 d8 0f igoto \$r16;; .* <__bar1_veneer>: .*: 00 .. 40 e0 04 00 20 00 make \$r16 = .* \(0x.*\);; .*: 10 00 d8 0f igoto \$r16;; Disassembly of section .foo: .* : .*: 00 00 d0 0f ret;; .*: .. .. .. .. goto .* <___start_veneer>;; ... .* : .*: 00 00 d0 0f ret;; .*: .. .. .. .. goto .* <___start_veneer>;; ... .* : .*: 00 00 d0 0f ret;; .*: .. .. .. .. goto .* <___back_veneer>;; .* <___start_veneer>: .*: 00 .. 40 e0 04 00 00 00 make \$r16 = .* \(0x.*\);; .*: 10 00 d8 0f igoto \$r16;; .* <___back_veneer>: .*: 00 .. 40 e0 08 00 00 00 make \$r16 = .* \(0x.*\);; .*: 10 00 d8 0f igoto \$r16;;