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 ascodesign --entitlements gdb.xml -fs gdb_codesign $(which gdb)
, where gdb.xml is the one in the repo.