[VicPiMakers Projects] How programs get run: ELF binaries

James Canova jscanova at gmail.com
Sat Oct 25 19:16:06 PDT 2025


Deid,

I'm trying to figure out how the memory is organized on an Arduino because
the program I'm trying to upload sometimes don't fit. ELF files became part
of the conversation at some point because I think the idea is they contain
all the info about memory allocation and usage.

James

On Sat, Oct 25, 2025, 6:12 p.m. Deid Reimer <deid at drtr.net> wrote:

> It's been years since I have needed to think about ELF.  What brought this
> up this morning?  And I'm sorry I missed it.
>
> Deid   VA7REI
> On Oct 25, 2025, at 3:56 p.m., Craig Miller <cvmiller at gmail.com> wrote:
>>
>> Thanks Mark,
>>
>> With that I found this good history, and more detail on the ELF format.
>>
>>
>> https://www-users.cse.umn.edu/~smccaman/courses/8980/spring2020/lectures/04-elf-v2-8up.pdf
>>
>> It even mentions the COFF format used before ELF.
>>
>> Craig...
>> On 10/25/25 3:44 PM, James Canova wrote:
>>
>> Super.
>>
>> On Sat, Oct 25, 2025, 3:31 p.m. Mark G. <vicpm+25 at palaceofretention.ca>
>> wrote:
>>
>>> This popped up on Hacker News, and it was related to today's
>>> discussion with James and Dave.
>>>
>>> How programs get run: ELF binaries
>>>
>>> https://lwn.net/Articles/631631/
>>>
>>> It's an old article (2015), but I doubt that makes much of
>>> a difference.
>>>
>>> An excerpt:
>>>
>>> "The ELF format
>>>
>>> The ELF (Executable and Linkable Format) format is the main
>>> binary format in use on modern Linux systems, and support
>>> for it is implemented in the file fs/binfmt_elf.c. It's also
>>> a slightly complicated format for the kernel to handle; the
>>> main load_elf_binary() function spans over 400 lines, and
>>> the ELF support code is more than four times as big as the
>>> code that supports the old a.out format.
>>>
>>> An ELF file for an executable program (rather than a shared
>>> library or an object file) must always contain a program
>>> header table near the start of the file, after the ELF header;
>>> each entry in this table provides information that is needed
>>> to run the program. ..."
>>>
>>>
>>>
>>>
>>> --
>>> Projects mailing list
>>> Projects at vicpimakers.ca
>>> http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca
>>>
>>
>> --
>> IPv6 is the future, the future is here
>> ipv6hawaii.org
>>
>> --
>> Projects mailing list
>> Projects at vicpimakers.ca
>> http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca
>>
>> --
> Projects mailing list
> Projects at vicpimakers.ca
> http://vicpimakers.ca/mailman/listinfo/projects_vicpimakers.ca
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://vicpimakers.ca/pipermail/projects_vicpimakers.ca/attachments/20251025/2d66070a/attachment-0001.htm>


More information about the Projects mailing list