I solved my problem pushing the address on the stack and returning.
0000000000000000 <.text>:
0: 49 c7 c1 dc 45 33 00 mov $0x3345dc,%r9
7: 4c 8d 54 24 08 lea 0x8(%rsp),%r10
c: 4d 89 0a mov %r9,(%r10)
f: ff 34 25 70 10 40 00 pushq 0x401070
16: c3 retq
The problem was that one cannot easily specify a 64bit address in a jmp instruction. The assembler does not know where is this code going to be, it sets aside 32-bits for a near jump and adds a relocation section that tells the linker to update this region with the correct data.