Compiling a go binary to not use vDSO

Hi, I am trying to compile a go binary in Linux and then run it on another system (a unikernel) that does not have vDSO. As of now, it fails at some point when it should call gettimeofday but has an invalid address instead. From my debugging, I think this is because the unikernel does not have vDSO. Is there any way that I can compile a go binary to not use vDSO?

What are you seeing when you attempt to run your binary?

Page fault at linear address ffffffffff600000, rip ffffffffff600000, regs 0x24ff50, sp 40009fa98, our_sp 0x24ff38, code 10

The page fault is caused by a call rax instruction. At rax it should have been the address of gettimeofday which should have been solved by runtime.vdsoParseSymbols.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.