<div dir="auto">Super. </div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Oct 25, 2025, 3:31\u202fp.m. Mark G. <<a href="mailto:vicpm%2B25@palaceofretention.ca">vicpm+25@palaceofretention.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This popped up on Hacker News, and it was related to today's<br>
discussion with James and Dave.<br>
<br>
How programs get run: ELF binaries<br>
<br>
<a href="https://lwn.net/Articles/631631/" rel="noreferrer noreferrer" target="_blank">https://lwn.net/Articles/631631/</a><br>
<br>
It's an old article (2015), but I doubt that makes much of<br>
a difference.<br>
<br>
An excerpt:<br>
<br>
"The ELF format<br>
<br>
The ELF (Executable and Linkable Format) format is the main<br>
binary format in use on modern Linux systems, and support<br>
for it is implemented in the file fs/binfmt_elf.c. It's also<br>
a slightly complicated format for the kernel to handle; the<br>
main load_elf_binary() function spans over 400 lines, and<br>
the ELF support code is more than four times as big as the<br>
code that supports the old a.out format.<br>
<br>
An ELF file for an executable program (rather than a shared<br>
library or an object file) must always contain a program<br>
header table near the start of the file, after the ELF header;<br>
each entry in this table provides information that is needed<br>
to run the program. ..."<br>
<br>
<br>
<br>
<br>
-- <br>
Projects mailing list<br>
<a href="mailto:Projects@vicpimakers.ca" target="_blank" rel="noreferrer">Projects@vicpimakers.ca</a><br>
<a href="http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca" rel="noreferrer noreferrer" target="_blank">http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca</a><br>
</blockquote></div>