~/talk

How to start a program

slides:none on file

Shows exactly what Linux/ELF does when an executable starts: the kernel maps segments, sets the instruction pointer to entry point 0x1040 which lands in _start, that calls libc_start_main which iterates the ._init_array and runs C++ constructors, BSS pages are zeroed by the kernel, relocations and the GOT get fixed by the loader ld‑linux.so for shared objects, execve replaces a process while fork+exec spawns children, destructors are registered via __cxa_atexit and run in reverse order, tools used include objdump, readelf and gdb and a three‑instruction asm program returns 42 via syscall.

AI-written summary · about

  1. 0:00Introduction and scope
  2. 2:17Program execution internals
  3. 5:18Analyzing binary structure
  4. 13:04The entry point and libc
  5. 16:37Minimal program startup
  6. 20:39Fork and execve mechanics
  7. 30:44Linking and segments
  8. 38:19Static and dynamic initialization
  9. 49:25Program exit handlers
  10. 53:20Shared objects and dynamic loading
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.