/pgubook-macos-x86-64

Programs from the "Programming from the Ground Up 1.0" book ported to macOS (XNU kernel) and x86_64

Primary LanguageAssemblyGNU General Public License v3.0GPL-3.0

Programming from the Ground Up for macOS (x86-64)

Porting the Programming from the Ground Up 1.0 book, by Jonathan Bartlett, to macOS Mojave, using x86-64 Assembly.

Translating the pgubook to the XNU kernel that powers macOS (formerly OS X). Targets 64-bit architecture and uses NASM assembler, with Intel syntax.

Toolchain:

  • NASM version 2.14.02 (installed via Homebrew)
  • ld64 version 450.3 (clang-1001.0.46.4)

Tested with:

  • System Version: macOS 10.14.5 (18F132)
  • Kernel Version: Darwin 18.6.0 (xnu-4903.261.4~2/RELEASE_X86_64)

References:

Useful info:

  • To use gdb on macOS, code signing is required. I found this StackOverflow post useful. The instruction I usign as codesign --entitlements gdb.xml -fs gdb_codesign $(which gdb), where gdb.xml is the one in the repo.