Linux Standard Base Core Specification 4.1
Total Page:16
File Type:pdf, Size:1020Kb
Linux Standard Base Core Specification 4.1 Linux Standard Base Core Specification 4.1 ISO/IEC 23360 Part 1:2010(E) Copyright © 2010 Linux Foundation 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 may be 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 • Apple Inc. • Easy Software Products • artofcode LLC • Till Kamppeter • Manfred Wassman • Python Software Foundation 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 Linux Foundation 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 23360 Part 1:2010(E) Contents I Introductory Elements ...............................................................................................1 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 Terms and Definitions.......................................................................................9 5 Documentation Conventions .........................................................................11 6 Relationship To ISO/IEC 9945 POSIX ..........................................................12 7 Relationship To Other Linux Foundation Specifications ...........................13 II Executable And Linking Format (ELF)................................................................14 8 Introduction......................................................................................................15 9 Low Level System Information......................................................................16 9.1 Operating System Interface ...............................................................16 9.2 Machine Interface................................................................................16 10 Object Format.................................................................................................17 10.1 Object Files .........................................................................................17 10.2 Sections...............................................................................................17 10.3 Special Sections..................................................................................21 10.4 Symbol Mapping...............................................................................26 10.5 DWARF Extensions ..........................................................................26 10.6 Exception Frames ..............................................................................30 10.7 Symbol Versioning............................................................................35 10.8 ABI note tag .......................................................................................38 11 Dynamic Linking ...........................................................................................40 11.1 Program Loading and Dynamic Linking.......................................40 11.2 Program Header................................................................................40 11.3 Dynamic Entries ................................................................................40 III Base Libraries .........................................................................................................45 12 Base Libraries .................................................................................................46 12.1 Introduction .......................................................................................46 12.2 Program Interpreter..........................................................................46 12.3 Interfaces for libc...............................................................................46 12.4 Data Definitions for libc ...................................................................65 12.5 Interface Definitions for libc ..........................................................159 12.6 Interfaces for libm ...........................................................................362 12.7 Data Definitions for libm................................................................365 12.8 Interface Definitions for libm ........................................................372 12.9 Interfaces for libpthread.................................................................396 12.10 Data Definitions for libpthread ...................................................400 12.11 Interface Definitions for libpthread ............................................406 12.12 Interfaces for libgcc_s ...................................................................410 12.13 Data Definitions for libgcc_s........................................................410 12.14 Interface Definitions for libgcc_s.................................................412 12.15 Interfaces for libdl .........................................................................418 12.16 Data Definitions for libdl .............................................................419 © 2010 Linux Foundation iii ISO/IEC 23360 Part 1:2010(E) 12.17 Interface Definitions for libdl ......................................................420 12.18 Interfaces for librt..........................................................................423 12.19 Data Definitions for librt ..............................................................424 12.20 Interfaces for libcrypt....................................................................425 12.21 Interfaces for libpam.....................................................................426 12.22 Data Definitions for libpam .........................................................426 12.23 Interface Definitions for libpam ..................................................428 IV Utility Libraries....................................................................................................442 13 Utility Libraries............................................................................................443 13.1 Introduction .....................................................................................443 13.2 Interfaces for libz.............................................................................443 13.3 Data Definitions for libz.................................................................444 13.4 Interface Definitions for libz..........................................................447 13.5 Interfaces for libncurses..................................................................491 13.6 Data Definitions for libncurses......................................................496 13.7 Interface Definitions for libncurses...............................................505 13.8 Interfaces for libutil.........................................................................512 13.9 Interface Definitions for libutil......................................................513 V Network Security Services ..................................................................................519 14 Libraries ........................................................................................................520 14.1 Interfaces for libnspr4.....................................................................520 14.2 Data Definitions for libnspr4 .........................................................521 14.3 Interfaces for libnss3 .......................................................................528 14.4 Data Definitions for libnss3 ...........................................................529 14.5 Interfaces for libssl3 ........................................................................552 14.6 Data Definitions for libssl3.............................................................553 VI Commands and Utilities ....................................................................................563