ISO/IEC 23360-1:2006
(Main)Linux Standard Base (LSB) core specification 3.1 - Part 1: Generic specification
Linux Standard Base (LSB) core specification 3.1 - Part 1: Generic specification
The Linux Standard Base (LSB) defines a system interface for compiled applications and a minimal environment for support of installation scripts. Its purpose is to enable a uniform industry standard environment for high-volume applications conforming to the LSB. These specifications are composed of two basic parts: A common specification ("LSB-generic" or "generic LSB"), ISO/IEC 23360-1:2006, describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the interface that vary by processor architecture. Together, the LSB-generic and the relevant architecture-specific parts of ISO/IEC 23360 for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. ISO/IEC 23360-1:2006, the LSB-generic document, is used in conjunction with an architecture-specific part. Whenever a section of the LSB-generic specification is supplemented by architecture-specific information, the LSB-generic document includes a reference to the architecture part.
Spécifications 3.1 relatives au noyau de base normalisé Linux (LSB) — Partie 1: Spécifications génériques
General Information
Relations
Frequently Asked Questions
ISO/IEC 23360-1:2006 is a standard published by the International Organization for Standardization (ISO). Its full title is "Linux Standard Base (LSB) core specification 3.1 - Part 1: Generic specification". This standard covers: The Linux Standard Base (LSB) defines a system interface for compiled applications and a minimal environment for support of installation scripts. Its purpose is to enable a uniform industry standard environment for high-volume applications conforming to the LSB. These specifications are composed of two basic parts: A common specification ("LSB-generic" or "generic LSB"), ISO/IEC 23360-1:2006, describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the interface that vary by processor architecture. Together, the LSB-generic and the relevant architecture-specific parts of ISO/IEC 23360 for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. ISO/IEC 23360-1:2006, the LSB-generic document, is used in conjunction with an architecture-specific part. Whenever a section of the LSB-generic specification is supplemented by architecture-specific information, the LSB-generic document includes a reference to the architecture part.
The Linux Standard Base (LSB) defines a system interface for compiled applications and a minimal environment for support of installation scripts. Its purpose is to enable a uniform industry standard environment for high-volume applications conforming to the LSB. These specifications are composed of two basic parts: A common specification ("LSB-generic" or "generic LSB"), ISO/IEC 23360-1:2006, describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the interface that vary by processor architecture. Together, the LSB-generic and the relevant architecture-specific parts of ISO/IEC 23360 for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. ISO/IEC 23360-1:2006, the LSB-generic document, is used in conjunction with an architecture-specific part. Whenever a section of the LSB-generic specification is supplemented by architecture-specific information, the LSB-generic document includes a reference to the architecture part.
ISO/IEC 23360-1:2006 is classified under the following ICS (International Classification for Standards) categories: 35.080 - Software. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 23360-1:2006 has the following relationships with other standards: It is inter standard links to ISO/IEC TS 23360-1-6:2021, ISO/IEC 23360-1-1:2021, ISO/IEC 23360-1-3:2021, ISO/IEC 23360-1-5:2021, ISO/IEC 23360-1-2:2021, ISO/IEC 23360-1-4:2021. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 23360-1:2006 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23360
First edition
2006-12-15
Linux Standard Base (LSB) core
specification 3.1 —
Part 1: Generic specification
Part 2: Specification for IA32 architecture
Part 3: Specification for IA64 architecture
Part 4: Specification for AMD64 architecture
Part 5: Specification for PPC32 architecture
Part 6: Specification for PPC64 architecture
Part 7: Specification for S390 architecture
Part 8: Specification for S390X architecture
Spécifications 3.1 relatives au noyau de base normalisé Linux (LSB) —
Partie 1: Spécifications génériques
Partie 2: Spécifications pour l'architecture IA32
Partie 3: Spécifications pour l'architecture IA64
Partie 4: Spécifications pour l'architecture AMD64
Partie 5: Spécifications pour l'architecture PPC32
Partie 6: Spécifications pour l'architecture PPC64
Partie 7: Spécifications pour l'architecture S390
Partie 8: Spécifications pour l'architecture S390X
Reference number
ISO/IEC 23360:2006(E)
©
ISO/IEC 2006
ISO/IEC 23360:2006(E)
PDF disclaimer
PDF files may contain embedded typefaces. In accordance with Adobe's licensing policy, such files may be printed or viewed but shall
not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading a PDF file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create the PDF file(s) constituting this document can be found in the General Info relative to
the file(s); the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the files are suitable for
use by ISO member bodies. In the unlikely event that a problem relating to them is found, please inform the Central Secretariat at the
address given below.
This CD-ROM contains the publication ISO/IEC 23360 (parts 1 to 8) in portable document format (PDF),
which can be viewed using Adobe® Acrobat® Reader. It is composed of nine files, one for each part of
ISO/IEC 23360, plus a ReadMe file. These files include:
1) “Part 1: Generic specification” on the file “C043781e.pdf”;
2) “Part 2: Specification for IA32 architecture” on the file “C043782e.pdf”;
3) “Part 3: Specification for IA64 architecture” on the file “C043783e.pdf”;
4) “Part 4: Specification for AMD64 architecture” on the file “C043784e.pdf”;
5) “Part 5: Specification for PPC32 architecture” on the file “C043785e.pdf”;
6)
...
INTERNATIONAL ISO/IEC
STANDARD 23360-1
First edition
2006-12-15
Linux Standard Base (LSB) core
specification 3.1 —
Part 1:
Generic specification
Spécifications 3.1 relatives au noyau de base normalisé Linux (LSB) —
Partie 1: Spécifications génériques
Reference number
©
ISO/IEC 2006
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2006
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2006 – All rights reserved
Linux Standard Base Core Specification 3.1
This standard includes material that has been provided by the Free Standards Group under the GNU Free
Documentation License Version 1.1 published by the Free Software Foundation.
Portions of the text are copyrighted by the following parties:
• The Regents of the University of California
• Free Software Foundation
• Ian F. Darwin
• Paul Vixie
• BSDI (now Wind River)
• Andrew G Morgan
• Jean-loup Gailly and Mark Adler
• Massachusetts Institute of Technology
These excerpts are being used in accordance with their respective licenses.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
UNIX is a registered trademark of The Open Group.
LSB is a trademark of the Free Standards Group in the United States and other countries.
AMD is a trademark of Advanced Micro Devices, Inc.
Intel and Itanium are registered trademarks and Intel386 is a trademark of Intel Corporation.
PowerPC is a registered trademark and PowerPC Architecture is a trademark of the IBM Corporation.
S/390 is a registered trademark of the IBM Corporation.
OpenGL is a registered trademark of Silicon Graphics, Inc.
© ISO/IEC 2006 – All rights reserved iii
Contents
Foreword .viii
Introduction .ix
I Introductory Elements .0
1 Scope.1
1.1 General.1
1.2 Module Specific Scope.1
2 References.2
2.1 Normative References .2
2.2 Informative References/Bibliography .3
3 Requirements .6
3.1 Relevant Libraries .6
3.2 LSB Implementation Conformance .6
3.3 LSB Application Conformance.7
4 Definitions .9
5 Terminology .10
6 Documentation Conventions .12
7 Relationship To ISO/IEC 9945 POSIX .13
8 Relationship To Other Free Standards Group Specifications.14
II Executable And Linking Format (ELF).15
9 Introduction.16
10 Low Level System Information.17
10.1 Operating System Interface .17
10.2 Machine Interface.17
11 Object Format.18
11.1 Object Files .18
11.2 Sections .18
11.3 Special Sections.21
11.4 Symbol Mapping.27
11.5 DWARF Extensions .27
11.6 Exception Frames .30
11.7 Symbol Versioning.35
11.8 ABI note tag .39
12 Dynamic Linking .40
12.1 Program Loading and Dynamic Linking.40
12.2 Program Header.40
12.3 Dynamic Entries .40
III Base Libraries .45
13 Base Libraries .46
13.1 Introduction .46
13.2 Program Interpreter.46
13.3 Interfaces for libc.46
13.4 Data Definitions for libc .59
13.5 Interface Definitions for libc .111
13.6 Interfaces for libm .212
13.7 Data Definitions for libm.215
13.8 Interface Definitions for libm .222
13.9 Interfaces for libpthread.222
13.10 Data Definitions for libpthread .225
13.11 Interface Definitions for libpthread .229
13.12 Interfaces for libgcc_s .230
13.13 Data Definitions for libgcc_s.230
13.14 Interfaces for libdl .231
13.15 Data Definitions for libdl .232
iv © ISO/IEC 2006 – All rights reserved
13.16 Interface Definitions for libdl .232
13.17 Interfaces for librt.234
13.18 Interfaces for libcrypt.235
13.19 Interfaces for libpam.236
13.20 Data Definitions for libpam .237
13.21 Interface Definitions for libpam .238
IV Utility Libraries.250
14 Utility Libraries.251
14.1 Introduction .251
14.2 Interfaces for libz.251
14.3 Data Definitions for libz .252
14.4 Interface Definitions for libz.254
14.5 Interfaces for libncurses.299
14.6 Data Definitions for libncurses.304
14.7 Interfaces for libutil.312
14.8 Interface Definitions for libutil.313
V Commands and Utilities.318
15 Commands and Utilities.319
15.1 Commands and Utilities .319
15.2 Command Behavior.320
VI Execution Environment .381
16 File System Hierarchy .382
16.1 /dev: Device Files.382
16.2 /etc: Host-specific system configuration.382
16.3 User Accounting Databases.384
16.4 Path For System Administration Utilities.384
17 Additional Recommendations.385
17.1 Recommendations for applications on ownership and
permissions.385
18 Additional Behaviors .387
18.1 Mandatory Optional Behaviors.387
19 Localization .389
19.1 Introduction .389
19.2 Regular Expressions.389
19.3 Pattern Matching Notation .389
VII System Initialization .391
20 System Initialization.392
20.1 Cron Jobs .392
20.2 Init Script Actions.393
20.3 Comment Conventions for Init Scripts .394
20.4 Installation and Removal of Init Scripts.396
20.5 Run Levels.397
20.6 Facility Names .398
20.7 Script Names.399
20.8 Init Script Functions.399
VIII Users & Groups.402
21 Users & Groups.403
21.1 User and Group Database.403
21.2 User & Group Names .403
21.3 User ID Ranges.404
21.4 Rationale.404
© ISO/IEC 2006 – All rights reserved v
IX Package Format and Installation.405
22 Software Installation .406
22.1 Introduction .406
22.2 Package File Format.406
22.3 Package Script Restrictions .425
22.4 Package Tools .425
22.5 Package Naming.426
22.6 Package Dependencies .427
22.7 Package Architecture Considerations .427
A Alphabetical Listing of Interfaces.428
A.1 libc.428
A.2 libcrypt .440
A.3 libdl.440
A.4 libm.440
A.5 libncurses.445
A.6 libpam .450
A.7 libpthread .450
A.8 librt .452
A.9 libutil .452
A.10 libz .452
B Future Directions (Informative).454
B.1 Introduction .454
B.2 Commands And Utilities .455
lsbinstall.455
vi © ISO/IEC 2006 – All rights reserved
List of Figures
11-1 Version Definition Entries .36
11-2 Version Definition Auxiliary Entries.37
11-3 Version Needed Entries .37
11-4 Version Needed Auxiliary Entries.38
12-1 Dynamic Structure.40
© ISO/IEC 2006 – All rights reserved vii
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 23360-1 was prepared by the Free Standards Group and was adopted, under
the PAS procedure, by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee
SC 22, Programming languages, their environments and system software interfaces.
ISO/IEC 23360 consists of the following parts, under the general title Linux Standard Base (LSB) core
specification 3.1:
⎯ Part 1: Generic specification
⎯ Part 2: Specification for IA32 architecture
⎯ Part 3: Specification for IA64 architecture
⎯ Part 4: Specification for AMD64 architecture
⎯ Part 5: Specification for PPC32 architecture
⎯ Part 6: Specification for PPC64 architecture
⎯ Part 7: Specification for S390 architecture
⎯ Part 8: Specification for S390X architecture
viii © ISO/IEC 2006 – All rights reserved
Introduction
The LSB defines a binary interface for application programs that are compiled
and packaged for LSB-conforming implementations on many different hardware
architectures. Since a binary specification includes information specific to
the computer processor architecture for which it is intended, it is not possible for
a single document to specify the interface for all possible LSB-conforming
implementations. Therefore, the LSB is a family of specifications, rather than a
single one.
This document should be used in conjunction with the documents it references.
This document enumerates the system components it includes, but descriptions
of those components may be included entirely or partly in this document, partly
in other documents, or entirely in other reference documents. For example, the
section that describes system service routines includes a list of the system
routines supported in this interface, formal declarations of the data structures
they use that are visible to applications, and a pointer to the underlying
referenced specification for information about the syntax and semantics of each
call. Only those routines not described in standards referenced by this document,
or extensions to those standards, are described in detail. Information
referenced in this way is as much a part of this document as is the information
explicitly included here.
The specification carries a version number of either the form x.y or x.y.z. This
version number carries the following meaning:
• The first number (x) is the major version number. All versions with the same
major version number should share binary compatibility. Any addition or
deletion of a new library results in a new version number. Interfaces marked
as deprecated may be removed from the specification at a major version
change.
• The second number (y) is the minor version number. Individual interfaces
may be added if all certified implementations already had that (previously
undocumented) interface. Interfaces may be marked as deprecated at a minor
version change. Other minor changes may be permitted at the discretion of the
LSB workgroup.
• The third number (z), if present, is the editorial level. Only editorial changes
should be included in such versions.
Since this specification is a descriptive Application Binary Interface, and not a
source level API specification, it is not possible to make a guarantee of 100%
backward compatibility between major releases. However, it is the intent that
those parts of the binary interface that are visible in the source level API will
remain backward compatible from version to version, except where a feature
marked as deprecated in one release may be removed from a future release.
Implementors are strongly encouraged to make use of symbol versioning to
permit simultaneous support of applications conforming to different releases of
this specification.
This is version 3.1 of the Linux Standard Base Core Specification. This
specification is part of a family of specifications under the general title "Linux
Standard Base (LSB) core specification 3.1". Developers of applications or
implementations interested in using the LSB trademark should see the Free
Standards Group Certification Policy for details.
© ISO/IEC 2006 – All rights reserved ix
I Introductory Elements
I NTERNATIONAL STANDARD ISO/IEC 23360-1:2006(E)
Linux Standard Base (LSB) core specification 3.1 —
Part 1:
Generic specification
1 Scope
1.1 General
The Linux Standard Base (LSB) defines a system interface for compiled
applications and a minimal environment for support of installation scripts. Its
purpose is to enable a uniform industry standard environment for high-volume
applications conforming to the LSB.
These specifications are composed of two basic parts: A common specification
("LSB-generic" or "generic LSB"), ISO/IEC 23360-1, describing those parts of the
interface that remain constant across all implementations of the LSB, and an
architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the
interface that vary by processor architecture. Together, the LSB-generic and the
relevant architecture-specific part of ISO/IEC 23360 for a single hardware
architecture provide a complete interface specification for compiled application
programs on systems that share a common hardware architecture.
ISO/IEC 23360-1, the LSB-generic document, should be used in conjunction with
an architecture-specific part. Whenever a section of the LSB-generic specification
is supplemented by architecture-specific information, the LSB-generic document
includes a reference to the architecture part. Architecture-specific parts of
ISO/IEC 23360 may also contain additional information that is not referenced in
the LSB-generic document.
The LSB contains both a set of Application Program Interfaces (APIs) and
Application Binary Interfaces (ABIs). APIs may appear in the source code of
portable applications, while the compiled binary of that application may use the
larger set of ABIs. A conforming implementation provides all of the ABIs listed
here. The compilation system may replace (e.g. by macro definition) certain APIs
with calls to one or more of the underlying binary interfaces, and may insert calls
to binary interfaces as needed.
The LSB is primarily a binary interface definition. Not all of the source level APIs
available to applications may be contained in this specification.
1.2 Module Specific Scope
This is the Core module of the Linux Standard Base (LSB), ISO/IEC 23360-1. This
module provides the fundamental system interfaces, libraries, and runtime
environment upon which all conforming applications and libraries depend.
Interfaces described in this part of ISO/IEC 23360 are mandatory except where
explicitly listed otherwise. Core interfaces may be supplemented by other
modules; all modules are built upon the core.
© 2006 ISO/IEC — All rights reserved 1
2 References
2.1 Normative References
The following referenced documents are indispensable for the application of this
document. For dated references, only the edition cited applies. For undated
references, the latest edition of the referenced document (including any
amendments) applies.
Note: Where copies of a document are available on the World Wide Web, a Uniform
Resource Locator (URL) is given for informative purposes only. This may point to a
more recent copy of the referenced specification, or may be out of date. Reference
copies of specifications at the revision level indicated may be found at the Free
Standards Group's Reference Specifications (http://refspecs.freestandards.org) site.
Table 2-1 Normative References
Name Title URL
Filesystem Hierarchy Filesystem Hierarchy http://www.pathname
Standard Standard (FHS) 2.3 .com/fhs/
ISO C (1999) ISO/IEC 9899: 1999,
Programming
Languages — C
ISO POSIX (2003) http://www.unix.org/
ISO/IEC 9945-1:2003,
version3/
Information technology —
Portable Operating
System Interface
(POSIX) — Part 1: Base
Definitions
ISO/IEC 9945-2:2003,
Information technology —
Portable Operating
SystemInterface
(POSIX)—Part 2:
System Interfaces
ISO/IEC 9945-3:2003,
Information technology —
Portable Operating
System Interface
(POSIX) — Part 3: Shell
and Utilities
ISO/IEC9945-4:2003 ,
Information technology —
Portable Operating
SystemInterface
(POSIX)—Part 4:
Rationale
2 © 2006 ISO/IEC — All rights reserved
Name Title URL
Itanium™ C++ ABI Itanium™ C++ ABI http://refspecs.freestan
(Revision 1.83) dards.org/cxxabi-1.83.h
tml
Large File Support Large File Support http://www.UNIX-syst
ems.org/version2/wha
tsnew/lfs20mar.html
SUSv2 CAE Specification, http://www.opengrou
January 1997, System p.org/publications/cat
Interfaces and Headers alog/un.htm
(XSH), Issue 5 (ISBN:
1-85912-181-0, C606)
SVID Issue 3 American Telephone
and Telegraph
Company, System V
Interface Definition,
Issue 3; Morristown,
NJ, UNIX Press,
1989. (ISBN 0201566524)
SVID Issue 4 System V Interface
Definition, Fourth
Edition
System V ABI System V Application http://www.caldera.co
Binary Interface, m/developers/devspec
Edition 4.1 s/gabi41.pdf
System V ABI Update System V Application http://www.caldera.co
Binary Interface - m/developers/gabi/20
DRAFT - 17 December 03-12-17/contents.html
X/Open Curses CAE Specification, May http://www.opengrou
1996, X/Open Curses, p.org/publications/cat
Issue 4, Version 2 (ISBN: alog/un.htm
1-85912-171-3, C610),
plus Corrigendum U018
© 2006 ISO/IEC — All rights reserved 3
2.2 Informative References/Bibliography
In addition, the specifications listed below provide essential background
information to implementors of this specification. These references are included
for information only.
Table 2-2 Other References
Name Title URL
DWARF Debugging DWARF Debugging http://refspecs.freestan
Information Format, Information Format, dards.org/dwarf/dwar
Revision 2.0.0 Revision 2.0.0 (July 27, f-2.0.0.pdf
1993)
DWARF Debugging DWARF Debugging http://refspecs.freestan
Information Format, Information Format, dards.org/dwarf/
Revision 3.0.0 (Draft) Revision 3.0.0 (Draft)
IEC 60559/IEEE 754 IEC 60559:1989, Binary http://www.ieee.org/
Floating Point floating-point
arithmetic for
microprocessor systems
ISO/IEC TR 14652 ISO/IEC TR 14652:2004,
Information technology —
Specification method
for cultural conventions
ITU-T V.42 International http://www.itu.int/rec
Telecommunication /recommendation.asp?t
Union ype=folders&lang=e&p
Recommendation V.42 arent=T-REC-V.42
(2002): Error-correcting
procedures for DCEs
using asynchronous-to-
synchronous conversion
ITUV
Li18nux Globalization LI18NUX 2000 http://www.li18nux.or
Specification Globalization g/docs/html/LI18NUX
Specification, Version -2000-amd4.htm
1.0 with Amendment 4
Linux Allocated Device LINUX ALLOCATED http://www.lanana.or
Registry DEVICES g/docs/device-list/dev
ices.txt
PAM Open Software http://www.opengrou
Foundation, Request p.org/tech/rfc/mirror-
For Comments: 86.0 , rfc/rfc86.0.txt
October 1995, V. Samar
& R.Schemers (SunSoft)
4 © 2006 ISO/IEC — All rights reserved
Name Title URL
RFC 1321: The MD5 IETF RFC 1321: The http://www.ietf.org/rf
Message-Digest MD5 Message-Digest c/rfc1321.txt
Algorithm Algorithm
RFC 1831/1832 RPC & IETF RFC 1831 & 1832 http://www.ietf.org/
XDR
RFC 1833: Binding IETF RFC 1833: Binding http://www.ietf.org/rf
Protocols for ONC RPC Protocols for ONC RPC c/rfc1833.txt
Version 2 Version 2
RFC 1950: ZLIB IETF RFC 1950: ZLIB http://www.ietf.org/rf
Compressed Data Compressed Data c/rfc1950.txt
Format Specication Format Specification
RFC 1951: DEFLATE IETF RFC 1951: http://www.ietf.org/rf
Compressed Data DEFLATE Compressed c/rfc1951.txt
Format Specification Data Format
Specification version 1.3
RFC 1952: GZIP File IETF RFC 1952: GZIP http://www.ietf.org/rf
Format Specification file format specification c/rfc1952.txt
version 4.3
RFC 2440: OpenPGP IETF RFC 2440: http://www.ietf.org/rf
Message Format OpenPGP Message c/rfc2440.txt
Format
RFC 2821:Simple Mail IETF RFC 2821: Simple http://www.ietf.org/rf
Transfer Protocol Mail Transfer Protocol c/rfc2821.txt
RFC 2822:Internet IETF RFC 2822: Internet http://www.ietf.org/rf
Message Format Message Format c/rfc2822.txt
RFC 791:Internet IETF RFC 791: Internet http://www.ietf.org/rf
Protocol Protocol Specification c/rfc791.txt
RPM Package Format RPM Package Format http://www.rpm.org/
V3.0 max-rpm/s1-rpm-file-f
ormat-rpm-file-format.h
tml
SUSv2 Commands and The Single UNIX http://www.opengrou
Utilities Specification(SUS) p.org/publications/cat
Version 2, Commands alog/un.htm
and Utilities (XCU),
Issue 5 (ISBN:
1-85912-191-8, C604)
zlib Manual zlib 1.2 Manual http://www.gzip.org/
zlib/
© 2006 ISO/IEC — All rights reserved 5
3 Requirements
3.1 Relevant Libraries
The libraries listed in Table 3-1 shall be available on a Linux Standard Base
system, with the specified runtime names. The libraries listed in Table 3-2 are
architecture specific, but shall be available on all LSB conforming systems. This
list may be supplemented or amended by the relevant architecture specific part
of ISO/IEC 23360.
Table 3-1 Standard Library Names
Library Runtime Name
libdl libdl.so.2
libcrypt libcrypt.so.1
libz libz.so.1
libncurses libncurses.so.5
libutil libutil.so.1
libpthread libpthread.so.0
librt librt.so.1
libpam libpam.so.0
libgcc_s libgcc_s.so.1
Table 3-2 Standard Library Names defined in the Architecture Specific Parts
of ISO/IEC 23360
Library Runtime Name
libm See archLSB
libc See archLSB
proginterp See archLSB
These libraries will be in an implementation-defined directory which the
dynamic linker shall search by default.
3.2 LSB Implementation Conformance
A conforming implementation is necessarily architecture specific, and must
provide the interfaces specified by both the generic LSB Core specification
(ISO/IEC 23360-1) and the relevant architecture specific part of ISO/IEC 23360.
Rationale: An implementation must provide at least the interfaces specified in these
specifications. It may also provide additional interfaces.
A conforming implementation shall satisfy the following requirements:
• A processor architecture represents a family of related processors which may
not have identical feature sets. The architecture specific parts of ISO/IEC
23360 that supplement this specification for a given target processor
architecture describe a minimum acceptable processor. The implementation
6 © 2006 ISO/IEC — All rights reserved
shall provide all features of this processor, whether in hardware or through
emulation transparent to the application.
• The implementation shall be capable of executing compiled applications
having the format and using the system interfaces described in this document.
• The implementation shall provide libraries containing the interfaces specified
by this document, and shall provide a dynamic linking mechanism that allows
these interfaces to be attached to applications at runtime. All the interfaces
shall behave as specified in this document.
• The map of virtual memory provided by the implementation shall conform to
the requirements of this document.
• The implementation's low-level behavior with respect to function call linkage,
system traps, signals, and other such activities shall conform to the formats
described in this document.
• The implementation shall provide all of the mandatory interfaces in their
entirety.
• The implementation may provide one or more of the optional interfaces. Each
optional interface that is provided shall be provided in its entirety. The
product documentation shall state which optional interfaces are provided.
• The implementation shall provide all files and utilities specified as part of this
document in the format defined here and in other referenced documents. All
commands and utilities shall behave as required by this document. The
implementation shall also provide all mandatory components of an
application's runtime environment that are included or referenced in this
document.
• The implementation, when provided with standard data formats and values at
a named interface, shall provide the behavior defined for those values and
data formats at that interface. However, a conforming implementation may
consist of components which are separately packaged and/or sold. For
example, a vendor of a conforming implementation might sell the hardware,
operating system, and windowing system as separately packaged items.
• The implementation may provide additional interfaces with different names.
It may also provide additional behavior corresponding to data values outside
the standard ranges, for standard named interfaces.
3.3 LSB Application Conformance
A conforming application is necessarily architecture specific, and must conform
to both the generic LSB Core specification (ISO/IEC 23360-1)and the relevant
architecture specific part of ISO/IEC 23360.
A conforming application shall satisfy the following requirements:
• Its executable files shall be either shell scripts or object files in the format
defined for the Object File Format system interface.
• Its object files shall participate in dynamic linking as defined in the Program
Loading and Linking System interface.
• It shall employ only the instructions, traps, and other low-level facilities
defined in the Low-Level System interface as being for use by applications.
• If it requires any optional interface defined in this document in order to be
installed or to execute successfully, the requirement for that optional interface
shall be stated in the application's documentation.
© 2006 ISO/IEC — All rights reserved 7
• It shall not use any interface or data format that is not required to be provided
by a conforming implementation, unless:
• If such an interface or data format is supplied by another application
through direct invocation of that application during execution, that
application shall be in turn an LSB conforming application.
• The use of that interface or data format, as well as its source, shall be
identified in the documentation of the application.
• It shall not use any values for a named interface that are reserved for vendor
extensions.
A strictly conforming application shall not require or use any interface, facility,
or implementation-defined extension that is not defined in this document in
order to be installed or to execute successfully.
8 © 2006 ISO/IEC — All rights reserved
4 Definitions
For the purposes of this document, the following definitions, as specified in the
ISO/IEC Directives, Part 2, 2004, 5th Edition, apply:
can
be able to; there is a possibility of; it is possible to
cannot
be unable to; there is no possibilty of; it is not possible to
may
is permitted; is allowed; is permissible
need not
it is not required that; no.is required
shall
is to; is required to; it is required that; has to; only.is permitted; it is
necessary
shall not
is not allowed [permitted] [acceptable] [permissible]; is required to be not; is
required that.be not; is not to be
should
it is recommended that; ought to
should not
it is not recommended that; ought not to
© 2006 ISO/IEC — All rights reserved 9
5 Terminology
For the purposes of this document, the following terms apply:
archLSB
The architectural part of the LSB Specification which describes the specific
parts of the interface that are platform specific. The archLSB is
complementary to the gLSB.
Binary Standard
The total set of interfaces that are available to be used in the compiled binary
code of a conforming application.
gLSB
The common part of the LSB Specification that describes those parts of the
interface that remain constant across all hardware implementations of the
LSB.
implementation-defined
Describes a value or behavior that is not defined by this document but is
selected by an implementor. The value or behavior may vary among
implementations that conform to this document. An application should not
rely on the existence of the value or behavior. An application that relies on
such a value or behavior cannot be assured to be portable across conforming
implementations. The implementor shall document such a value or
behavior so that it can be used correctly by an application.
Shell Script
A file that is read by an interpreter (e.g., awk). The first line of the shell
script includes a reference to its interpreter binary.
Source Standard
The set of interfaces that are available to be used in the source code of a
conforming application.
undefined
Describes the nature of a value or behavior not defined by this document
which results from use of an invalid program construct or invalid data input.
The value or behavior may vary among implementations that conform to
this document. An application should not rely on the existence or validity of
the value or behavior. An application that relies on any particular value or
behavior cannot be assured to be portable across conforming
implementations.
unspecified
Describes the nature of a value or behavior not specified by this document
which results from use of a valid program construct or valid data input. The
value or behavior may vary among implementations that conform to this
document. An application should not rely on the existence or validity of the
value or behavior. An application that relies on any particular value or
behavior cannot be assured to be portable across conforming
implementations.
10 © 2006 ISO/IEC — All rights reserved
Other terms and definitions used in this document shall have the same meaning
as defined in Chapter 3 of the Base Definitions volume of ISO POSIX (2003).
© 2006 ISO/IEC — All rights reserved 11
6 Documentation Conventions
Throughout this document, the following typographic conventions are used:
function()
the name of a function
command
the name of a command or utility
CONSTANT
a constant value
parameter
a parameter
variable
a variable
Throughout this specification, several tables of interfaces are presented. Each
entry in these tables has the following format:
name
the name of the interface
(symver)
An optional symbol version identifier, if required.
[refno]
A reference number indexing the table of referenced specifications that
follows this table.
For example,
forkpty(GLIBC_2.0) [SUSv3]
refers to the interface named forkpty() with symbol version GLIBC_2.0 that is
defined in the SUSv3 reference.
Note: Symbol versions are defined in the architecture specific parts of ISO/IEC
23360 only.
12 © 2006 ISO/IEC — All rights reserved
7 Relationship To ISO/IEC 9945 POSIX
This specification includes many interfaces described in ISO POSIX (2003).
Unless otherwise specified, such interfaces should behave exactly as described in
that specification. Any conflict between the requirements described here and the
ISO POSIX (2003) standard is unintentional, except as explicitly noted otherwise.
Note: In addition to the differences noted inline in this specification, PDTR 24715
has extracted the differences between this specification and ISO POSIX (2003) into a
single place. It is the long term plan of the Free Standards Group to converge the LSB
Core Specification with ISO/IEC 9945 POSIX.
The LSB Specification Authority is responsible for deciding the meaning of
conformance to normative referenced standards in the LSB context. Problem
Reports regarding underlying or referenced standards in any other context will
be referred to the relevant maintenance body for that standard.
© 2006 ISO/IEC — All rights reserved 13
8 Relationship To Other Free Standards Group
Specifications
The LSB is the base for several other specification projects under the umbrella of
the Free Standards Group (FSG). This specification is the foundation, and other
specifications build on the interfaces defined here. However, beyond those
specifications listed as Normative References, this specification has no
dependencies on other FSG projects.
14 © 2006 ISO/IEC — All rights reserved
II Executable And Linking Format (ELF)
9 Introduction
Executable and Linking Format (ELF) defines the object format for compiled
System V
applications. This specificat
...










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...