Does anyone actually use the large code-model?
This title could be clearer and more informative.Try out Clickbait Shieldfor free (5 uses left this month).
An exploration of why the large code-model for x86-64 binaries is largely unusable in practice despite its theoretical purpose. Compiling large binaries with the large code-model triggers a cascade of failures: LLVM's lld linker would crash on .eh_frame_hdr data beyond 2GiB (recently fixed), libgcc and libunwind crash on sdata8 encoding or fall back to linear search (causing ~700x performance regression), TLS fast-path breaks due to 32-bit offset limits, and the ELF string table hits a hard 4GiB cap due to a 32-bit st_name field. The author is working on making massive binaries viable without the large code-model while preserving small code-model performance, and has posted an RFC to the x86-64-abi group.
Sort: