TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Evolution of the ELF object file format

148 pointsby MaskRay12 months ago

5 comments

MaskRay12 months ago
A few folks have asked me the generic ABI status (unmaintained?) and the availability of an up-to-date specification (no). I compiled “History” and “Evolution of the generic ABI” in the blog post.<p>I have two specific questions:<p>- Key features (symbol visibility, section groups, SHF_MERGE, etc) were all available as of April 2001. Where can we find the discussion mailing lists? Are they still available?<p>- How does the ABI end up being “All rights reserved” by SCO? Tool Interface Standard (TIS) Portable Formats Specification, version 1.2 effectively put the specification in the public domain.
评论 #40490828 未加载
评论 #40495694 未加载
评论 #40496151 未加载
评论 #40490322 未加载
评论 #40497048 未加载
yjftsjthsd-h12 months ago
&gt; Q18: How can you get a single binary to work identically across all these diverse systems?<p>&gt; Most Unix-on-Intel binary packages are already largely similar. Almost all such operating systems use the &quot;ELF&quot; binary &#x27;packaging&#x27;; the various operating systems have small but significant differences, though, that make each system&#x27;s ELF binary unusable on others&#x27;.<p>Though the scope has diminished with the decline of proprietary unixen, there is a nice bright spot with APE binaries ( <a href="https:&#x2F;&#x2F;justine.lol&#x2F;ape.html" rel="nofollow">https:&#x2F;&#x2F;justine.lol&#x2F;ape.html</a> ) which are in some regards even <i>more</i> portable since they work on Darwin (which natively uses Mach-O) and NT (which natively uses PE).
评论 #40498180 未加载
matheusmoreira12 months ago
&gt; Despite this uncertainty, innovation within the ELF ecosystem should continue.<p>&gt; In practice, achieving consensus among major toolchain vendors (GNU and LLVM) may be sufficient, even without formal approval from the generic ABI.<p>That makes it sound easy. GNU projects seem to be very conservatively maintained. LLVM has around one trillion open pull requests.<p>I came up with a little mechanism to get the kernel to automatically load into memory data embedded into the program. I used it in my programming language to embed code into the interpreter so that they can be automatically loaded and executed.<p><a href="https:&#x2F;&#x2F;www.matheusmoreira.com&#x2F;articles&#x2F;self-contained-lone-lisp-applications" rel="nofollow">https:&#x2F;&#x2F;www.matheusmoreira.com&#x2F;articles&#x2F;self-contained-lone-...</a><p>Only the maintainer of the relatively new mold linker cared to implement a helpful feature to make this kind of thing possible and easy. I requested the same feature in GNU ld and the idea wasn&#x27;t exactly received with enthusiasm. I&#x27;m not sure LLVM ever received it at all.<p>And that was just a linker option to add some extra PT_NULL segments for easy and efficient patching. Can&#x27;t even imagine the effort it would take to <i>actually change</i> something about this ABI.
评论 #40499812 未加载
kibwen12 months ago
I&#x27;d be interested in reading about the history of object file formats in general. I&#x27;m wondering what motivates them being so relatively complicated for something that seems so conceptually simple; is it historical baggage or is it essential complexity?
评论 #40498203 未加载
评论 #40497309 未加载
CalChris12 months ago
Who controls the ELF standard? The best I can tell is that you submit a pull request with LLVM and maybe GCC.
评论 #40494124 未加载