<p>PROBLEM: although Linux intentionally limits the amount of ELF program headers to 1024, a different (possibly untentional) limit puts a hard cap at around 300 PT_LOADs, if you want the kernel to not stamp your binaries with -ENOEXEC despite not even asking your PT_INTERP</p><p>SOLUTION: by interposing a pre-linker before the program interpreter takes over, any amount of loadable segments can be mapped by the kernel as a single PT_LOAD and then split into appropriately protected regions before linking</p>
Reply