Personal project to lean low-level coding inspired by the book: Low-level programming: C, Assembly and program execution on Intel 64 architecture - by Igor Zhirkov.
The official GitHub of the book can be found here.
Besides these original idea, this project turned into an opportunity to learn more about git, makefile, GNU GDB, GNU GCC and OS principles.
-
Fedora 31 x86_64
-
Linux kernel: 5.8.18-100
-
C compiler: GCC Red Hat 9.3.1-2
-
ASM compiler: NASM 2.14.02
-
Debugger: GNU GDB 8.3.50.20190824-30.fc31
-
Make: GNU MAKE 4.2.1
In the assemblyfiles directory:
- Compile all the
.asmfiles and create thebin/andbuild/directories.
make -s- Compile that specific
.asmfile
make bin/file_name -s- Clean all the binaries
make clean - Create GDB setup and commands shortcuts for debugging
make gdbThe -s flag hides the commands that are executed.
GNU Make manual.
In the cfiles directory:
All the layout and initial configuration is done by the commands written in ~/.gdbinit and assemblyfiles/bin/.gdbinit.
Besides that, all the commands can be found in GNU GDB documentation.
None