diff options
| -rw-r--r-- | man3/err.3 | 14 | ||||
| -rw-r--r-- | man3/fts.3 | 28 | ||||
| -rw-r--r-- | man3/queue.3 | 86 | ||||
| -rw-r--r-- | man3/rcmd.3 | 18 | ||||
| -rw-r--r-- | man3/rexec.3 | 8 | ||||
| -rw-r--r-- | man3/stdin.3 | 12 | ||||
| -rw-r--r-- | man5/elf.5 | 100 |
7 files changed, 147 insertions, 119 deletions
diff --git a/man3/err.3 b/man3/err.3 index fc1394a31d..c08db95dee 100644 --- a/man3/err.3 +++ b/man3/err.3 @@ -34,7 +34,7 @@ .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH ERR 3 2007-12-08 "Linux" "Linux Programmer's Manual" +.TH ERR 3 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME err, verr, errx, verrx, warn, vwarn, warnx, vwarnx \- formatted error messages .SH SYNOPSIS @@ -74,7 +74,7 @@ argument is not NULL, the .BR printf (3)-like formatted error message is output. The output is terminated by a newline character. -.sp +.PP The .BR err (), .BR verr (), @@ -89,7 +89,7 @@ preceded by another colon and space unless the .I fmt argument is NULL. -.sp +.PP The .BR err (), .BR verr (), @@ -99,13 +99,13 @@ and functions use the global variable .I errno to look up the error message. -.sp +.PP The .BR errx () and .BR warnx () functions do not append an error message. -.sp +.PP The .BR err (), .BR verr (), @@ -125,7 +125,7 @@ if ((fd = open(file_name, O_RDONLY, 0)) == \-1) err(1, "%s", file_name); .fi .in -.sp +.PP Display an error message and exit: .in +4n .nf @@ -134,7 +134,7 @@ if (tm.tm_hour < START_TIME) errx(1, "too early, wait until %s", start_time_string); .fi .in -.sp +.PP Warn of an error: .in +4n .nf diff --git a/man3/fts.3 b/man3/fts.3 index 58c8e1923d..e101e06d22 100644 --- a/man3/fts.3 +++ b/man3/fts.3 @@ -35,7 +35,7 @@ .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH FTS 3 2007-12-08 "Linux" "Linux Programmer's Manual" +.TH FTS 3 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME fts, fts_open, fts_read, fts_children, fts_set, fts_close \- \ traverse a file hierarchy @@ -80,7 +80,7 @@ Files are visited once. It is possible to walk the hierarchy "logically" (ignoring symbolic links) or physically (visiting symbolic links), order the walk of the hierarchy or prune and/or re-visit portions of the hierarchy. -.sp +.PP Two structures are defined (and typedef'd) in the include file .IR <fts.h> . The first is @@ -122,7 +122,7 @@ typedef struct _ftsent { } FTSENT; .fi .in -.sp +.PP These fields are defined as follows: .\" .Bl -tag -width "fts_namelen" .TP 12 @@ -371,7 +371,7 @@ or more paths which make up a logical file hierarchy to be traversed. The array must be terminated by a NULL pointer. -.sp +.PP There are a number of options, at least one of which (either .BR FTS_LOGICAL @@ -477,7 +477,7 @@ This option prevents fts from descending into directories that have a different device number than the file from which the descent began. .\" .El -.sp +.PP The argument .BR compar () specifies a user-defined function which may be used to order the traversal @@ -529,7 +529,7 @@ All other files are visited at least once. (Hard links between directories that do not cause cycles or symbolic links to symbolic links may cause files to be visited more than once, or directories more than twice.) -.sp +.PP If all the members of the hierarchy have been returned, .BR fts_read () returns @@ -550,7 +550,7 @@ structure is returned, and .I errno may or may not have been set (see .IR fts_info ). -.sp +.PP The .I FTSENT structures returned by @@ -585,7 +585,7 @@ structure, and is ordered by the user-specified comparison function, if any. Repeated calls to .BR fts_children () will recreate this linked list. -.sp +.PP As a special case, if .BR fts_read () has not yet been called for a hierarchy, @@ -613,7 +613,7 @@ NULL and sets .I errno appropriately. -.sp +.PP The .I FTSENT structures returned by @@ -624,7 +624,7 @@ may be overwritten after a call to or .BR fts_read () on the same file hierarchy stream. -.sp +.PP .I Option may be set to the following value: .\" .Bl -tag -width FTS_NAMEONLY @@ -699,7 +699,7 @@ fields of the returned structure will be unchanged and the .I fts_info field will be set to .BR FTS_SLNONE . -.sp +.IP If the target of the link is a directory, the pre-order return, followed by the return of all of its descendants, followed by a post-order return, is done. @@ -733,7 +733,7 @@ for any of the errors specified for .BR open (2) and .BR malloc (3). -.sp +.PP The function .BR fts_close () may fail and set @@ -742,7 +742,7 @@ for any of the errors specified for .BR chdir (2) and .BR close (2). -.sp +.PP The functions .BR fts_read () and @@ -756,7 +756,7 @@ for any of the errors specified for .BR readdir (3) and .BR stat (2). -.sp +.PP In addition, .BR fts_children (), .BR fts_open () diff --git a/man3/queue.3 b/man3/queue.3 index 84b28ee1a9..08485d0007 100644 --- a/man3/queue.3 +++ b/man3/queue.3 @@ -34,7 +34,7 @@ .\" hch, 2002-03-25 .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH QUEUE 3 2007-12-08 "Linux" "Linux Programmer's Manual" +.TH QUEUE 3 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME LIST_ENTRY, LIST_HEAD, LIST_INIT, LIST_INSERT_AFTER, \ LIST_INSERT_HEAD, LIST_REMOVE, TAILQ_ENTRY, TAILQ_HEAD, \ @@ -85,28 +85,33 @@ CIRCLEQ_REMOVE \- implementations of lists, tail queues, and circular queues These macros define and operate on three types of data structures: lists, tail queues, and circular queues. All three structures support the following functionality: -.RS -.IP 1. 4 +.sp +.RS 4 +.PD 0 +.IP * 4 Insertion of a new entry at the head of the list. -.IP 2. +.IP * Insertion of a new entry after any element in the list. -.IP 3. +.IP * Removal of any entry in the list. -.IP 4. +.IP * Forward traversal through the list. +.PD .RE .PP Lists are the simplest of the three data structures and support only the above functionality. Tail queues add the following functionality: -.RS -.IP 1. 4 +.RS 4 +.IP * 4 Entries can be added at the end of a list. .RE .PP However: -.RS +.sp +.RS 4 +.PD 0 .IP 1. 4 All list insertions and removals must specify the head of the list. .IP 2. @@ -114,20 +119,26 @@ Each head entry requires two pointers rather than one. .IP 3. Code size is about 15% greater and operations run about 20% slower than lists. +.PD .RE .PP Circular queues add the following functionality: -.RS -.IP 1. 4 +.sp +.RS 4 +.PD 0 +.IP * 4 Entries can be added at the end of a list. -.IP 2. +.IP * Entries can be added before another entry. -.IP 3. +.IP * They may be traversed backwards, from tail to head. +.PD .RE .PP However: -.RS +.sp +.RS 4 +.PD 0 .IP 1. 4 All list insertions and removals must specify the head of the list. .IP 2. @@ -137,6 +148,7 @@ The termination condition for traversal is more complex. .IP 4. Code size is about 40% greater and operations run about 45% slower than lists. +.PD .RE .PP In the macro definitions, @@ -177,7 +189,7 @@ structure is declared as follows: LIST_HEAD(HEADNAME, TYPE) head; .fi .in -.sp +.PP where .I HEADNAME is the name of the structure to be defined, and @@ -190,36 +202,36 @@ A pointer to the head of the list can later be declared as: struct HEADNAME *headp; .fi .in -.sp +.PP (The names .IR "head" and .IR "headp" are user selectable.) -.sp +.PP The macro .B LIST_ENTRY declares a structure that connects the elements in the list. -.sp +.PP The macro .B LIST_INIT initializes the list referenced by .IR head . -.sp +.PP The macro .B LIST_INSERT_HEAD inserts the new element .I elm at the head of the list. -.sp +.PP The macro .B LIST_INSERT_AFTER inserts the new element .I elm after the element .IR listelm . -.sp +.PP The macro .B LIST_REMOVE removes the element @@ -281,42 +293,42 @@ A pointer to the head of the tail queue can later be declared as: struct HEADNAME *headp; .fi .in -.sp +.PP (The names .IR "head" and .IR "headp" are user selectable.) -.sp +.PP The macro .B TAILQ_ENTRY declares a structure that connects the elements in the tail queue. -.sp +.PP The macro .B TAILQ_INIT initializes the tail queue referenced by .IR head . -.sp +.PP The macro .B TAILQ_INSERT_HEAD inserts the new element .I elm at the head of the tail queue. -.sp +.PP The macro .B TAILQ_INSERT_TAIL inserts the new element .I elm at the end of the tail queue. -.sp +.PP The macro .B TAILQ_INSERT_AFTER inserts the new element .I elm after the element .IR listelm . -.sp +.PP The macro .B TAILQ_REMOVE removes the element @@ -369,7 +381,7 @@ structure is declared as follows: CIRCLEQ_HEAD(HEADNAME, TYPE) head; .fi .in -.sp +.PP where .IR "HEADNAME" is the name of the structure to be defined, and @@ -382,49 +394,49 @@ A pointer to the head of the circular queue can later be declared as: struct HEADNAME *headp; .fi .in -.sp +.PP (The names .IR "head" and .IR "headp" are user selectable.) -.sp +.PP The macro .B CIRCLEQ_ENTRY declares a structure that connects the elements in the circular queue. -.sp +.PP The macro .B CIRCLEQ_INIT initializes the circular queue referenced by .IR head . -.sp +.PP The macro .B CIRCLEQ_INSERT_HEAD inserts the new element .I elm at the head of the circular queue. -.sp +.PP The macro .B CIRCLEQ_INSERT_TAIL inserts the new element .I elm at the end of the circular queue. -.sp +.PP The macro .B CIRCLEQ_INSERT_AFTER inserts the new element .I elm after the element .IR listelm . -.sp +.PP The macro .B CIRCLEQ_INSERT_BEFORE inserts the new element .I elm before the element .IR listelm . -.sp +.PP The macro .B CIRCLEQ_REMOVE removes the element diff --git a/man3/rcmd.3 b/man3/rcmd.3 index a5ee4e74c3..350b1c1ebc 100644 --- a/man3/rcmd.3 +++ b/man3/rcmd.3 @@ -38,7 +38,7 @@ .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH RCMD 3 2007-12-14 "Linux" "Linux Programmer's Manual" +.TH RCMD 3 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME rcmd, rresvport, iruserok, ruserok \- routines for returning a stream to a remote command @@ -90,7 +90,7 @@ All four functions are present in the same file and are used by the .BR rshd (8) server (among others). -.sp +.PP The .BR rcmd () function @@ -105,7 +105,7 @@ is set to the standard name of the host and a connection is established to a server residing at the well-known Internet port .IR inport . -.sp +.PP If the connection succeeds, a socket in the Internet domain of type .BR SOCK_STREAM @@ -134,10 +134,10 @@ command) will be made the same as the and no provision is made for sending arbitrary signals to the remote process, although you may be able to get its attention by using out-of-band data. -.sp +.PP The protocol is described in detail in .BR rshd (8). -.sp +.PP The .BR rresvport () function is used to obtain a socket with a privileged @@ -147,7 +147,7 @@ This socket is suitable for use by and several other functions. Privileged Internet ports are those in the range 0 to 1023. Only the superuser is allowed to bind an address of this sort to a socket. -.sp +.PP The .BR iruserok () and @@ -164,7 +164,7 @@ If that lookup is not done, or is unsuccessful, the .IR .rhosts in the local user's home directory is checked to see if the request for service is allowed. -.sp +.PP If this file does not exist, is not a regular file, is owned by anyone other than the user or the superuser, or is writable by anyone other than the owner, the check automatically fails. @@ -180,7 +180,7 @@ return \-1. If the local domain (as obtained from .BR gethostname (2) is the same as the remote domain, only the machine name need be specified. -.sp +.PP If the IP address of the remote host is known, .BR iruserok () should be used in preference to @@ -192,7 +192,7 @@ The function returns a valid socket descriptor on success. It returns \-1 on error and prints a diagnostic message on the standard error. -.sp +.PP The .BR rresvport () function diff --git a/man3/rexec.3 b/man3/rexec.3 index e3c3ef063b..f7faa108e7 100644 --- a/man3/rexec.3 +++ b/man3/rexec.3 @@ -36,7 +36,7 @@ .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH REXEC 3 2007-12-08 "Linux" "Linux Programmer's Manual" +.TH REXEC 3 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME rexec \- return stream to a remote command .SH SYNOPSIS @@ -68,7 +68,7 @@ the environment and then the user's file in his home directory are searched for appropriate information. If all this fails, the user is prompted for the information. -.sp +.PP The port .I inport specifies which well-known DARPA Internet port to use for @@ -79,7 +79,7 @@ the connection; the call will return a pointer to a structure that contains the necessary port. The protocol for connection is described in detail in .BR rexecd (8). -.sp +.PP If the connection succeeds, a socket in the Internet domain of type .BR SOCK_STREAM @@ -125,7 +125,7 @@ function appeared in The .BR rexec () function sends the unencrypted password across the network. -.sp +.PP The underlying service is considered a big security hole and therefore not enabled on many sites, see .BR rexecd (8) diff --git a/man3/stdin.3 b/man3/stdin.3 index 570827a74c..8465b44646 100644 --- a/man3/stdin.3 +++ b/man3/stdin.3 @@ -6,7 +6,7 @@ .\" .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH STDIN 3 2007-12-08 "Linux" "Linux Programmer's Manual" +.TH STDIN 3 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME stdin, stdout, stderr \- standard I/O streams .SH SYNOPSIS @@ -27,7 +27,7 @@ the user's terminal (see but might instead refer to files or other devices, depending on what the parent process chose to set up. (See also the "Redirection" section of .BR sh (1).) -.sp +.PP The input stream is referred to as "standard input"; the output stream is referred to as "standard output"; and the error stream is referred to as "standard error". @@ -46,7 +46,7 @@ and can be used with functions like .BR fprintf (3) or .BR fread (3). -.sp +.PP Since .IR FILE s are a buffering wrapper around Unix file descriptors, the @@ -55,7 +55,7 @@ interface, that is, the functions like .BR read (2) and .BR lseek (2). -.sp +.PP On program startup, the integer file descriptors associated with the streams .IR stdin , @@ -74,7 +74,7 @@ are defined with these values in .BR freopen (3) to one of these streams can change the file descriptor number associated with the stream.) -.sp +.PP Note that mixing use of .IR FILE s and raw file descriptors can produce @@ -87,7 +87,7 @@ This means for example, that after an .BR exec (3), the child inherits all open file descriptors, but all old streams have become inaccessible. -.sp +.PP Since the symbols .IR stdin , .IR stdout , diff --git a/man5/elf.5 b/man5/elf.5 index f2a22d5946..492aae6ff4 100644 --- a/man5/elf.5 +++ b/man5/elf.5 @@ -30,7 +30,7 @@ .\" 2007-10-11, Mike Frysinger <vapier@gentoo.org>, various fixes .\" 2007-12-08, mtk, Converted from mdoc to man macros .\" -.TH ELF 5 2007-12-08 "Linux" "Linux Programmer's Manual" +.TH ELF 5 2007-12-28 "Linux" "Linux Programmer's Manual" .SH NAME elf \- format of Executable and Linking Format (ELF) files .SH SYNOPSIS @@ -45,7 +45,7 @@ defines the format of ELF executable binary files. Amongst these files are normal executable files, relocatable object files, core files and shared libraries. -.sp +.PP An executable file using the ELF file format consists of an ELF header, followed by a program header table or a section header table, or both. The ELF header is always at offset zero of the file. @@ -54,7 +54,7 @@ table and the section header table's offset in the file are defined in the ELF header. The two tables describe the rest of the particularities of the file. -.sp +.PP .\" Applications which wish to process ELF binary files for their native .\" architecture only should include .\" .I <elf_abi.h> @@ -81,7 +81,7 @@ the file. This header file describes the above mentioned headers as C structures and also includes structures for dynamic sections, relocation sections and symbol tables. -.sp +.PP The following types are used for N-bit architectures (N=32,64, .I ElfN stands for @@ -109,7 +109,7 @@ ElfN_Xword uint64_t .\" Elf32_Size Unsigned object size .fi .in -.sp +.PP (Note: The *BSD terminology is a bit different. There .I Elf64_Half @@ -122,14 +122,14 @@ is used for .IR uint16_t . In order to avoid confusion these types are replaced by explicit ones in the below.) -.sp +.PP All data structures that the file format defines follow the "natural" 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. -.sp +.PP The ELF header is described by the type .I Elf32_Ehdr or @@ -157,7 +157,7 @@ typedef struct { } ElfN_Ehdr; .fi .in -.sp +.PP The fields have the following meanings: .\" .Bl -tag -width "e_phentsize" .TP 12 @@ -202,6 +202,7 @@ The fifth byte identifies the architecture for this binary: .RS 12 .\" .Bl -tag -width "ELFCLASSNONE" -compact .TP 14 +.PD 0 .BR ELFCLASSNONE This class is invalid. .TP @@ -212,6 +213,7 @@ and virtual address spaces up to 4 Gigabytes. .TP .BR ELFCLASS64 This defines the 64-bit architecture. +.PD .RE .\" .El .TP @@ -222,6 +224,7 @@ Currently these encodings are supported: .\" .Bl -tag -width "ELFDATA2LSB" -compact .RS 12 .TP 14 +.PD 0 .BR ELFDATANONE Unknown data format. .TP @@ -230,9 +233,11 @@ Two's complement, little-endian. .TP .BR ELFDATA2MSB Two's complement, big-endian. +.PD .RE .\" .El .TP +.PD 0 .BR EI_VERSION The version number of the ELF specification: .\" .Bl -tag -width "EV_CURRENT" -compact @@ -243,6 +248,7 @@ Invalid version. .TP .BR EV_CURRENT Current version. +.PD .RE .\".El .TP @@ -256,6 +262,7 @@ E.g.: .\" .Bl -tag -width "ELFOSABI_STANDALONE" -compact .RS 12 .TP 20 +.PD 0 .BR ELFOSABI_NONE Same as ELFOSABI_SYSV .\" 0 @@ -318,6 +325,7 @@ ARM architecture ABI. Stand-alone (embedded) ABI. .\" 255 .\" .El +.PD .RE .TP .BR EI_ABIVERSION @@ -349,6 +357,7 @@ This member of the structure identifies the object file type: .RS 12 .\" .Bl -tag -width "ET_NONE" -compact .TP 12 +.PD 0 .BR ET_NONE An unknown type. .TP @@ -363,6 +372,7 @@ A shared object. .TP .BR ET_CORE A core file. +.PD .RE .\" .El .TP @@ -372,6 +382,7 @@ E.g.: .RS 12 .\" .Bl -tag -width "EM_MIPS_RS4_BE" -compact .TP 12 +.PD 0 .BR EM_NONE An unknown machine. .\" 0 @@ -467,6 +478,7 @@ DEC Vax. .\" .TP .\" .BR EM_ALPHA_EXP .\" Compaq [DEC] Alpha with enhanced instruction set. +.PD .RE .\" .El .TP @@ -475,12 +487,14 @@ This member identifies the file version: .\" .Bl -tag -width "EV_CURRENT" -compact .RS 12 .TP 12 +.PD 0 .BR EV_NONE Invalid version. .TP .BR EV_CURRENT Current version. .\" .El +.PD .RE .TP .IR e_entry @@ -648,7 +662,7 @@ typedef struct { } Elf64_Phdr; .fi .in -.sp +.PP The main difference between the 32-bit and the 64-bit program header lies in the location of the .IR p_flags @@ -760,6 +774,7 @@ This member holds a bitmask of flags relevant to the segment: .\" .Bl -tag -width "PF_X" -compact .RS 12 .TP +.PD 0 .BR PF_X An executable segment. .TP @@ -768,9 +783,10 @@ A writable segment. .TP .BR PF_R A readable segment. +.PD .RE .\" .El -.sp +.IP A text segment commonly has the flags .BR PF_X and @@ -799,7 +815,7 @@ should equal modulo .IR p_align . .\" .El -.sp +.PP A file's section header table lets one locate all the file's sections. The section header table is an array of @@ -816,14 +832,13 @@ header table. holds the number of entries the section header table contains. .IR e_shentsize holds the size in bytes of each entry. -.sp +.PP A section header table index is a subscript into this array. Some section header table indices are reserved. An object file does not have sections for these special indices: .\" .Bl -tag -width "SHN_LORESERVE" -.RS 12 .TP 14 .BR SHN_UNDEF This value marks an undefined, missing, irrelevant or otherwise meaningless @@ -864,7 +879,6 @@ inclusive. The section header table does not contain entries for the reserved indices. .\" .El -.RE .PP The section header has the following structure: .in +4n @@ -901,10 +915,10 @@ typedef struct { } Elf64_Shdr; .fi .in -.sp +.PP No real differences exist between the 32-bit and 64-bit section headers. .\" .Bl -tag -width "sh_addralign" -.TP 12 +.TP 10 .IR sh_name This member specifies the name of the section. Its value is an index @@ -914,8 +928,8 @@ a null-terminated string. .IR sh_type This member categorizes the section's contents and semantics. .\" .Bl -tag -width "SHT_PROGBITS" -.RS 12 -.TP 13 +.RS 10 +.TP 15 .BR SHT_NULL This value marks the section header as inactive. It does not @@ -1032,8 +1046,8 @@ Otherwise, the attribute is or does not apply. Undefined attributes are set to zero. .\" .Bl -tag -width "SHF_EXECINSTR" -compact -.RS 12 -.TP 14 +.RS 10 +.TP 15 .BR SHF_WRITE This section contains data that should be writable during process execution. @@ -1110,7 +1124,7 @@ fixed-size entries. .PP Various sections hold program and control information: .\" .Bl -tag -width ".shstrtab" -.TP +.TP 10 .IR .bss This section holds uninitialized data that contributes to the program's memory image. @@ -1409,7 +1423,7 @@ The attributes used are and .BR SHF_EXECINSTR . .\" .El -.sp +.PP String table sections hold null-terminated character sequences, commonly called strings. The object file uses these strings to represent symbol @@ -1420,7 +1434,7 @@ The first byte, which is index zero, is defined to hold a null byte ('\\0'). Similarly, a string table's last byte is defined to hold a null byte, ensuring null termination for all strings. -.sp +.PP An object file's symbol table holds information needed to locate and relocate a program's symbolic definitions and references. A symbol table @@ -1451,11 +1465,11 @@ typedef struct { } Elf64_Sym; .fi .in -.sp +.PP The 32-bit and 64-bit versions have the same members, just in a different order. .\" .Bl -tag -width "st_value" -.TP +.TP 10 .IR st_name This member holds an index into the object file's symbol string table, which holds character representations of the symbol names. @@ -1475,7 +1489,7 @@ has no size or an unknown size. .IR st_info This member specifies the symbol's type and binding attributes: .\" .Bl -tag -width "STT_SECTION" -.RS 12 +.RS 10 .TP 12 .BR STT_NOTYPE The symbol's type is not defined. @@ -1541,14 +1555,14 @@ is reserved for processor-specific semantics. This value down to and including .BR STB_LOPROC is reserved for processor-specific semantics. -.sp +.IP There are macros for packing and unpacking the binding and type fields: -.sp +.IP .BR ELF32_ST_BIND (info) or .BR ELF64_ST_BIND (info) extract a binding from an st_info value. -.sp +.IP .BR ELF32_ST_TYPE (info) or .BR ELF64_ST_TYPE (info) @@ -1556,7 +1570,7 @@ or extract a type from an .I st_info value. -.sp +.IP .BR ELF32_ST_INFO "(bind, type)" or .BR ELF64_ST_INFO "(bind, type)" @@ -1568,8 +1582,9 @@ convert a binding and a type into an st_info value. .IR st_other This member defines the symbol visibility. .\" .Bl -tag -width "STV_PROTECTED" -.RS 12 +.RS 10 .TP 16 +.PD 0 .BR STV_DEFAULT Default symbol visibility rules. .TP @@ -1581,9 +1596,10 @@ Symbol is unavailable in other modules. .TP .BR STV_PROTECTED Not preemptible, not exported. -.sp +.PD +.PP There are macros for extracting the visibility type: -.sp +.PP .BR ELF32_ST_VISIBILITY (other) or .BR ELF64_ST_VISIBILITY (other) @@ -1597,7 +1613,7 @@ in relation to some section. This member holds the relevant section header table index. .\" .El -.sp +.PP Relocation is the process of connecting symbolic references with symbolic definitions. Relocatable files must have information that @@ -1605,7 +1621,7 @@ describes how to modify their section contents, thus allowing executable and shared object files to hold the right information for a process' program image. Relocation entries are these data. -.sp +.PP Relocation structures that do not need an addend: .in +4n .nf @@ -1625,7 +1641,7 @@ typedef struct { } Elf64_Rel; .fi .in -.sp +.PP Relocation structures that need an addend: .in +4n .nf @@ -1676,7 +1692,7 @@ member. This member specifies a constant addend used to compute the value to be stored into the relocatable field. .\" .El -.sp +.PP The .dynamic section contains a series of structures that hold relevant dynamic linking information. The d_tag member controls the interpretation @@ -1708,11 +1724,11 @@ extern Elf64_Dyn _DYNAMIC[]; .fi .in .\" .Bl -tag -width "d_tag" -.TP 12 +.TP 10 .IR d_tag This member may have any of the following values: .\" .Bl -tag -width "DT_SYMBOLIC" -.RS 12 +.RS 10 .TP 12 .BR DT_NULL Marks end of dynamic section @@ -1840,13 +1856,13 @@ The ELF format is an adopted standard. .BR objdump (1), .BR execve (2), .BR core (5) -.sp +.PP Hewlett-Packard, .IR "Elf-64 Object File Format" . -.sp +.PP Santa Cruz Operation, .IR "System V Application Binary Interface" . -.sp +.PP Unix System Laboratories, "Object Files", .IR "Executable and Linking Format (ELF)" . |
