Re: [go-nuts] How do disable vDSO for i386 and use linker script?

2020-08-11 Thread evan . mesterhazy
Thanks, Ian - this is very helpful. To address your question - the VDSO references all appear to be associated with libc. There are 284 `call *%gs:0x10` instructions in the binary. I haven't looked at all of them, but the ones that I have reviewed are inside libc symbols. Stepping over the prog

[go-nuts] How do disable vDSO for i386 and use linker script?

2020-08-11 Thread evan . mesterhazy
I am attempting to build a simple hello-world go program for a custom operating system that provides compatibility with a subset of Linux syscalls through the INT 0x80 syscall inferface. My understanding is that go uses the Linux vDSO for time functions

Re: [go-nuts] Is it possible to build without TLS (thread local storage)?

2020-08-03 Thread Evan Mesterhazy
o, come to think > of it, I'm not sure how to implement it; even pthread_setspecific > relies on TLS. > > One option would be to change Go on x86 to store the required > information in a register. That is how it works on some other > processors, so it would be feasible,

Re: [go-nuts] Is it possible to build without TLS (thread local storage)?

2020-08-01 Thread evan . mesterhazy
Hi Jan, You're right - after re-reading this I realize I could have been more specific. I am working with a custom OS kernel that supports a subset of Linux syscalls. However, it does not support TLS, which on i386 I believe typically requires OS support to set up and restore the GDT and %gs s

[go-nuts] Is it possible to build without TLS (thread local storage)?

2020-08-01 Thread evan . mesterhazy
Hi all, Is it possible to build pure Go (no cgo) programs targeting i386 without TLS support? From reviewing the compiler flags and the compiler build options it looks like this isn't possible, but I am hoping someone with knowledge on the matter can comment definitively. Thanks, Evan -- You