Dynamic Binding

Tells dyld which addresses need to be adjusted at runtime.

Bind Opcodes

???

Non-Lazy Binding

???

Inspectable via llvm-objdump --macho --bind.

Lazy Binding

In ELF, these bindings are done through the PLT. Mach-O calls its structures “stubs” instead. (TODO: elaborate)

Inspectable via llvm-objdump --macho --lazy-bind.

Weak Binding

???

Inspectable via llvm-objdump --macho --weak-bind.

Rebase Opcodes

Tells the runtime which addresses need to have a constant offset added to them (i.e. “rebased”) if the binary is loaded at a non-zero address.

Inspectable via llvm-objdump --macho --rebase.