OSDN Git Service

LDP: Update original to LDP v3.68
[linuxjm/LDP_man-pages.git] / original / man5 / elf.5
index 2862740..939266e 100644 (file)
@@ -2,6 +2,7 @@
 .\"Copyright (c) 1999 Jeroen Ruigrok van der Werven
 .\"All rights reserved.
 .\"
+.\" %%%LICENSE_START(PERMISSIVE_MISC)
 .\"Redistribution and use in source and binary forms, with or without
 .\"modification, are permitted provided that the following conditions
 .\"are met:
@@ -22,6 +23,7 @@
 .\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\"SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\"    $FreeBSD: src/share/man/man5/elf.5,v 1.21 2001/10/01 16:09:23 ru Exp $
 .\"
@@ -30,7 +32,7 @@
 .\" 2007-10-11, Mike Frysinger <vapier@gentoo.org>, various fixes
 .\" 2007-12-08, mtk, Converted from mdoc to man macros
 .\"
-.TH ELF 5 2010-06-19 "Linux" "Linux Programmer's Manual"
+.TH ELF 5 2013-04-17 "Linux" "Linux Programmer's Manual"
 .SH NAME
 elf \- format of Executable and Linking Format (ELF) files
 .SH SYNOPSIS
@@ -128,7 +130,7 @@ All data structures that the file format defines follow the
 size and alignment guidelines for the relevant class.
 If necessary,
 data structures contain explicit padding to ensure 4-byte alignment
-for 4-byte objects, to force structure sizes to a multiple of 4, etc.
+for 4-byte objects, to force structure sizes to a multiple of 4, and so on.
 .PP
 The ELF header is described by the type
 .I Elf32_Ehdr
@@ -239,7 +241,7 @@ Two's complement, big-endian.
 .TP
 .PD 0
 .BR EI_VERSION
-The version number of the ELF specification:
+The seventh byte is the version number of the ELF specification:
 .\" .Bl -tag -width "EV_CURRENT" -compact
 .RS 12
 .TP 14
@@ -253,12 +255,12 @@ Current version.
 .\".El
 .TP
 .BR EI_OSABI
-This byte identifies the operating system
+The eighth byte identifies the operating system
 and ABI to which the object is targeted.
 Some fields in other ELF structures have flags
 and values that have platform-specific meanings;
 the interpretation of those fields is determined by the value of this byte.
-E.g.:
+For example:
 .\" .Bl -tag -width "ELFOSABI_STANDALONE" -compact
 .RS 12
 .TP 20
@@ -297,7 +299,8 @@ Solaris ABI.
 .\" 6
 .\" .TP
 .\" .BR ELFOSABI_MONTEREY
-.\" Monterey project ABI. Now replaced by
+.\" Monterey project ABI.
+.\" Now replaced by
 .\" ELFOSABI_AIX
 .\" 7
 .TP
@@ -329,7 +332,7 @@ Stand-alone (embedded) ABI.
 .RE
 .TP
 .BR EI_ABIVERSION
-This byte identifies the version of the ABI
+The ninth byte identifies the version of the ABI
 to which the object is targeted.
 This field is used to distinguish among incompatible versions of an ABI.
 The interpretation of this version number
@@ -387,7 +390,7 @@ A core file.
 .TP
 .IR e_machine
 This member specifies the required architecture for an individual file.
-E.g.:
+For example:
 .RS 12
 .\" .Bl -tag -width "EM_MIPS_RS4_BE" -compact
 .TP 12
@@ -520,7 +523,7 @@ the file has no program header table, this member holds zero.
 .IR e_shoff
 This member holds the section header table's file offset in bytes.
 If the
-file has no section header table this member holds zero.
+file has no section header table, this member holds zero.
 .TP
 .IR e_flags
 This member holds processor-specific flags associated with the file.
@@ -615,7 +618,8 @@ If the index of section name string table section is larger than or equal to
 (0xffff) and the real index of the section name string table section
 is held in the
 .IR sh_link
-member of the initial entry in section header table. Otherwise, the
+member of the initial entry in section header table.
+Otherwise, the
 .IR sh_link
 member of the initial entry in section header table contains the value zero.
 .RS 12
@@ -780,7 +784,7 @@ The array element, if present, specifies the location and size of the program
 header table itself, both in the file and in the memory image of the program.
 This segment type may not occur more than once in a file.
 Moreover, it may
-only occur if the program header table is part of the memory image of the
+occur only if the program header table is part of the memory image of the
 program.
 If it is present, it must precede any loadable segment entry.
 .TP
@@ -793,6 +797,7 @@ are reserved for processor-specific semantics.
 Values less than or equal to
 .BR PT_LOPROC
 are reserved for processor-specific semantics.
+.TP
 .BR PT_GNU_STACK
 GNU extension which is used by the Linux kernel to control the state of the
 stack via the flags set in the
@@ -826,7 +831,7 @@ This member holds the number of bytes in the memory image of the segment.
 It may be zero.
 .TP
 .IR p_flags
-This member holds a bitmask of flags relevant to the segment:
+This member holds a bit mask of flags relevant to the segment:
 .\" .Bl -tag -width "PF_X" -compact
 .RS 12
 .TP
@@ -908,7 +913,7 @@ these special indices:
 .RS
 .TP 14
 .BR SHN_UNDEF
-This value marks an undefined, missing, irrelevant or otherwise meaningless
+This value marks an undefined, missing, irrelevant, or otherwise meaningless
 section reference.
 .TP
 .BR SHN_LORESERVE
@@ -1329,7 +1334,7 @@ The attribute type used is
 This section holds the global offset table.
 This section is of type
 .BR SHT_PROGBITS .
-The attributes are processor specific.
+The attributes are processor-specific.
 .TP
 .IR .hash
 This section holds a symbol hash table.
@@ -1395,7 +1400,7 @@ executable stack.
 This section holds the procedure linkage table.
 This section is of type
 .BR SHT_PROGBITS .
-The attributes are processor specific.
+The attributes are processor-specific.
 .TP
 .IR .relNAME
 This section holds relocation information as described below.
@@ -1404,7 +1409,7 @@ has a loadable segment that includes relocation, the section's attributes
 will include the
 .BR SHF_ALLOC
 bit.
-Otherwise the bit will be off.
+Otherwise, the bit will be off.
 By convention,
 "NAME"
 is supplied by the section to which the relocations apply.
@@ -1423,7 +1428,7 @@ has a loadable segment that includes relocation, the section's attributes
 will include the
 .BR SHF_ALLOC
 bit.
-Otherwise the bit will be off.
+Otherwise, the bit will be off.
 By convention,
 "NAME"
 is supplied by the section to which the relocations apply.
@@ -1465,7 +1470,7 @@ segment that includes the symbol string table, the section's attributes
 will include the
 .BR SHF_ALLOC
 bit.
-Otherwise the bit will be off.
+Otherwise, the bit will be off.
 This section is of type
 .BR SHT_STRTAB .
 .TP
@@ -1476,7 +1481,7 @@ that includes the symbol table, the section's attributes will include
 the
 .BR SHF_ALLOC
 bit.
-Otherwise the bit will be off.
+Otherwise, the bit will be off.
 This section is of type
 .BR SHT_SYMTAB .
 .TP
@@ -1749,11 +1754,11 @@ the storage unit affected by the relocation.
 This member gives both the symbol table index with respect to which the
 relocation must be made and the type of relocation to apply.
 Relocation
-types are processor specific.
+types are processor-specific.
 When the text refers to a relocation
 entry's relocation type or symbol table index, it means the result of
 applying
-.BR ELF_[32|64]_R_TYPE
+.BR ELF[32|64]_R_TYPE
 or
 .BR ELF[32|64]_R_SYM ,
 respectively, to the entry's
@@ -1955,3 +1960,12 @@ Sun Microsystems,
 AMD64 ABI Draft,
 .IR "System V Application Binary Interface AMD64 Architecture Processor Supplement" .
 .PP
+.SH COLOPHON
+This page is part of release 3.68 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.