Binary formats and linkers
CIS4930
Syllabus, lectures, and other materials — Summer 2024

Syllabus and schedule

Syllabus

Class structure

The Canvas class modules are organized by week; new modules are usually published on Monday (Tuesday if Monday is a holiday), and most activities for most modules occur in that week.

Assignments

Assignment 1

Assignment 2

Class materials

Understanding x86_64 assembly language in the Linux ELF64 environmentment

Reference version of fork-exec

Reference version of newmodule

Reference version of code-no-ld-elf

On the structure of bits

Other material

An amusing test of your preconceptions about C's integer typing: Quiz on C's integer typing (x86_64)

Older and for 32bit, but very much in the spirit of this class: A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux (x86_32)

Compiler Explorer: https://goldbolt.org

When One is Not One