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-5-2 - Linux Standard Base (LSB)
English language
268 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (sample)

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 23360-5-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 5-2:
Core specification for PowerPC 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-5-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-5-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-5-2:2020(E)
Contents

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

List of Figures ................................................................................................................................................. v

List of Tables .................................................................................................................................................. vi

Foreword ...................................................................................................................................................... xiv

Status of this Document .......................................................................................................................... xvi

Introduction ............................................................................................................................................... xvii

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 ........................................................................................................................ 18

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 Sections ................................................................................................................................................... 22

8.4 Symbol Table ........................................................................................................................................ 24

8.5 Relocation .............................................................................................................................................. 24

9 Program Loading and Dynamic Linking ................................................................................................ 25

9.1 Introduction .......................................................................................................................................... 25

9.2 Program Header .................................................................................................................................. 25

9.3 Program Loading ................................................................................................................................ 25

9.4 Dynamic Linking ................................................................................................................................. 25

III Base Libraries ........................................................................................................................................ 27

10 Libraries ............................................................................................................................................................ 28

10.1 Program Interpreter/Dynamic Linker ................................................................................... 28

10.2 Interfaces for libc ............................................................................................................................. 28

10.3 Data Definitions for libc ................................................................................................................ 50

10.4 Interfaces for libm ........................................................................................................................... 68

10.5 Data Definitions for libm .............................................................................................................. 75

10.6 Interface Definitions for libm ..................................................................................................... 76

10.7 Interfaces for libpthread ............................................................................................................... 77

10.8 Data Definitions for libpthread .................................................................................................. 83

10.9 Interfaces for libgcc_s..................................................................................................................... 84

10.10 Data Definitions for libgcc_s ..................................................................................................... 85

10.11 Interface Definitions for libgcc_s ............................................................................................ 85

10.12 Interfaces for libdl ........................................................................................................................ 86

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

10.13 Data Definitions for libdl............................................................................................................ 87

10.14 Interfaces for libcrypt ................................................................................................................. 87

10.15 Data Definitions for libcrypt..................................................................................................... 88

IV Utility Libraries ..................................................................................................................................... 89

11 Libraries ............................................................................................................................................................ 90

11.1 Interfaces for libz ............................................................................................................................. 90

11.2 Data Definitions for libz ................................................................................................................ 90

11.3 Interfaces for libncurses ............................................................................................................... 91

11.4 Data Definitions for libncurses .................................................................................................. 91

11.5 Interfaces for libncursesw ........................................................................................................... 91

11.6 Data Definitions for libncursesw .............................................................................................. 92

11.7 Interfaces for libutil ........................................................................................................................ 93

V Base Libraries .......................................................................................................................................... 94

12 Libraries ............................................................................................................................................................ 95

12.1 Interfaces for libstdcxx .................................................................................................................. 95

12.2 Interface Definitions for libstdcxx ......................................................................................... 231

VI Package Format and Installation ................................................................................................. 232

13 Software Installation................................................................................................................................. 233

13.1 Package Dependencies ............................................................................................................... 233

13.2 Package Architecture Considerations .................................................................................. 233

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

A.1 libc ................................................................................................................................................................... 234

A.2 libcrypt .......................................................................................................................................................... 250

A.3 libdl ................................................................................................................................................................. 251

A.4 libgcc_s ........................................................................................................................................................... 251

A.5 libm ................................................................................................................................................................. 251

A.6 libpthread ..................................................................................................................................................... 258

A.7 librt .................................................................................................................................................................. 261

A.8 libutil .............................................................................................................................................................. 261

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

B.1 PREAMBLE ................................................................................................................................................... 263

B.2 APPLICABILITY AND DEFINITIONS ................................................................................................. 263

B.3 VERBATIM COPYING ............................................................................................................................... 264

B.4 COPYING IN QUANTITY.......................................................................................................................... 264

B.5 MODIFICATIONS ........................................................................................................................................ 265

B.6 COMBINING DOCUMENTS .................................................................................................................... 267

B.7 COLLECTIONS OF DOCUMENTS ......................................................................................................... 267

B.8 AGGREGATION WITH INDEPENDENT WORKS ........................................................................... 267

B.9 TRANSLATION ............................................................................................................................................ 267

B.10 TERMINATION ......................................................................................................................................... 268

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

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

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

Figure 7-1 Initial Process Stack ........................................................................................................... 19

© ISO/IEC 2020 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC DIS 23360-5-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 7-2 Extra Auxiliary Types .......................................................................................................... 19

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

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

Table 10-1 libc Definition ....................................................................................................................... 28

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Table 10-19 libc - Wide Characters Deprecated Function Interfaces ................................. 40

Table 10-20 libc - String Functions Function Interfaces .......................................................... 40

Table 10-21 libc - String Functions Deprecated Function Interfaces ................................. 41

Table 10-22 libc - IPC Functions Function Interfaces ................................................................ 41

Table 10-23 libc - Regular Expressions Function Interfaces .................................................. 42

Table 10-24 libc - Character Type Functions Function Interfaces ....................................... 42

Table 10-25 libc - Time Manipulation Function Interfaces ..................................................... 43

Table 10-26 libc - Time Manipulation Data Interfaces .............................................................. 43

Table 10-27 libc - Terminal Interface Functions Function Interfaces ................................ 43

Table 10-28 libc - System Database Interface Function Interfaces ..................................... 44

Table 10-29 libc - System Database Interface Deprecated Function Interfaces ............ 45

Table 10-30 libc - Language Support Function Interfaces ...................................................... 45

Table 10-31 libc - Large File Support Function Interfaces ...................................................... 45

Table 10-32 libc - Large File Support Deprecated Function Interfaces ............................. 46

Table 10-33 libc - Standard Library Function Interfaces ......................................................... 46

Table 10-34 libc - Standard Library Deprecated Function Interfaces ................................ 49

Table 10-35 libc - Standard Library Data Interfaces .................................................................. 49

Table 10-36 libc - GNU Extensions for libc Function Interfaces ........................................... 49

Table 10-37 libm Definition .................................................................................................................. 68

Table 10-38 libm - Math Function Interfaces ................................................................................ 68

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

Table 10-40 libm - Math Data Interfaces ......................................................................................... 75

Table 10-41 libpthread Definition...................................................................................................... 77

Table 10-42 libpthread - Realtime Threads Function Interfaces ......................................... 78

Table 10-43 libpthread - Advanced Realtime Threads Function Interfaces ................... 78

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

Table 10-45 libpthread - Posix Threads Deprecated Function Interfaces ....................... 80

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

.................................................................................................................................................................. 80

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

Table 10-47 libpthread - GNU Extensions for libpthread Function Interfaces .............. 81

Table 10-48 libpthread - System Calls Function Interfaces .................................................... 81

Table 10-49 libpthread - Standard I/O Function Interfaces ................................................... 81

Table 10-50 libpthread - Signal Handling Function Interfaces ............................................. 82

Table 10-51 libpthread - Standard Library Function Interfaces .......................................... 82

Table 10-52 libpthread - Socket Interface Function Interfaces ............................................ 82

Table 10-53 libpthread - Terminal Interface Functions Function Interfaces ................. 83

Table 10-54 libgcc_s Definition ........................................................................................................... 84

Table 10-55 libgcc_s - Unwind Library Function Interfaces ................................................... 84

Table 10-56 libdl Definition .................................................................................................................. 86

Table 10-57 libdl - Dynamic Loader Function Interfaces ........................................................ 87

Table 10-58 libcrypt Definition ........................................................................................................... 87

Table 10-59 libcrypt - Encryption Function Interfaces ............................................................ 88

Table 11-1 libz Definition ....................................................................................................................... 90

Table 11-2 libncurses Definition ......................................................................................................... 91

Table 11-3 libncursesw Definition ..................................................................................................... 91

Table 11-4 libutil Definition .................................................................................................................. 93

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

Table 12-1 libstdcxx Definition ........................................................................................................... 95

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

............................................................................................................................................................... 103

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

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

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

Table 12-21 Primary vtable for __gnu_cxx::stdio_sync_filebuf

> ............................................................................................................................................................ 105

Table 12-22 Primary vtable for __gnu_cxx::stdio_sync_filebuf

char_traits > ............................................................................................................... 106

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

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

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

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

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

Table 12-28 typeinfo for length_error ........................................................................................... 109

Table 12-29 typeinfo for out_of_range .......................................................................................... 110

Table 12-30 typeinfo for bad_exception .....................................................

...

Questions, Comments and Discussion

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