Go to main content

Oracle® Solaris 64-bit Developer's Guide

Exit Print View

Updated: March 2019

6.5 ELF and System Generation Tools

64-bit binaries are stored in files in ELF64 format, which is a direct analog of the ELF32 format, except that most fields have grown to accommodate full 64-bit applications. ELF64 files can be read by using elf(3ELF) APIs. For example, elf_getarhdr(3ELF).

Both 32-bit and 64-bit versions of the ELF library, elf(3ELF), support both ELF32 and ELF64 formats and their corresponding APIs. This allows applications to build, read, or modify both file formats from either a 32-bit or a 64-bit system (though a 64-bit system is still required to execute a 64-bit program).

In addition, Oracle Solaris provides a set of GELF (Generic ELF) interfaces that allow the programmer to manipulate both formats by using a single, common API. For more information, see the gelf(3ELF) man page.

All of the system ELF utilities, including ar(1), nm(1), ld(1) and dump(1), have been updated to accept both ELF formats.