BSDCan2019 - 1.8

BSDCan 2019
The Technical BSD Conference

Maya Rashish
Day Talks #2 - 18 May - 2019-05-18
Room DMS 1120
Start time 16:00
Duration 01:00
ID 1080
Event type Lecture
Track Hacking
Language used for presentation English

Porting Go to netbsd/arm64

Starting out with no knowledge in Go or ARM64, how do you begin porting a language? Go might be one of the hardest languages to port.

Having done that, I came back to tell the tale of how.

  • Unusual characteristics of Go
  • Rules to write the 400 lines of assembly code necessary for a port
  • Debugging in the absence of a functional debugger

The talk will describe how to start on such a large project, how to find your way around a large unfamiliar codebase, what's a calling convention, how to debug mistakes in your Go port, and some notes about why Go chose to make such strange choices.