Linux Standard Base Specification 1.0.0

This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at and provided that neither the name of the Free Standards Group, the name of the Linux Standard Base, nor the names of its contributors may be used to endorse or promote derived works without specific prior written permission.

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

Table of Contents
I. Introduction
1. Introduction
Related Standards
Related Implementations
Relevant Libraries
How to Use this Standard
II. Object Format
2. Object Files
3. Sections
ELF Section Types
Linux Section Types
4. Special Sections
ELF Special Sections
Linux Special Sections
5. Symbol Mapping
C Language
C++ Language
6. Symbol Versioning
Symbol Version Table
Version Definitions
Version Requirements
Startup Sequence
Symbol Resolution
III. Dynamic Linking
7. Program Loading and Dynamic Linking
8. Dynamic Entries
ELF Dynamic Entries
Linux Dynamic Entries
9. Program Interpreter
IV. Base Libraries
10. Libraries
Interfaces for libc
Data Definitions for libc
Interface Definitions for libc
Interfaces for libm
Data Definitions for libm
Interfaces for libpthread
Data Definitions for libpthread
Interfaces for libdl
Data Definitions for libdl
Interface Definitions for libdl
Interfaces for libcrypt
Data Definitions for libcrypt
Interfaces for librt
Data Definitions for librt
V. Utility Libraries
11. Libraries
Interfaces for libz
Interfaces for libncurses
Data Definitions for libncurses
Interfaces for libutil
Interface Definitions for libutil
VI. Graphic Libraries
12. 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
Interface Definitions for libXt
Interfaces for libGL
Data Definitions for libGL
VII. Package Format and Installation
13. Software Installation
Package Format
Package Tools
Package Naming
Package Dependencies
VIII. Commands and Utilities
14. Command and Utilities
Command and Utilities
Command Behavior
IX. Standard Shell
15. Standard Shell
Standard Shell Exception: pathname of $0
Standard Shell Exception: sourcing non-executable files
X. Users & Groups
16. Users & Groups
User and Group Database
User & Group Names
UID Ranges
XI. File System Hierarchy
17. FHS
Minimal granted Directory and File permissions
Recommendations for applications on ownership and permissions
XII. System Initialization
18. System Initialization
Cron Jobs
Run Levels
Init Script Actions
Comment conventions for init scripts
Installation and removal of init.d files
Facility names
Script names
Init script Functions
A. Alphabetical Listing of Interfaces
B. How To Create An LSB Compliant Application
Application Binary Interface
Application Programming Interface
LSB Compliance
LSB Setup and Environment
LSB Compliance Example
LSB Non-Compliance Example
List of Tables
1-1. Related Standards
1-2. Related Implementations
1-3. Relevant Libraries
3-1. ELF Section Types
3-2. Linux Section Types
4-1. ELF Special Sections
4-2. Linux Special Sections
8-1. ELF Dynamic Entries
8-2. Linux Dynamic Entries
10-1. libc - System Calls Function Interfaces
10-2. libc - System Calls Data Interfaces
10-3. libc - Standard I/O Function Interfaces
10-4. libc - Standard I/O Data Interfaces
10-5. libc - Signal Handling Function Interfaces
10-6. libc - Signal Handling Data Interfaces
10-7. libc - Standard Library Function Interfaces
10-8. libc - Standard Library Data Interfaces
10-9. libc - Localization Functions Function Interfaces
10-10. libc - Localization Functions Data Interfaces
10-11. libc - Socket Interface Function Interfaces
10-12. libc - Socket Interface Data Interfaces
10-13. libc - Wide Characters Function Interfaces
10-14. libc - String Functions Function Interfaces
10-15. libc - IPC Functions Function Interfaces
10-16. libc - Regular Expressions Function Interfaces
10-17. libc - Regular Expressions Data Interfaces
10-18. libc - Character Type Functions Function Interfaces
10-19. libc - Character Type Functions Data Interfaces
10-20. libc - Time Manipulation Function Interfaces
10-21. libc - Time Manipulation Data Interfaces
10-22. libc - Terminal Interface Functions Function Interfaces
10-23. libc - System Database Interface Function Interfaces
10-24. libc - Language Support Function Interfaces
10-25. libc - Large File Support Function Interfaces
10-26. libm - Math Function Interfaces
10-27. libm - Math Data Interfaces
10-28. libpthread - Posix Threads Function Interfaces
10-29. libdl Definition
10-30. libdl - Dynamic Loader Function Interfaces
10-31. libcrypt Definition
10-32. libcrypt - Encryption Function Interfaces
10-33. librt - Asynchronous I/O Function Interfaces
11-1. libz Definition
11-2. libz - Compression Library Function Interfaces
11-3. libncurses Definition
11-4. libncurses - Curses Function Interfaces
11-5. libncurses - Curses Data Interfaces
11-6. libutil - Utility Functions Function Interfaces
12-1. libX11 Definition
12-2. libX11 - X Windows Interface Function Interfaces
12-3. libXext Definition
12-4. libXext - X Shape Extension Function Interfaces
12-5. libXext - X Display Power Managment Signaling Extension Function Interfaces
12-6. libXext - X Shared Memory Extensions Function Interfaces
12-7. libXext - X Security Extension Function Interfaces
12-8. libXext - X Synchronization Extension Function Interfaces
12-9. libXext - X Double Buffer Extension Function Interfaces
12-10. libSM Definition
12-11. libSM - Session Management Functions Function Interfaces
12-12. libICE Definition
12-13. libICE - ICE Functions Function Interfaces
12-14. libXt Definition
12-15. libXt - X Toolkit Function Interfaces
12-16. libXt - X Toolkit Data Interfaces
12-17. libGL Definition
12-18. libGL - GL X interface Function Interfaces
12-19. libGL - OpenGL Function Interfaces
14-1. Commands and Utilities
16-1. Required User & Group Names
16-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. librt Function Interfaces
B-1. ABI: High Level View
B-2. ABI: Component View
List of Figures
6-1. Version Definition Entries
6-2. Version Definition Auxiliary Entries
6-3. Version Needed Entries
6-4. Version Needed Auxiliary Entries