Talk:Executable and Linkable Format

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing  
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

Mac OS X using ELF?[edit]

Does Mac OS X use ELF?? -- Michael

See Talk:Mac OS X. Dysprosia 07:50, 30 Sep 2003 (UTC)
No, it uses Mach-O... --Unsound 19:05, 26 April 2007 (UTC)

In-process vs. out-of-process object sharing[edit]

I think this should also reference OLE Object linking and embedding, which I think may embody the MS way and Maybe Component Object Model Where the *nix way is more of a Process model or some such. Quinobi 21:19, 9 July 2005 (UTC)

Executable image formats have nothing to do with object linking models. One could implement OLE and COM using ELF (and COM objects can be "in-process", linked into the address space of the calling process, or "out of process", running in a separate address space in a separate process); I'm not sure what "the *nix way is more of a Process model or some such" means, but if you're referring to pipelines, that can be implemented with the Windows Portable Executable format and, in fact, if the Windows NT command interpreter implements the pipe operator by building a Unix-style pipeline, somebody, namely Microsoft, did implement pipelines with processes running code in PE format. Guy Harris 23:02, 17 November 2006 (UTC)

Free ELF object file access library[edit]

free ELF object file access library might want to change to this link, old link redirects to here!

I did the following:
  1. modifyed the title given to this section by copying the title given to the link by the original poster.
  2. Assumed the section referes to executable and Linkable Format#Further reading,
LibElf and GElf — A Library to Manipulate ELF Files by Neelakanth Nadgir (August 2001)
entry, which lead to an oracle corporation page that is not directly related to the article, if at all. I have changed it the way suggested. I think the link mentioned is only important for historical reference since elfutils, which is mentioned by the article, is more current. (talk) 06:36, 30 April 2017 (UTC)


If ELF-32 indeed means the checksum used by this executable format, then it might make sense to add this link (and some explanation):

  • Jacksum — by Dipl.-Inf. (FH) Johann N. Löfflmann in Java. Various message verification functions. Released under the GPL.

Otherwise, please correct the Jacksum article. Shinobu 16:47, 24 October 2005 (UTC)

outperform != not a competitor[edit]

This sentence doesn't make sense:

Because other formats are proprietary, platform-specific, or less extensible than ELF, some users hold that ELF outperforms other formats, whereas others may consider it a competitor to the other format

I can't tell what is trying to be said. Are we suggesting that some people think that ELF's openness and flexibility make it far beyond the alternatives (to the extent that the alternatives are not options, but relics)? Even if so, the sentence doesn't read well. The first part does not contradict the second (as expected when using whereas). One competitor may outperform the alternatives.

How about something more like: Since it is nonproprietary, platform-agnostic, and extensible, many users consider ELF to be far beyond its competitors.

Or perhaps remove the line entirely.

--JamesBrownJr 21:10, 6 June 2006 (UTC)

ELF Problems[edit]

Someone should add a section about ELF's significant problems, especially regarding dynamic linking semantics. See: [1] and [2] —The preceding unsigned comment was added by (talkcontribs) 10:10, 13 November 2006 (UTC).

See also Porting UNIX/Linux applications to Mac OS X: Understanding Two-Level Namespaces and Mac OS X Developer Release Notes: Two-Level Namespace Executables, as perhaps what the ELF section of the "Linux Problems" page of the Autopackage Wiki calls "hash" sometimes has ingredients that don't taste too bad, even if the hash as a whole isn't to your taste. Guy Harris 00:10, 14 November 2006 (UTC)

Strangely formulated sentence...[edit]

From the article: "Today the ELF format has replaced [snip] FreeBSD, NetBSD, and OpenBSD operating systems (DragonFly BSD was forked from FreeBSD after the switch to ELF)" If DragonFly BSD was forked from FreeBSD _after_ the switch, then it should too use ELF? I think the it should say "before the switch"... but I'm tired and maybe my mind is playing tricks on me. --Unsound 19:09, 26 April 2007 (UTC)

No, those are the systems in which ELF replaced a.out/COFF. Dragonfly BSD was forked after switching to ELF, so it's always had ELF, therefore ELF didn't replace anything.

File recognition[edit]

Imagine a file without a file extension, how can an operating system know whether this file is an ELF executable or not? --Abdull 16:15, 27 June 2007 (UTC)

Magic numbers. See here. Chris Cunningham 16:27, 27 June 2007 (UTC)

DragonFly BSD[edit]

I removed the parenthetical mention of DragonFly BSD from the introduction because it was not clear to me whether it meant that it does or does not use ELF. The previous text read:

"[ELF is used in] ... and OpenBSD operating systems (DragonFly BSD was forked from FreeBSD after the switch to ELF)."

-- Dmeranda 18:50, 17 October 2007 (UTC)

Name of the article[edit]

The lede calls it "Executable and Linking Format". However, the article _title_ is "Executable and linkable format". Since all the extant docs I can find call it the latter - would any of y'all have objections to renaming the article to the "linkable" version? (It'd require administrator intervention, however, to remove the target.) --moof (talk) 07:54, 24 March 2008 (UTC)


86open appears to be a historical footnote of ELF. Unless there were other important products of 86open, I'm unsure if there's really more to say about it. Ham Pastrami (talk) 10:34, 19 July 2008 (UTC)

Agreed, let's merge Jalwikip (talk) 12:39, 1 August 2008 (UTC)
Copied over x86open content samj (talk) 13:52, 5 August 2008 (UTC)
Merge completed samj (talk) 13:56, 5 August 2008 (UTC)
This does not look good. Either the merge was sloppy or the merge should not have been done or the 86open material is not encyclopedia worthy. I personally think the merge should be reversed. If 86open is a footnote, the ELF article should not be cluttered by it. --Kvng (talk) 16:01, 31 March 2010 (UTC)
The 86open page should not have been merged with the ELF article. Notability of 86open was discussed and agreed upon in that (former) article's talk page. The merge should be reversed and links to the 86open article placed here citing it as an industry wide adoption of ELF as the standard binary format. Ronald Joe Record (talk) 19:55, 31 March 2010 (UTC)

C Process Map is Wrong?[edit]

The C Process Map appears to be wrong. The variable z is shown twice and y is missing. Also, the "Dynamic/Runtime" view appears to be wrong (e.g. the stack grows down not up and the heap and text sections appear to be in the wrong place). It is a very useful image so it would be good to keep it if it can be corrected, although a .svg file format would be a better choice. Tim Watson (talk) 16:12, 6 December 2008 (UTC)

Ownership, Governance, and Licensing[edit]

Who owns the ELF format, how it is governed (i.e. what entity makes changes and through what process), and is the format available under a free license? —Preceding unsigned comment added by (talk) 06:44, 20 May 2010 (UTC)


FatELF redirects here, but the page says nothing about it. Someone more knowledgeable should add some explanation, or just delete the redirect. —Preceding unsigned comment added by (talk) 04:45, 13 August 2010 (UTC)

added some info, fixed. (talk) 12:32, 12 November 2010 (UTC)

Broken Links?[edit]

It seems the link to the Motorola 8 and 16 bit Embedded ABI PDF is broken, and there doesn't appear to be another copy elsewhere.

[3] found one. Shaddim (talk) 17:53, 2 December 2011 (UTC)

Copyright non-compliance re this page[edit] has copied text from this article but has not credited Wikipedia as it should (see Wikipedia:Text of Creative Commons Attribution-ShareAlike 3.0 Unported License). Wikipedia does not actively challenge these sort of websites, but significant contributors to the copied text can. I have never edited this page, but if anyone has added a significant amount to the article, then you can challenge the website. The guide for this can be found at Wikipedia:Mirrors and forks#Non-compliance process. —Half Price 12:09, 21 December 2010 (UTC)

False claims about the original developer of ELF in the article[edit]

The article claims ELF has been developed by USL, but it rather was an initiative from Sun Microsystems to abandon both a.out and COFF on SVr4. I've been on a talk from Bill Joy in December 1988 at the Sun User Group Conference where he even explained details of ELF before the Svr4 project begun. Schily (talk) 10:26, 23 December 2014 (UTC)

As usual, the focus is on reliable sources, i.e., published. Your comment does not suggest a suitable source by which the topic can be improved. TEDickey (talk) 17:05, 25 December 2014 (UTC)
We all know about your problematic relation to reliable sources. Do you have a reliable source that verifies ELF as a AT&T invention? Schily (talk) 13:34, 26 December 2014 (UTC)
Hello! Well, this is what the ELF specification says on its page three:
The Executable and Linking Format was originally developed and published by UNIX System Laboratories (USL) as part of the Application Binary Interface (ABI). The Tool Interface Standards committee (TIS) has selected the evolving ELF standard as a portable object file format that works on 32-bit Intel Architecture environments for a variety of operating systems.
... and that's what the article's lead section says as well. — Dsimic (talk | contribs) 06:18, 29 December 2014 (UTC)
A document that is in conflict with historical facts is not trustworthy. Note that the document mentions all kind of company names but omits Sun Microsystems. It would be nice if the article did follow historical facts, e.g. that Bill Joy mentioned ELF and DWARF in 1988 already on a Sun User Group conference as something that Sun was at least a co-author. Schily (talk) 11:21, 29 December 2014 (UTC)
Totally understood, but we would need a reference that provides such information. Tried to search for it a few minutes ago, but unfortunately found nothing that even mentions ELF in the context of a 1988 Sun User Group meeting. Any chances, please, for a reference? — Dsimic (talk | contribs) 11:55, 29 December 2014 (UTC)
I understand the problem and the wish to have something written to prove the statement. In 1988, even in the US there have been very few people with internet access, so there is also few hope to find something related in the internet. On the other side, there are several hundered people here that have been at that Solaris User Group meeting and it may be that one or more from these people read WP. Schily (talk) 21:38, 29 December 2014 (UTC)
Yes, that's quite an issue, as many not-so-grandiose things back from those days simply haven't been covered well or at all. Unfortunately, I don't see how could we "turn" such things into what Wikipedia considers to be reliable sources. — Dsimic (talk | contribs) 22:36, 29 December 2014 (UTC)
It is probably hard to find a reliable source for the talk from Bill Joy on the Sun User Group meeting. This is however no reason to keep an unreliable source (corrently even without a hint about it's questionable content) and a derived statement about the initiator of the ELF format. A trustworthy encyclopedia cannot keep such questionable claims uncommented. Schily (talk) 14:25, 30 December 2014 (UTC)
Any chances, please, for clarifying a bit why do you find the ELF specification to be an unreliable source? — Dsimic (talk | contribs) 14:55, 30 December 2014 (UTC)
I mentioned already why this ELF document is not trustworthy: It is a well known fact that Sun Microsystems was at least a co-developer of the ELF format, even if we do not regard the talk from Bill Joy at the Sun User Group conference in 1988. Well, the debug format associated with ELF is called DWARF and AT&T would not use such names (see e.g. the two incidents with SVr4 enforced by AT&T: AT&T forced Sun to rename the kernel internal function as_hole() to as_gap() and AT&T removed the following troff comment from the tunefs man page:
.\" Take this out and a Unix Demon will dog your steps from now until
.\" the time_t's wrap around.
just before the text:
You can tune a file system, but you can't tune a fish.
So you see that there is no humor inside AT&T that would make a name like DAWRF a plausible AT&T idea next to "ELF". Let me repeat the other argument as well: Why should a document like the ELF document in question be trustworthy if it mentions all companies but Sun Microsystems? Schily (talk) 18:27, 30 December 2014 (UTC)
All these anecdotal remarks are really great and I love them. :) Thank you! Though, while working on improving Wikipedia articles, we simply must play by the rules and base the content of articles on reliable sources. Thus, the answer to your question is that the ELF specification simply fulfills the requirements set by WP:RS (or WP:SCHOLARSHIP in particular) – it's an official standard, published by a reputable organization. While working as Wikipedia editors, we surely can (and should, to some extent at least) always question the sources, but only by finding and providing other sources. — Dsimic (talk | contribs) 20:21, 30 December 2014 (UTC)
COFF#History states that COFF was a major problem with SysV releases prior to SVR4. In view of UNIX System V#SVR4, it is no wonder Bill Joy of Sun could talk about ELF on December 1988. Still, it looks to me that both UNIX System V#SVR4, UNIX System V#AT&T support and Unix Systems Laboratories implicitly support UCS developed ELF, though probably many other organizations were, some more and some less, involved. (talk) 18:35, 30 April 2017 (UTC)

Wii using ELF?[edit]

While homebrew are often implemented as ELF files, AFAIK, all commercial games ship .dol executable files instead or ELF files. — Preceding unsigned comment added by (talk) 09:35, 16 July 2015 (UTC)

Is header offset information correct?[edit]

For example, here it says that instruction set is on bytes 18-19. I just checked on my system and it's correct but in this article it says that instruction set is on byte 12. Is this wrong?

EDIT: well, it's ok if you look differently at offset, probably `offset' has different meanings on and here

Aoeuidhtn (talk) 21:38, 23 January 2016 (UTC)