Linux Standard Base (LSB)

Noyau de base normalisé Linux (LSB)

General Information

Status
Published
Current Stage
4060 - Close of voting
Start Date
09-May-2020
Completion Date
08-May-2020
Ref Project

RELATIONS

Buy Standard

Draft
ISO/IEC DIS 23360-2-2 - Linux Standard Base (LSB)
English language
242 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 23360-2-2
ISO/IEC JTC 1/SC 22 Secretariat: ANSI
Voting begins on: Voting terminates on:
2020-02-14 2020-05-08
Linux Standard Base (LSB) —
Part 2-2:
Core specification for X86-32 architecture
ICS: 35.080
THIS DOCUMENT IS A DRAFT CIRCULATED
FOR COMMENT AND APPROVAL. IT IS
THEREFORE SUBJECT TO CHANGE AND MAY
NOT BE REFERRED TO AS AN INTERNATIONAL
STANDARD UNTIL PUBLISHED AS SUCH.
IN ADDITION TO THEIR EVALUATION AS
BEING ACCEPTABLE FOR INDUSTRIAL,
This document is circulated as received from the committee secretariat.
TECHNOLOGICAL, COMMERCIAL AND
USER PURPOSES, DRAFT INTERNATIONAL
STANDARDS MAY ON OCCASION HAVE TO
BE CONSIDERED IN THE LIGHT OF THEIR
POTENTIAL TO BECOME STANDARDS TO
WHICH REFERENCE MAY BE MADE IN
Reference number
NATIONAL REGULATIONS.
ISO/IEC DIS 23360-2-2:2020(E)
RECIPIENTS OF THIS DRAFT ARE INVITED
TO SUBMIT, WITH THEIR COMMENTS,
NOTIFICATION OF ANY RELEVANT PATENT
RIGHTS OF WHICH THEY ARE AWARE AND TO
PROVIDE SUPPORTING DOCUMENTATION. ISO/IEC 2020
---------------------- Page: 1 ----------------------
ISO/IEC DIS 23360-2-2:2020(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2020

All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may

be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting

on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address

below or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Fax: +41 22 749 09 47
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2020 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC DIS 23360-2-2:2020(E)
Contents

Contents .......................................................................................................................................................... iii

List of Tables ................................................................................................................................................... v

Foreword ...................................................................................................................................................... xiii

Status of this Document ............................................................................................................................ xv

Introduction ................................................................................................................................................ xvi

I Introductory Elements ............................................................................................................................. 1

1 Scope........................................................................................................................................................................ 2

1.1 General ...................................................................................................................................................... 2

1.2 Module Specific Scope ........................................................................................................................ 2

2 References ............................................................................................................................................................. 3

2.1 Normative References ........................................................................................................................ 3

2.2 Informative References/Bibliography......................................................................................... 5

3 Requirements ...................................................................................................................................................... 8

3.1 Relevant Libraries ................................................................................................................................ 8

3.2 LSB Implementation Conformance............................................................................................... 8

3.3 LSB Application Conformance ........................................................................................................ 9

4 Terms and Definitions .................................................................................................................................... 11

5 Documentation Conventions ...................................................................................................................... 13

II Executable and Linking Format (ELF) ............................................................................................ 14

6 Introduction ....................................................................................................................................................... 15

7 Low Level System Information .................................................................................................................. 16

7.1 Machine Interface ............................................................................................................................... 16

7.2 Function Calling Sequence ............................................................................................................. 17

7.3 Operating System Interface ............................................................................................................ 18

7.4 Process Initialization ........................................................................................................................ 19

7.5 Coding Examples................................................................................................................................. 20

7.6 C Stack Frame ....................................................................................................................................... 21

7.7 Debug Information ............................................................................................................................. 21

8 Object Format .................................................................................................................................................... 22

8.1 Introduction .......................................................................................................................................... 22

8.2 ELF Header ............................................................................................................................................ 22

8.3 Special Sections ................................................................................................................................... 22

8.4 Symbol Table ........................................................................................................................................ 23

8.5 Relocation .............................................................................................................................................. 23

9 Program Loading and Dynamic Linking ................................................................................................ 24

9.1 Introduction .......................................................................................................................................... 24

9.2 Program Header .................................................................................................................................. 24

9.3 Program Loading ................................................................................................................................ 24

9.4 Dynamic Linking ................................................................................................................................. 24

III Base Libraries ........................................................................................................................................ 26

10 Libraries ............................................................................................................................................................ 27

10.1 Program Interpreter/Dynamic Linker ................................................................................... 27

10.2 Interfaces for libc ............................................................................................................................. 27

10.3 Data Definitions for libc ................................................................................................................ 47

10.4 Interface Definitions for libc ....................................................................................................... 66

ioperm ............................................................................................................................................................. 67

iopl .................................................................................................................................................................... 67

10.5 Interfaces for libm ........................................................................................................................... 68

10.6 Data Definitions for libm .............................................................................................................. 73

10.7 Interface Definitions for libm ..................................................................................................... 75

__fpclassifyl ................................................................................................................................................... 75

__signbitl ......................................................................................................................................................... 75

10.8 Interfaces for libpthread ............................................................................................................... 75

10.9 Data Definitions for libpthread .................................................................................................. 81

© ISO/IEC 2020 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC DIS 23360-2-2:2020(E)

10.10 Interfaces for libgcc_s .................................................................................................................. 82

10.11 Data Definitions for libgcc_s ..................................................................................................... 83

10.12 Interface Definitions for libgcc_s ............................................................................................ 83

_Unwind_Find_FDE .................................................................................................................................... 84

_Unwind_GetDataRelBase ...................................................................................................................... 84

_Unwind_GetTextRelBase ....................................................................................................................... 84

10.13 Interfaces for libdl ........................................................................................................................ 84

10.14 Data Definitions for libdl............................................................................................................ 85

10.15 Interfaces for libcrypt ................................................................................................................. 85

10.16 Data Definitions for libcrypt..................................................................................................... 86

IV Utility Libraries ..................................................................................................................................... 87

11 Libraries ............................................................................................................................................................ 88

11.1 Interfaces for libz ............................................................................................................................. 88

11.2 Data Definitions for libz ................................................................................................................ 88

11.3 Interfaces for libncurses ............................................................................................................... 89

11.4 Data Definitions for libncurses .................................................................................................. 89

11.5 Interfaces for libncursesw ........................................................................................................... 89

11.6 Data Definitions for libncursesw .............................................................................................. 90

11.7 Interfaces for libutil ........................................................................................................................ 91

V Base Libraries .......................................................................................................................................... 92

12 Libraries ............................................................................................................................................................ 93

12.1 Interfaces for libstdcxx .................................................................................................................. 93

12.2 Interface Definitions for libstdcxx ......................................................................................... 207

VI Package Format and Installation ................................................................................................. 208

13 Software Installation................................................................................................................................. 209

13.1 Package Dependencies ............................................................................................................... 209

13.2 Package Architecture Considerations .................................................................................. 209

Annex A Alphabetical Listing of Interfaces by Library .............................................................. 210

A.1 libc ......................................................................................................................................................... 210

A.2 libcrypt ................................................................................................................................................. 226

A.3 libdl ........................................................................................................................................................ 226

A.4 libgcc_s ................................................................................................................................................. 226

A.5 libm ........................................................................................................................................................ 227

A.6 libpthread ........................................................................................................................................... 232

A.7 librt ........................................................................................................................................................ 235

A.8 libutil ..................................................................................................................................................... 235

Annex B GNU Free Documentation License (Informative) ....................................................... 237

B.1 PREAMBLE ......................................................................................................................................... 237

B.2 APPLICABILITY AND DEFINITIONS ....................................................................................... 237

B.3 VERBATIM COPYING...................................................................................................................... 238

B.4 COPYING IN QUANTITY ................................................................................................................ 238

B.5 MODIFICATIONS .............................................................................................................................. 239

B.6 COMBINING DOCUMENTS .......................................................................................................... 241

B.7 COLLECTIONS OF DOCUMENTS ............................................................................................... 241

B.8 AGGREGATION WITH INDEPENDENT WORKS.................................................................. 241

B.9 TRANSLATION .................................................................................................................................. 241

B.10 TERMINATION ............................................................................................................................... 242

B.11 FUTURE REVISIONS OF THIS LICENSE .............................................................................. 242

B.12 How to use this License for your documents ................................................................... 242

iv © ISO/IEC 2020 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC DIS 23360-2-2:2020(E)
List of Tables

Table 2-1 Normative References .......................................................................................................... 3

Table 2-2 Other References ..................................................................................................................... 5

Table 3-1 Standard Library Names ...................................................................................................... 8

Table 7-1 Scalar Types............................................................................................................................. 17

Table 8-1 ELF Special Sections ............................................................................................................ 22

Table 8-2 Additional Special Sections ............................................................................................... 23

Table 10-1 libc Definition ....................................................................................................................... 27

Table 10-2 libc - RPC Function Interfaces ....................................................................................... 27

Table 10-3 libc - RPC Deprecated Function Interfaces ............................................................. 29

Table 10-4 libc - System Calls Function Interfaces ..................................................................... 29

Table 10-5 libc - System Calls Deprecated Function Interfaces ............................................ 31

Table 10-6 libc - Standard I/O Function Interfaces .................................................................... 31

Table 10-7 libc - Standard I/O Deprecated Function Interfaces ........................................... 33

Table 10-8 libc - Standard I/O Data Interfaces ............................................................................. 33

Table 10-9 libc - Signal Handling Function Interfaces .............................................................. 33

Table 10-10 libc - Signal Handling Deprecated Function Interfaces .................................. 34

Table 10-11 libc - Signal Handling Data Interfaces ..................................................................... 34

Table 10-12 libc - Localization Functions Function Interfaces ............................................. 34

Table 10-13 libc - Localization Functions Data Interfaces ...................................................... 35

Table 10-14 libc - Posix Spawn Option Function Interfaces ................................................... 35

Table 10-15 libc - Posix Advisory Option Function Interfaces .............................................. 36

Table 10-16 libc - Socket Interface Function Interfaces ........................................................... 36

Table 10-17 libc - Socket Interface Data Interfaces .................................................................... 36

Table 10-18 libc - Wide Characters Function Interfaces .......................................................... 37

Table 10-19 libc - String Functions Function Interfaces .......................................................... 38

Table 10-20 libc - String Functions Deprecated Function Interfaces ................................. 39

Table 10-21 libc - IPC Functions Function Interfaces ................................................................ 39

Table 10-22 libc - Regular Expressions Function Interfaces .................................................. 40

Table 10-23 libc - Character Type Functions Function Interfaces ....................................... 40

Table 10-24 libc - Time Manipulation Function Interfaces ..................................................... 40

Table 10-25 libc - Time Manipulation Data Interfaces .............................................................. 41

Table 10-26 libc - Terminal Interface Functions Function Interfaces ................................ 41

Table 10-27 libc - System Database Interface Function Interfaces ..................................... 41

Table 10-28 libc - System Database Interface Deprecated Function Interfaces ............ 42

Table 10-29 libc - Language Support Function Interfaces ...................................................... 43

Table 10-30 libc - Large File Support Function Interfaces ...................................................... 43

Table 10-31 libc - Large File Support Deprecated Function Interfaces ............................. 44

Table 10-32 libc - Standard Library Function Interfaces ......................................................... 44

Table 10-33 libc - Standard Library Deprecated Function Interfaces ................................ 47

Table 10-34 libc - Standard Library Data Interfaces .................................................................. 47

Table 10-35 libc - GNU Extensions for libc Function Interfaces ........................................... 47

Table 10-36 libm Definition .................................................................................................................. 68

Table 10-37 libm - Math Function Interfaces ................................................................................ 69

Table 10-38 libm - Math Deprecated Function Interfaces ....................................................... 73

Table 10-39 libm - Math Data Interfaces ......................................................................................... 73

Table 10-40 libpthread Definition...................................................................................................... 76

Table 10-41 libpthread - Realtime Threads Function Interfaces ......................................... 76

Table 10-42 libpthread - Advanced Realtime Threads Function Interfaces ................... 76

Table 10-43 libpthread - Posix Threads Function Interfaces................................................. 77

Table 10-44 libpthread - Posix Threads Deprecated Function Interfaces ....................... 78

Table 10-45 libpthread - Thread aware versions of libc interfaces Function Interfaces

.................................................................................................................................................................. 79

Table 10-46 libpthread - GNU Extensions for libpthread Function Interfaces .............. 79

Table 10-47 libpthread - System Calls Function Interfaces .................................................... 79

© ISO/IEC 2020 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC DIS 23360-2-2:2020(E)

Table 10-48 libpthread - Standard I/O Function Interfaces ................................................... 80

Table 10-49 libpthread - Signal Handling Function Interfaces ............................................. 80

Table 10-50 libpthread - Standard Library Function Interfaces .......................................... 80

Table 10-51 libpthread - Socket Interface Function Interfaces ............................................ 80

Table 10-52 libpthread - Terminal Interface Functions Function Interfaces ................. 81

Table 10-53 libgcc_s Definition ........................................................................................................... 82

Table 10-54 libgcc_s - Unwind Library Function Interfaces ................................................... 83

Table 10-55 libdl Definition .................................................................................................................. 84

Table 10-56 libdl - Dynamic Loader Function Interfaces ........................................................ 85

Table 10-57 libcrypt Definition ........................................................................................................... 85

Table 10-58 libcrypt - Encryption Function Interfaces ............................................................ 86

Table 11-1 libz Definition ....................................................................................................................... 88

Table 11-2 libncurses Definition ......................................................................................................... 89

Table 11-3 libncursesw Definition ..................................................................................................... 89

Table 11-4 libutil Definition .................................................................................................................. 91

Table 11-5 libutil - Utility Functions Function Interfaces........................................................ 91

Table 12-1 libstdcxx Definition ........................................................................................................... 93

Table 12-2 libstdcxx - C++ Runtime Support Function Interfaces ....................................... 93

Table 12-3 typeinfo for type_info ....................................................................................................... 94

Table 12-4 typeinfo for __cxxabiv1::__enum_type_info ............................................................. 94

Table 12-5 typeinfo for __cxxabiv1::__array_type_info .............................................................. 95

Table 12-6 Primary vtable for __cxxabiv1::__class_type_info ................................................. 95

Table 12-7 typeinfo for __cxxabiv1::__class_type_info ............................................................... 96

Table 12-8 libstdcxx - Class __cxxabiv1::__class_type_info Function Interfaces ............. 96

Table 12-9 typeinfo for __cxxabiv1::__pbase_type_info ............................................................. 97

Table 12-10 typeinfo for __cxxabiv1::__pointer_type_info ....................................................... 97

Table 12-11 typeinfo for __cxxabiv1::__function_type_info ..................................................... 97

Table 12-12 Primary vtable for __cxxabiv1::__si_class_type_info ......................................... 98

Table 12-13 typeinfo for __cxxabiv1::__si_class_type_info ....................................................... 99

Table 12-14 libstdcxx – Class __cxxabiv1::__si_class_type_info Function Interfaces .... 99

Table 12-15 Primary vtable for __cxxabiv1::__vmi_class_type_info ..................................... 99

Table 12-16 typeinfo for __cxxabiv1::__vmi_class_type_info ................................................ 100

Table 12-17 libstdcxx - Class __cxxabiv1::__vmi_class_type_info Function Interfaces

............................................................................................................................................................... 101

Table 12-18 typeinfo for __cxxabiv1::__fundamental_type_info ......................................... 101

Table 12-19 typeinfo for __cxxabiv1::__pointer_to_member_type_info .......................... 101

Table 12-20 libstdcxx - Class __gnu_cxx::__pool_alloc_base Function Interfaces ........ 102

Table 12-21 Primary vtable for __gnu_cxx::stdio_sync_filebuf

> ............................................................................................................................................................ 103

Table 12-22 Primary vtable for __gnu_cxx::stdio_sync_filebuf

char_traits > ............................................................................................................... 104

Table 12-23 typeinfo for exception ................................................................................................ 105

Table 12-24 typeinfo for bad_typeid .............................................................................................. 106

Table 12-25 typeinfo for logic_error .............................................................................................. 106

Table 12-26 typeinfo for range_error ............................................................................................ 106

Table 12-27 typeinfo for domain_error ........................................................................................ 107

...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.