An introduction to calling conventions, thread-local storage, signal handling and how they relate to Go, in the context of my new port of Go to NetBSD/arm64.
Running a weird operating system comes at the cost of having to adjust software to run on it.
Go is probably one of the hardest projects to adjust.
Doing so required learning the guts of:
- ARM64 calling conventions
- signal handling
- thread-local storage
- a lot of Go-specifics
Which will be discussed in this lecture.