Unwind Info =========== Tells the runtime how to unwind the stack for exception handling and debugging purposes. There are two formats in which the unwind info can be encoded: the DWARF format and the newer "compact unwind" format. The compact unwind format, as its name suggests, is more compact. However, it is limited in what it can encode; the DWARF format is more general. As such, the DWARF format continues to be used as a fallback. The compact unwind takes different forms in object files vs binaries. In object files, it can be found under the ``__compact_unwind`` section; the linker is responsible for transforming the data there into the output form, which will be written to the ``__unwind_info`` section. The DWARF info is stored in the ``__eh_frame`` section (in both object files and binaries). The ``__unwind_info`` section in output binaries will contain pointers into the ``__eh_frame`` section. Unwind info can be inspected via ``llvm-objdump --macho --unwind-info --dwarf=frames``. TODO: talk about personality functions and LSDAs