Executable and Linkable Format: Difference between revisions

Jump to navigation Jump to search
[unchecked revision][unchecked revision]
imported>Hellacioussatyr
File layout: collapsible tables
 
imported>Aavindraa
expand iecc linker ref
 
Line 1: Line 1:
{{Short description|Standard file format for executables, object code, shared libraries, and core dumps}}
{{Short description|Standard file format for executables, object code, shared libraries, and core dumps}}
{{Infobox file format
{{Infobox file format
| name = Executable and Linkable Format
| name         = Executable and Linkable Format
| icon =  
| icon         =  
| extension = none, {{Mono|.axf}}, {{Mono|.bin}}, {{Mono|.elf}}, {{Mono|.o}}, {{Mono|.out}}, {{Mono|.prx}}, {{Mono|.puff}}, {{Mono|.ko}}, {{Mono|.mod}}, and {{Mono|.so}}
| extension     = none, {{Mono|.axf}}, {{Mono|.bin}}, {{Mono|.elf}}, {{Mono|.o}}, {{Mono|.out}}, {{Mono|.prx}}, {{Mono|.puff}}, {{Mono|.ko}}, {{Mono|.mod}}, {{Mono|.AppImage}} and {{Mono|.so}}
| mime =
| mime         =  
| magic = <code>0x7F 'E' 'L' 'F'</code>
| magic         = <code>0x7F 'E' 'L' 'F'</code>
| developer = [[Unix System Laboratories]]<ref name="linuxbase-elf" />{{rp|3}}
| developer     = [[Unix System Laboratories]]<ref name="linuxbase-elf" />{{rp|3}}
| type = [[Binary file|Binary]], [[executable]], [[object code|object]], [[Library (computing)|shared library]], [[core dump]]
| type         = [[Binary file|Binary]], [[executable]], [[object code|object]], [[Library (computing)|shared library]], [[core dump]]
| container_for = Many executable binary formats
| container_for = Many executable binary formats
| released      = {{start date and age|1998|05|14|df=yes}}
| latest_release_version = 4.2 <ref>[https://gabi.xinuos.com/elf/c-history.html ELF Object File Format: Appendix C: Revision History]</ref>
| latest_release_date = {{start date and age|2025|df=yes}}
}}
}}


[[File:Elf-layout--en.svg|thumb|upright=1.2|An ELF file has two views: the program header shows the ''segments'' used at run time, whereas the section header lists the set of ''sections''.]]
[[File:Elf-layout--en.svg|thumb|upright=1.2|An ELF file has two views: the program header shows the ''segments'' used at run time, whereas the section header lists the set of ''sections''.]]


In [[computing]], the '''Executable and Linkable Format'''<ref name="linuxfoundation-elf">Tool Interface Standard (TIS) ''[https://refspecs.linuxfoundation.org/elf/TIS1.1.pdf Portable Formats Specification] Version 1.1'' (October 1993)</ref> ('''ELF''', formerly named '''Extensible Linking Format''') is a common standard [[file format]] for [[executable]] files, [[object code]], [[Shared library|shared libraries]], and [[core dump]]s. First published in the specification for the [[application binary interface]] (ABI) of the [[Unix]] operating system version named [[System V Release 4]] (SVR4),<ref>''[https://www.sco.com/developers/devspecs/gabi41.pdf System V Application Binary Interface]'' Edition 4.1 (1997-03-18)</ref> and later in the Tool Interface Standard,<ref name="linuxbase-elf">Tool Interface Standard (TIS) ''[https://refspecs.linuxbase.org/elf/elf.pdf Executable and Linking Format (ELF) Specification] Version 1.2'' (May 1995)</ref> it was quickly accepted among different vendors of [[Unix]] systems. In 1999, it was chosen as the standard binary file format for Unix and [[Unix-like]] systems on [[x86]] processors by the [[#86open|86open]] project.
In [[computing]], the '''Executable and Linkable Format'''<ref name="linuxfoundation-elf">Tool Interface Standard (TIS) ''[https://refspecs.linuxfoundation.org/elf/TIS1.1.pdf Portable Formats Specification] Version 1.1'' (October 1993)</ref> ('''ELF''', formerly named '''Extensible Linking Format''') is a common standard [[file format]] for [[executable]] files, [[object code]], [[Shared library|shared libraries]], [[device driver]]s, and [[core dump]]s. First published in the specification for the [[application binary interface]] (ABI) of the [[Unix]] operating system version named [[System V Release 4]] (SVR4),<ref>''[https://www.sco.com/developers/devspecs/gabi41.pdf System V Application Binary Interface]'' Edition 4.1 (1997-03-18)</ref> and later in the Tool Interface Standard,<ref name="linuxbase-elf">Tool Interface Standard (TIS) ''[https://refspecs.linuxbase.org/elf/elf.pdf Executable and Linking Format (ELF) Specification] Version 1.2'' (May 1995)</ref> it was quickly accepted among different vendors of [[Unix]] systems. In 1999, it was chosen as the standard binary file format for Unix and [[Unix-like]] systems on [[x86]] processors by the [[#86open|86open]] project.


By design, the ELF format is flexible, extensible, and [[cross-platform]]. For instance, it supports different [[endiannesses]] and address sizes so it does not exclude any particular [[central processing unit|CPU]] or [[instruction set architecture]]. This has allowed it to be adopted by many different [[operating system]]s on many different hardware [[Computing platform|platforms]].
By design, the ELF format is flexible, extensible, and [[cross-platform]]. For instance, it supports different [[endiannesses]] and address sizes so it does not exclude any particular [[central processing unit|CPU]] or [[instruction set architecture]]. This has allowed it to be adopted by many different [[operating system]]s on many different hardware [[Computing platform|platforms]].
Line 323: Line 326:


=== Example hexdump ===
=== Example hexdump ===
<syntaxhighlight lang="hexdump">00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
<syntaxhighlight lang="hexdump">00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  02 00 3e 00 01 00 00 00  c5 48 40 00 00 00 00 00  |..>......H@.....|</syntaxhighlight>
00000010  02 00 3e 00 01 00 00 00  c5 48 40 00 00 00 00 00  |..>......H@.....|</syntaxhighlight>
Line 661: Line 665:
It has replaced [[a.out]] and [[COFF]] formats in [[Unix-like]] operating systems:
It has replaced [[a.out]] and [[COFF]] formats in [[Unix-like]] operating systems:
* [[Linux]]
* [[Linux]]
* [[Solaris (operating system)|Solaris]] / [[Illumos]]
* [[Oracle Solaris|Solaris]] / [[Illumos]]
* [[IRIX]]
* [[IRIX]]
* [[FreeBSD]]<ref>{{Cite web | url=https://docs.freebsd.org/doc/4.9-RELEASE/usr/share/doc/handbook/binary-formats.html | title=Binary Formats | access-date=2019-03-31 | archive-date=2019-03-31 | archive-url=https://web.archive.org/web/20190331192807/https://docs.freebsd.org/doc/4.9-RELEASE/usr/share/doc/handbook/binary-formats.html | url-status=dead }}</ref>
* [[FreeBSD]]<ref>{{Cite web | url=https://docs.freebsd.org/doc/4.9-RELEASE/usr/share/doc/handbook/binary-formats.html | title=Binary Formats | access-date=2019-03-31 | archive-date=2019-03-31 | archive-url=https://web.archive.org/web/20190331192807/https://docs.freebsd.org/doc/4.9-RELEASE/usr/share/doc/handbook/binary-formats.html | url-status=dead }}</ref>
Line 668: Line 672:
* [[Redox (operating system)|Redox]]
* [[Redox (operating system)|Redox]]
* [[DragonFly BSD]]
* [[DragonFly BSD]]
* [[Syllable Desktop (operating system)|Syllable]]
* [[Syllable Desktop|Syllable]]
* [[HP-UX]] (except for 32-bit PA-RISC programs which continue to use [[System Object Model (file format)|SOM]])
* [[HP-UX]] (except for 32-bit PA-RISC programs which continue to use [[System Object Model (file format)|SOM]])
* [[QNX]] Neutrino
* [[QNX]] Neutrino
Line 684: Line 688:
* [[Fuchsia OS]]
* [[Fuchsia OS]]
* [[Z/TPF]]
* [[Z/TPF]]
* [[NonStop (server computers)|HPE NonStop OS]]<ref>{{cite web |url=http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf |archive-url=https://web.archive.org/web/20180530042640/http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf |url-status=dead |archive-date=2018-05-30 |title=Guardian Programmer's Guide |publisher=Hewlett Packard Enterprise |access-date=2018-05-30 }} p. 44 archived from [http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf the original] {{Webarchive|url=https://web.archive.org/web/20180530042640/http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf |date=2018-05-30 }} on 2018-5-30</ref>
* [[NonStop (server computers)|HPE NonStop OS]]<ref>{{cite web |url=http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf |archive-url=https://web.archive.org/web/20180530042640/http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf |url-status=dead |archive-date=2018-05-30 |title=Guardian Programmer's Guide |publisher=Hewlett Packard Enterprise |access-date=2018-05-30 }} p. 44 archived from [http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf the original] {{Webarchive|url=https://web.archive.org/web/20180530042640/http://h20628.www2.hp.com/km-ext/kmcsdirect/emr_na-c02543407-12.pdf |date=2018-05-30 }} on 2018-5-30</ref>
* [[DDC-I|Deos]]
* [[DDC-I|Deos]]


Line 692: Line 696:


Some game consoles also use ELF:
Some game consoles also use ELF:
* PlayStation Portable,<ref>PlayStation Portable use encrypted & relocated ELF : PSP</ref> PlayStation Vita, PlayStation, PlayStation 2, PlayStation 3, PlayStation 4, PlayStation 5
* [[PlayStation Portable]],<ref>PlayStation Portable use encrypted & relocated ELF : PSP</ref> [[PlayStation Vita]], [[PlayStation (console)|PlayStation]], PlayStation 2, PlayStation 3, PlayStation 4, PlayStation 5
* GP2X
* [[GP2X]]
* Dreamcast
* [[Dreamcast]]
* GameCube
* [[GameCube]]
* Nintendo 64
* [[Nintendo 64]]
* Wii
* [[Wii]]
* Wii U
* [[Wii U]]


=== PowerPC ===
=== PowerPC ===


Other (operating) systems running on PowerPC that use ELF:
Other (operating) systems running on PowerPC that use ELF:
* AmigaOS 4, the ELF executable has replaced the prior [[Extended Hunk Format]] (EHF) which was used on Amigas equipped with PPC processor expansion cards.
* [[AmigaOS 4]], the ELF executable has replaced the prior [[Extended Hunk Format]] (EHF) which was used on Amigas equipped with PPC processor expansion cards.
* MorphOS
* [[MorphOS]]
* AROS
* [[AROS]]
* Café OS (The operating system run by the Wii U)
* [[Café OS]] (The operating system run by the Wii U)


=== Mobile phones ===
=== Mobile phones ===


Some operating systems for mobile phones and mobile devices use ELF:
Some operating systems for mobile phones and mobile devices use ELF:
* Symbian OS v9 uses E32Image<ref>''[https://web.archive.org/web/20091213034509/http://wiki.forum.nokia.com/index.php/E32Image Symbian OS executable file format]''</ref> format that is based on the ELF file format;
* [[Symbian OS]] v9 uses E32Image<ref>''[https://web.archive.org/web/20091213034509/http://wiki.forum.nokia.com/index.php/E32Image Symbian OS executable file format]''</ref> format that is based on the ELF file format;
* Sony Ericsson, for example, the W800i, W610, W300, etc.
* [[Sony Ericsson]], for example, the [[W800i]], W610, [[W300]], etc.
* Siemens, the SGOLD and SGOLD2 platforms: from Siemens C65 to S75 and BenQ-Siemens E71/EL71;
* [[Siemens]], the SGOLD and SGOLD2 platforms: from [[Siemens C65]] to S75 and [[BenQ-Siemens EL71|BenQ-Siemens E71/EL71]];
* Motorola, for example, the E398, SLVR L7, v360, v3i (and all phone LTE2 which has the patch applied).
* [[Motorola]], for example, the E398, SLVR L7, [[Motorola V360|v360]], v3i (and all phone LTE2 which has the patch applied).
* Bada, for example, the Samsung Wave S8500.
* [[Bada (operating system)|Bada]], for example, the [[Samsung Wave S8500]].
* Nokia phones or tablets running the Maemo or the Meego OS, for example, the Nokia N900.
* [[Nokia]] phones or tablets running the [[Maemo]] or the [[MeeGo|Meego OS]], for example, the Nokia N900.
* [[Android (operating system)|Android]] uses ELF {{mono|.so}} (shared object<ref>
* [[Android (operating system)|Android]] uses ELF {{mono|.so}} (shared object<ref>
{{cite book
{{cite book
Line 753: Line 757:
=== Blockchain platforms ===
=== Blockchain platforms ===


* Solana uses ELF format for its on-chain programs (smart contracts). The platform processes ELF files compiled to BPF (Berkeley Packet Filter) byte-code, which are then deployed as shared objects and executed in Solana's runtime environment. The BPF loader validates and processes these ELF files during program deployment.<ref>{{Cite web
* [[Solana (blockchain platform)|Solana]] uses ELF format for its on-chain programs ([[smart contracts]]). The platform processes ELF files compiled to [[Berkeley Packet Filter|BPF]] (Berkeley Packet Filter) byte-code, which are then deployed as shared objects and executed in Solana's runtime environment. The BPF loader validates and processes these ELF files during program deployment.<ref>{{Cite web
| url = https://solana.com/docs/core/programs
| url = https://solana.com/docs/core/programs
| title = Solana Programs
| title = Solana Programs
Line 761: Line 765:
| quote = Solana leverages the LLVM compiler infrastructure to compile programs into Executable and Linkable Format (ELF) files.}}
| quote = Solana leverages the LLVM compiler infrastructure to compile programs into Executable and Linkable Format (ELF) files.}}
</ref>
</ref>
== Specifications ==
{| class="wikitable"
! Architecture || Specification
|-
| Generic ||
* ''[http://www.sco.com/developers/devspecs/gabi41.pdf System V Application Binary Interface]'' Edition 4.1 (1997-03-18)
* ''[http://www.sco.com/developers/gabi/latest/contents.html System V ABI Update]'' (October 2009)
|-
| [[AMD64]] ||
* ''[http://refspecs.linuxbase.org/elf/x86_64-abi-0.99.pdf System V ABI, AMD64 Supplement]''
|-
| [[ARM architecture family|Arm]] ||
* ''[https://github.com/ARM-software/abi-aa/releases/download/2022Q1/aaelf32.pdf ELF for the ARM Architecture]''
|-
| [[IA-32]] ||
* ''[http://www.sco.com/developers/devspecs/abi386-4.pdf System V ABI, Intel386 Architecture Processor Supplement]''
|-
| [[IA-64]] ||
* ''[http://refspecs.linux-foundation.org/IA64conventions.pdf Itanium Software Conventions and Runtime Guide]'' (September 2000)
|-
| [[M32R]] ||
* ''[http://www.linux-m32r.org/cmn/m32r/M32R-elf-abi.pdf M32R ELF ABI Supplement] {{Webarchive|url=https://web.archive.org/web/20220512145623/http://www.linux-m32r.org/cmn/m32r/M32R-elf-abi.pdf |date=2022-05-12 }}'' Version 1.2 (2004-08-26)
|-
| [[MIPS architecture|MIPS]] ||
* ''[http://www.sco.com/developers/devspecs/mipsabi.pdf System V ABI, MIPS RISC Processor Supplement]''
* ''[http://sources.redhat.com/ml/binutils/2003-06/msg00436.html MIPS EABI documentation] {{Webarchive|url=https://web.archive.org/web/20120401235051/http://sources.redhat.com/ml/binutils/2003-06/msg00436.html |date=2012-04-01 }}'' (2003-06-11)
|-
| [[Motorola 6800]] ||
* ''[http://uclibc.org/docs/psABI-m8-16.pdf Motorola 8- and 16- bit Embedded ABI]''
|-
| [[PA-RISC]] ||
* ''[https://web.archive.org/web/20110317045038/http://refspecs.freestandards.org/elf/elf-pa.pdf ELF Supplement for PA-RISC]'' Version 1.43 (October 6, 1997)
|-
| [[PowerPC]] ||
* ''[https://web.archive.org/web/20070630123210/http://refspecs.freestandards.org/elf/elfspec_ppc.pdf System V ABI, PPC Supplement]''
* ''[https://web.archive.org/web/20110723003758/http://sources-redhat.mirrors.airband.net/binutils/ppc-docs/ppc-eabi-1995-01.pdf PowerPC Embedded Application Binary Interface] 32-Bit Implementation'' (1995-10-01)
* ''[http://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi-1.9.html 64-bit PowerPC ELF Application Binary Interface Supplement]'' Version 1.9 (2004)
|-
| [[RISC-V]] ||
* ''[https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc RISC-V ELF Specification]''
|-
| [[SPARC]] ||
* ''[https://web.archive.org/web/20080517110249/http://www.sparc.org/standards/psABI3rd.pdf System V ABI, SPARC Supplement]''
|-
| [[S/390]] ||
* ''[http://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_s390.html S/390 32bit ELF ABI Supplement]''
|-
| [[zSeries]] ||
* ''[http://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_zSeries.html zSeries 64bit ELF ABI Supplement]''
|-
| [[Symbian]] OS 9 ||
* ''[https://web.archive.org/web/20080518002831/http://wiki.forum.nokia.com/index.php/E32Image_file_format_on_Symbian_OS_9 E32Image file format on Symbian OS 9]''
|}
The [[Linux Standard Base]] (LSB) supplements some of the above specifications for architectures in which it is specified.<ref>{{cite web|url=http://refspecs.linuxfoundation.org/lsb.shtml|title=LSB Referenced Specifications|website=linuxfoundation.org|access-date=27 April 2015}}</ref> For example, that is the case for the System V ABI, AMD64 Supplement.<ref>{{cite web|url=http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-AMD64/LSB-Core-AMD64/elf-amd64.html|title=Executable and Linking Format (ELF)|website=linuxfoundation.org|access-date=27 April 2015}}</ref><ref>{{cite web|url=http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-AMD64/LSB-Core-AMD64/elfintro.html|title=Introduction|website=linuxfoundation.org|access-date=27 April 2015}}</ref>


== 86open ==
== 86open ==
Line 813: Line 874:


== References ==
== References ==
{{Reflist|30em}}<ref>no</ref>
{{Reflist|30em}}


== Further reading ==
== Further reading ==
{{Div col|colwidth=30em}}
{{Div col|colwidth=30em}}
* {{cite book |author-last=Levine |author-first=John R. |author-link=John R. Levine |title=Linkers and Loaders |date=2000 |orig-year=October 1999 |edition=1 |publisher=[[Morgan Kaufmann]] |series=The Morgan Kaufmann Series in Software Engineering and Programming |location=San Francisco, USA |isbn=1-55860-496-0 |oclc=42413382 |url=https://www.iecc.com/linker/ |access-date=2020-01-12 |url-status=live |archive-url=https://archive.today/20121205032107/http://www.iecc.com/linker/ |archive-date=2012-12-05}} Code:<ref>https://archive.today/20200114225034/https://linker.iecc.com/code.html</ref>[ftp://ftp.iecc.com/pub/linker/]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}} Errata: [https://linker.iecc.com/<!-- https://archive.today/20200114224817/https://linker.iecc.com/ 2020-01-14 -->]
* [https://maskray.me/blog/2024-05-26-evolution-of-elf-object-file-format Evolution of the ELF object file format], by Fangrui Song.
* {{cite book |author-last=Levine |author-first=John R. |author-link=John R. Levine |title=Linkers and Loaders |date=2000 |orig-year=October 1999 |edition=1 |publisher=[[Morgan Kaufmann]] |series=The Morgan Kaufmann Series in Software Engineering and Programming |location=San Francisco, USA |isbn=1-55860-496-0 |oclc=42413382 |url=https://www.iecc.com/linker/ |access-date=2020-01-12 |url-status=live |archive-url=https://archive.today/20121205032107/http://www.iecc.com/linker/ |archive-date=2012-12-05}} Code:<ref>{{Cite web|url=https://linker.iecc.com/code.html|archive-url=https://archive.today/20200114225034/https://linker.iecc.com/code.html|title= Linkers and Loaders: Sample code |archive-date=2020-01-14|url-status=live}} </ref>[ftp://ftp.iecc.com/pub/linker/]{{dead link|date=May 2025|bot=medic}}{{cbignore|bot=medic}} Errata: [https://linker.iecc.com/<!-- https://archive.today/20200114224817/https://linker.iecc.com/ 2020-01-14 -->]
* [[Ulrich Drepper]], How To Write Shared Libraries, Version 4.1.2 (2011). Published on the author's web page, https://www.akkadia.org/drepper.
* [[Ulrich Drepper]], How To Write Shared Libraries, Version 4.1.2 (2011). Published on the author's web page, https://www.akkadia.org/drepper.
* ''[https://web.archive.org/web/20070224140341/http://www-128.ibm.com/developerworks/power/library/pa-spec12/ An unsung hero: The hardworking ELF]'' by Peter Seebach, December 20, 2005, archived from the original on February 24, 2007
* ''[https://web.archive.org/web/20070224140341/http://www-128.ibm.com/developerworks/power/library/pa-spec12/ An unsung hero: The hardworking ELF]'' by Peter Seebach, December 20, 2005, archived from the original on February 24, 2007
Line 830: Line 892:
== External links ==
== External links ==
{{Div col|colwidth=30em}}
{{Div col|colwidth=30em}}
* [https://gabi.xinuos.com ELF Object File Format Specification]
* {{github|xinuos/gabi|ELF Object File Format}}
* [https://www.sco.com/developers/devspecs/ System V Application Binary Interface and Interface Definition]
* [https://web.archive.org/web/20130403001804/http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/binary-formats.html FreeBSD Handbook: Binary formats] (archived version)
* [https://web.archive.org/web/20130403001804/http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/binary-formats.html FreeBSD Handbook: Binary formats] (archived version)
* [https://www.freebsd.org/cgi/man.cgi?query=elf&sektion=5 FreeBSD {{mono|elf(5)}} manual page]
* [https://www.freebsd.org/cgi/man.cgi?query=elf&sektion=5 FreeBSD {{mono|elf(5)}} manual page]
Line 838: Line 903:
* [https://www.linuxtoday.com/developer/1999072600605PS Linux Today article on 86open] {{Webarchive|url=https://web.archive.org/web/20210308053629/http://www.linuxtoday.com/developer/1999072600605PS |date=2021-03-08 }} July 26, 1999
* [https://www.linuxtoday.com/developer/1999072600605PS Linux Today article on 86open] {{Webarchive|url=https://web.archive.org/web/20210308053629/http://www.linuxtoday.com/developer/1999072600605PS |date=2021-03-08 }} July 26, 1999
* [https://lists.debian.org/debian-announce/1997/msg00028.html Announcement of 86open on Debian Announce mailing list] October 10, 1997, [[Bruce Perens]]
* [https://lists.debian.org/debian-announce/1997/msg00028.html Announcement of 86open on Debian Announce mailing list] October 10, 1997, [[Bruce Perens]]
* [https://www.groklaw.net/pdf/IBM-835-Exhibit_184.pdf Declaration of Ulrich Drepper (PDF)] {{Webarchive|url=https://web.archive.org/web/20241130193343/https://www.groklaw.net/pdf/IBM-835-Exhibit_184.pdf |date=2024-11-30 }} in [[The SCO Group]] vs [[IBM]], September 19, 2006
* {{usurped|1=[https://web.archive.org/web/20241130193343/https://www.groklaw.net/pdf/IBM-835-Exhibit_184.pdf Declaration of Ulrich Drepper (PDF)]}} in [[The SCO Group]] vs [[IBM]], September 19, 2006
* [https://www.groklaw.net/articlebasic.php?story=20060813114048520 86open and ELF discussion] {{Webarchive|url=https://web.archive.org/web/20190201013659/http://www.groklaw.net/articlebasic.php?story=20060813114048520 |date=2019-02-01 }} on [[Groklaw]], August 13, 2006
* {{usurped|1=[https://web.archive.org/web/20190201013659/http://www.groklaw.net/articlebasic.php?story=20060813114048520 86open and ELF discussion]}} on [[Groklaw]], August 13, 2006
{{div col end}}
{{div col end}}