elf man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



ELF(4)									ELF(4)

NAME
     elf - Executable and Linking Format (ELF) files

SYNOPSIS
     #include <elf.h>

DESCRIPTION
     The file name a.out is the default ELF-format output file name from the
     link editor ld(1).	 The link editor will make an a.out executable if
     there were no errors and no unresolved external references.

     Programs that manipulate ELF files may use the library described in
     elf(3E).  An overview of the file format follows.	For more complete
     information, see the references given below.

	       Linking View	      Execution View
	       ELF header	      ELF header
	       Program header table   Program header table
	       (optional)
	       Section 1	      Segment 1
		...		       ...
	       Section n	      Segment n
	       Section header table   Section header table
				      (optional)

     An ELF header resides at the beginning and holds a ``road map''
     describing the file's organization.  Sections hold the bulk of object
     file information for the linking view:  instructions, data, symbol table,
     relocation information, and so on.	 Segments hold the object file
     information for the program execution view.  A segment may contain one or
     more sections.

     A program header table, if present, tells the system how to create a
     process image.  Files used to build a process image (execute a program)
     must have a program header table; relocatable files do not need one.  A
     section header table contains information describing the file's sections.
     Every section has an entry in the table; each entry gives information
     such as the section name, the section size, etc.  Files used during
     linking must have a section header table; other object files may or may
     not have one.  SGI executables and DSO files will be created with section
     header tables, so their absence in an object file, while not prohibited,
     may disable various tools.

     Although the table above shows the program header table immediately after
     the ELF header, and the section header table following the sections,
     actual files may differ.  Moreover, sections and segments have no
     specified order.  Only the ELF header has a fixed position in the file.

     When an a.out file is loaded into memory for execution, three kinds of
     logical segments are set up:  the text segment, the data segment
     (initialized data followed by uninitialized, the latter actually being
     initialized to all 0's), and a stack.  A program can have multiple text

									Page 1

ELF(4)									ELF(4)

     and data segments but only one stack segment.  The text segments are not
     writable by the program; if other processes are executing the same a.out
     file, the processes will share the same text segments.

     The first data segment generally starts at the next maximal page boundary
     past the last text address.  If the system supports more than one page
     size, the ``maximal page'' is the largest supported size.	When the
     process image is created, the part of the file holding the end of text
     and the beginning of data may appear twice.  The duplicated chunk of text
     that appears at the beginning of data is never executed; it is duplicated
     so that the operating system may bring in pieces of the file in multiples
     of the actual page size without having to realign the beginning of the
     data section to a page boundary.  Therefore, the first data address is
     the sum of the next maximal page boundary past the end of text plus the
     remainder of the last text address divided by the maximal page size.  If
     the last text address is a multiple of the maximal page size, no
     duplication is necessary.	The stack is extended automatically as
     required.	The last data segment is extended as requested by the brk(2)
     system call.

SEE ALSO
     as(1), cc(1), ld(1), brk(2), a.out(4)
     IRIX System Programmer's Guide

NOTES
     ELF is the executable and object file format used on IRIX 5 and later
     systems.

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net