Explore the internal structure and components of Go binaries in this 45-minute conference talk from GoLab. Discover what exists beyond the compiled program code by examining ELF sections and their usage in executables. Learn about core binary components including the runtime, function name information for stack traces, and type data for reflection. Dive into common ELF sections like .text, .data, .bss, .rodata, and .symtab while understanding their specific purposes. Examine specialized sections such as gopclntab, gosymtab, and go.buildinfo through analysis of Go linker code. Follow along with a practical demonstration that compiles and analyzes a small Go program to visualize how information is organized within binary sections. Gain deeper insights into how the Go runtime utilizes binary data for stack traces, debugging, reflection, and profiling capabilities.
Overview
Syllabus
Deep dive into a Go binary - Jesús Espino 01
Taught by
GoLab conference