<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Thanks Mark,</p>
<p>With that I found this good history, and more detail on the ELF
format.</p>
<p><a class="moz-txt-link-freetext" href="https://www-users.cse.umn.edu/~smccaman/courses/8980/spring2020/lectures/04-elf-v2-8up.pdf">https://www-users.cse.umn.edu/~smccaman/courses/8980/spring2020/lectures/04-elf-v2-8up.pdf</a></p>
<p>It even mentions the COFF format used before ELF.</p>
<p>Craig...<br>
</p>
<div class="moz-cite-prefix">On 10/25/25 3:44 PM, James Canova
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CACXjE7TLDeXpOcdDZ6HbE=1BkK9yufRa+2AJeV7onospYepppQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<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"
moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">Projects@vicpimakers.ca</a><br>
<a
href="http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca"
rel="noreferrer noreferrer" target="_blank"
moz-do-not-send="true">http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca</a><br>
</blockquote>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
</blockquote>
<div class="moz-signature">-- <br>
IPv6 is the future, the future is here<br>
<a href="ipv6hawaii.org">ipv6hawaii.org</a></div>
</body>
</html>