Linux Standard Base Specification 1.3

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Portions of the text were taken from other copyrighted documents in accordance with the respective licenses of those documents.

Linux is a trademark of Linus Torvalds.

UNIX a registered trademark of the Open Group in the United States and other countries.

LSB is a trademark of the Free Standards Group in the USA and other countries.

Intel386 and Itanium are trademarks of Intel Corporation.

OpenGL is a registered trademark of Silicon Graphics, Inc.


Table of Contents
I. Introduction
1. Introduction
Introduction
Purpose
Related Standards
Relevant Libraries
How to Use this Standard
Definitions
Terminology
II. Object Format
2. Object Files
3. Sections
Sections Types
4. Special Sections
Special Sections
5. Symbol Mapping
Symbol Mapping
6. EH Frame Header
DWARF Exception Header Encoding
7. Symbol Versioning
Symbol Version Table
Version Definitions
Version Requirements
Startup Sequence
Symbol Resolution
8. ABI note tag
III. Dynamic Linking
9. Program Loading and Dynamic Linking
10. Program Header
11. Dynamic Entries
Dynamic Entries
12. Program Interpreter
IV. Base Libraries
13. Libraries
Interfaces for libc
Data Definitions for libc
Interfaces Definitions for libc
Interfaces for libm
Data Definitions for libm
Interfaces for libpthread
Data Definitions for libpthread
Interfaces Definitions for libpthread
Interfaces for libgcc_s
Data Definitions for libgcc_s
Interfaces Definitions for libgcc_s
Interfaces for libdl
Data Definitions for libdl
Interfaces Definitions for libdl
Interfaces for libcrypt
Data Definitions for libcrypt
Interfaces for libpam
Data Definitions for libpam
Interfaces Definitions for libpam
V. Utility Libraries
14. Libraries
Interfaces for libz
Data Definitions for libz
Interfaces for libncurses
Data Definitions for libncurses
Interfaces for libutil
Interfaces Definitions for libutil
VI. Graphic Libraries
15. Libraries
Interfaces for libX11
Data Definitions for libX11
Interfaces for libXext
Data Definitions for libXext
Interfaces for libSM
Data Definitions for libSM
Interfaces for libICE
Data Definitions for libICE
Interfaces for libXt
Data Definitions for libXt
Interfaces Definitions for libXt
Interfaces for libGL
Data Definitions for libGL
VII. Package Format and Installation
16. Software Installation
Package File Format
Package Script Restrictions
Package Tools
Package Naming
Package Dependencies
Package Architecture Considerations
VIII. Commands and Utilities
17. Commands and Utilities
Commands and Utilities
Command Behavior
IX. Standard Shell
18. Standard Shell
Introduction
Standard Shell Exceptions
Standard Shell Rationale
X. Users & Groups
19. Users & Groups
User and Group Database
User & Group Names
UID Ranges
Rationale
XI. Execution Environment
20. File System Hierarchy
/dev
21. Additional Recommendations
Minimal granted Directory and File permissions
Recommendations for applications on ownership and permissions
22. Additional Behaviors
23. Localization
Regular Expressions
Filename Globbing
XII. System Initialization
24. System Initialization
Cron Jobs
Init Script Actions
Comment conventions for init scripts
Installation and removal of init.d files
Run Levels
Facility names
Script names
Init script Functions
A. Alphabetical Listing of Interfaces
libX11
libXt
libm
libGL
libXext
libICE
libSM
libdl
libcrypt
libz
libncurses
libutil
libc
libpthread
libpam
libgcc_s
B. GNU Free Documentation License
PREAMBLE
APPLICABILITY AND DEFINITIONS
VERBATIM COPYING
COPYING IN QUANTITY
MODIFICATIONS
COMBINING DOCUMENTS
COLLECTIONS OF DOCUMENTS
AGGREGATION WITH INDEPENDENT WORKS
TRANSLATION
TERMINATION
FUTURE REVISIONS OF THIS LICENSE
How to use this License for your documents
List of Tables
1-1. Related Standards
1-2. Standard Libraries Names
1-3. Standard Library Names defined in the Architecture Specific Supplement
3-1. ELF Section Types
3-2. Additional Section Types
4-1. ELF Special Sections
4-2. Additional Special Sections
6-1. .eh_frame_hdr Section Format
6-2. DWARF Exception Header value format
6-3. DWARF Exception Header application
10-1. Linux Segment Types
13-1. libc Definition
13-2. libc - RPC Function Interfaces
13-3. libc - System Calls Function Interfaces
13-4. libc - System Calls Deprecated Function Interfaces
13-5. libc - Standard I/O Function Interfaces
13-6. libc - Standard I/O Deprecated Function Interfaces
13-7. libc - Standard I/O Data Interfaces
13-8. libc - Signal Handling Function Interfaces
13-9. libc - Signal Handling Data Interfaces
13-10. libc - Localization Functions Function Interfaces
13-11. libc - Localization Functions Deprecated Function Interfaces
13-12. libc - Localization Functions Data Interfaces
13-13. libc - Socket Interface Function Interfaces
13-14. libc - Wide Characters Function Interfaces
13-15. libc - String Functions Function Interfaces
13-16. libc - IPC Functions Function Interfaces
13-17. libc - Regular Expressions Function Interfaces
13-18. libc - Regular Expressions Data Interfaces
13-19. libc - Character Type Functions Function Interfaces
13-20. libc - Character Type Functions Data Interfaces
13-21. libc - Time Manipulation Function Interfaces
13-22. libc - Time Manipulation Data Interfaces
13-23. libc - Terminal Interface Functions Function Interfaces
13-24. libc - System Database Interface Function Interfaces
13-25. libc - System Database Interface Deprecated Function Interfaces
13-26. libc - Language Support Function Interfaces
13-27. libc - Large File Support Function Interfaces
13-28. libc - Large File Support Deprecated Function Interfaces
13-29. libc - Standard Library Function Interfaces
13-30. libc - Standard Library Data Interfaces
13-31. libm Definition
13-32. libm - Math Function Interfaces
13-33. libm - Math Data Interfaces
13-34. libpthread Definition
13-35. libpthread - Posix Threads Function Interfaces
13-36. libgcc_s Definition
13-37. libgcc_s - Unwind Library Function Interfaces
13-38. libdl Definition
13-39. libdl - Dynamic Loader Function Interfaces
13-40. libcrypt Definition
13-41. libcrypt - Encryption Function Interfaces
13-42. libpam Definition
13-43. libpam - Pluggable Authentication API Function Interfaces
14-1. libz Definition
14-2. libz - Compression Library Function Interfaces
14-3. libncurses Definition
14-4. libncurses - Curses Function Interfaces
14-5. libncurses - Curses Data Interfaces
14-6. libutil Definition
14-7. libutil - Utility Functions Function Interfaces
15-1. libX11 Definition
15-2. libX11 - X Windows System Interface Function Interfaces
15-3. libXext Definition
15-4. libXext - X Shape Extension Function Interfaces
15-5. libXext - X Display Power Management Signaling Extension Function Interfaces
15-6. libXext - X Shared Memory Extensions Function Interfaces
15-7. libXext - X Synchronization Extension Function Interfaces
15-8. libXext - X Security Extension Function Interfaces
15-9. libXext - X Double Buffer Extension Function Interfaces
15-10. libSM Definition
15-11. libSM - Session Management Functions Function Interfaces
15-12. libICE Definition
15-13. libICE - ICE Functions Function Interfaces
15-14. libXt Definition
15-15. libXt - X Toolkit Function Interfaces
15-16. libXt - X Toolkit Data Interfaces
15-17. libGL Definition
15-18. libGL - GL X interface Function Interfaces
15-19. libGL - OpenGL Function Interfaces
16-1. RPM File Format
16-2. Signature Format
16-3. Index Type values
16-4. Header Private Tag Values
16-5. Signature Tag Values
16-6. Signature Digest Tag Values
16-7. Signature Signing Tag Values
16-8. Package Info Tag Values
16-9. Installation Tag Values
16-10. File Info Tag Values
16-11. Package Dependency Tag Values
16-12. Index Type values
16-13. Package Dependency Attributes
16-14. Other Tag Values
16-15. CPIO File Format
17-1. Commands and Utilities
19-1. Required User & Group Names
19-2. Optional User & Group Names
A-1. libX11 Function Interfaces
A-2. libXt Function Interfaces
A-3. libXt Data Interfaces
A-4. libm Function Interfaces
A-5. libm Data Interfaces
A-6. libGL Function Interfaces
A-7. libXext Function Interfaces
A-8. libICE Function Interfaces
A-9. libSM Function Interfaces
A-10. libdl Function Interfaces
A-11. libcrypt Function Interfaces
A-12. libz Function Interfaces
A-13. libncurses Function Interfaces
A-14. libncurses Data Interfaces
A-15. libutil Function Interfaces
A-16. libc Function Interfaces
A-17. libc Data Interfaces
A-18. libpthread Function Interfaces
A-19. libpam Function Interfaces
A-20. libgcc_s Function Interfaces
List of Figures
7-1. Version Definition Entries
7-2. Version Definition Auxiliary Entries
7-3. Version Needed Entries
7-4. Version Needed Auxiliary Entries