2
<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>
<p>I just invented what I describe as &quot;fractal dynamic linking&quot;</p>
<p><span class="h-card" translate="no"><a href="https://sigmoid.social/@ocramz" class="u-url mention">@<span>ocramz</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.well.com/@rk" class="u-url mention">@<span>rk</span></a></span> I had no idea the &quot;ancient Greek&quot; lion was…Scandinavian!</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.well.com/@rk" class="u-url mention">@<span>rk</span></a></span> <span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention">@<span>shriramk</span></a></span> <a href="https://en.m.wikipedia.org/wiki/Piraeus_Lion" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">en.m.wikipedia.org/wiki/Piraeu</span><span class="invisible">s_Lion</span></a> here&#39;s one you can still see in my hometown</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@shriramk" class="u-url mention">@<span>shriramk</span></a></span> </p><p>Oh yeah! There’s even runic graffiti in…some mosque I can’t remember which…that basically says “Olaf was here” or whatever.</p>
<p>Pretty certain the single most surprising thing I&#39;ve learned in the recent past is that the VIKINGS got to BAGHDAD and repeatedly attacked CONSTANTINOPLE. (They used the Volga&amp;Dnieper.) Not a word about it in my entire education! Here&#39;s a brief history:<br /><a href="https://www.history.com/news/globetrotting-vikings-the-quest-for-constantinople" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">history.com/news/globetrotting</span><span class="invisible">-vikings-the-quest-for-constantinople</span></a></p>
<p>full historical analysis of the malloc(0) and realloc(…, 0) fiasco: <a href="https://nabijaczleweli.xyz/content/blogn_t/017-malloc0.html" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">nabijaczleweli.xyz/content/blo</span><span class="invisible">gn_t/017-malloc0.html</span></a></p>
<p>okay it&#39;s just because SVID says this probably</p>
<p>hey <span class="h-card" translate="no"><a href="https://pony.social/@thephd" class="u-url mention">@<span>thephd</span></a></span> does Very Old ISO C have Rationales or &quot;History of Decision Made&quot;s (I would like to know if the reason C allows malloc(0)=0 is because it believes the SVID which says this happens on SysV (it doesn&#39;t, the manual lies. malloc(0)≠0 always (unless OOM), and this has always been the case in every malloc implementation ever (on anything unix-shaped)))</p>