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

Standards Content (sample)

DRAFT INTERNATIONAL STANDARD
ISO/IEC DIS 23360-3-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 3-2:
Core specification for IA64 (Itanium™) 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-3-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-3-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-3-2:2020(E)
Linux Standard Base Core Specification for IA64 (Itanium)™
LSB Core - IA64 5.0
Copyright © 2015 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)
• 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.

PAM documentation is Copyright (C) Andrew G. Morgan 1996-9. All rights reserved. Used under the following

conditions:

1. Redistributions of source code must retain the above copyright notice, and the

entire permission notice in its entirety, including the disclaimer of warranties.

2. Redistributions in binary form must reproduce the above copyright notice, this list

of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.

3. The name of the author may not be used to endorse or promote products derived

from this software without specific prior written permission.
© ISO/IEC 2020 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC DIS 23360-3-2:2020(E)
Contents

Contents ........................................................................................................................................................... iv

List of Figures ................................................................................................................................................ vi

List of Tables ................................................................................................................................................ vii

Foreword ........................................................................................................................................................ xv

Status of this Document ......................................................................................................................... xvii

Introduction ............................................................................................................................................. xviii

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

7.3 Operating System Interface ............................................................................................................ 21

7.4 Process Initialization ........................................................................................................................ 22

7.5 Coding Examples................................................................................................................................. 24

7.6 C Stack Frame ....................................................................................................................................... 26

7.7 Debug Information ............................................................................................................................. 26

8 Object Format .................................................................................................................................................... 27

8.1 Introduction .......................................................................................................................................... 27

8.2 ELF Header ............................................................................................................................................ 27

8.3 Sections ................................................................................................................................................... 28

8.4 Symbol Table ........................................................................................................................................ 30

8.5 Relocation .............................................................................................................................................. 30

9 Program Loading and Dynamic Linking ................................................................................................ 31

9.1 Introduction .......................................................................................................................................... 31

9.2 Program Header .................................................................................................................................. 31

9.3 Program Loading ................................................................................................................................ 31

9.4 Dynamic Linking ................................................................................................................................. 31

III Base Libraries ........................................................................................................................................ 33

10 Libraries ............................................................................................................................................................ 34

10.1 Program Interpreter/Dynamic Linker ................................................................................... 34

10.2 Interfaces for libc ............................................................................................................................. 34

10.3 Data Definitions for libc ................................................................................................................ 54

10.4 Interface Definitions for libc ....................................................................................................... 72

10.5 Interfaces for libm ........................................................................................................................... 74

10.6 Data Definitions for libm .............................................................................................................. 79

10.7 Interface Definitions for libm ..................................................................................................... 80

10.8 Interfaces for libpthread ............................................................................................................... 81

10.9 Data Definitions for libpthread .................................................................................................. 87

10.10 Interfaces for libgcc_s .................................................................................................................. 88

10.11 Data Definitions for libgcc_s ..................................................................................................... 89

10.12 Interface Definitions for libgcc_s ............................................................................................ 89

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

10.13 Interfaces for libdl ........................................................................................................................ 89

10.14 Data Definitions for libdl............................................................................................................ 90

10.15 Interfaces for libcrypt ................................................................................................................. 91

10.16 Data Definitions for libcrypt..................................................................................................... 91

IV Utility Libraries ..................................................................................................................................... 93

11 Libraries ............................................................................................................................................................ 94

11.1 Interfaces for libz ............................................................................................................................. 94

11.2 Data Definitions for libz ................................................................................................................ 94

11.3 Interfaces for libncurses ............................................................................................................... 95

11.4 Data Definitions for libncurses .................................................................................................. 95

11.5 Interfaces for libncursesw ........................................................................................................... 95

11.6 Data Definitions for libncursesw .............................................................................................. 96

11.7 Interfaces for libutil ........................................................................................................................ 97

V Base Libraries .......................................................................................................................................... 98

12 Libraries ............................................................................................................................................................ 99

12.1 Interfaces for libstdcxx .................................................................................................................. 99

12.2 Interface Definitions for libstdcxx ......................................................................................... 213

VI Package Format and Installation ................................................................................................. 214

13 Software Installation................................................................................................................................. 215

13.1 Package Dependencies ............................................................................................................... 215

13.2 Package Architecture Considerations .................................................................................. 215

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

A.1 libc ................................................................................................................................................................... 216

A.2 libcrypt .......................................................................................................................................................... 232

A.3 libdl ................................................................................................................................................................. 232

A.4 libgcc_s ........................................................................................................................................................... 232

A.5 libm ................................................................................................................................................................. 233

A.6 libpthread ..................................................................................................................................................... 238

A.7 librt .................................................................................................................................................................. 241

A.8 libutil .............................................................................................................................................................. 241

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

B.1 PREAMBLE ................................................................................................................................................... 242

B.2 APPLICABILITY AND DEFINITIONS ................................................................................................. 242

B.3 VERBATIM COPYING ............................................................................................................................... 243

B.4 COPYING IN QUANTITY.......................................................................................................................... 243

B.5 MODIFICATIONS ........................................................................................................................................ 244

B.6 COMBINING DOCUMENTS .................................................................................................................... 246

B.7 COLLECTIONS OF DOCUMENTS ......................................................................................................... 246

B.8 AGGREGATION WITH INDEPENDENT WORKS ........................................................................... 246

B.9 TRANSLATION ............................................................................................................................................ 246

B.10 TERMINATION ......................................................................................................................................... 247

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

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

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

Figure 7-1 Structure Smaller Than A Word ................................................................................... 18

Figure 7-2 No Padding ............................................................................................................................. 19

Figure 7-3 Internal and Tail Padding ................................................................................................ 19

Figure 7-4 Bit-Field Ranges ................................................................................................................... 20

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

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

Table 2-2 Other References ..................................................................................................................... 6

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

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

Table 8-1 Additional Processor-Specific Flags ............................................................................. 27

Table 8-2 ELF Special Sections ............................................................................................................ 28

Table 8-3 Additional Special Sections ............................................................................................... 29

Table 10-1 libc Definition ....................................................................................................................... 34

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Table 10-36 libm Definition .................................................................................................................. 74

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

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

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

Table 10-40 libpthread Definition...................................................................................................... 81

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

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

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

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

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

.................................................................................................................................................................. 84

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

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

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

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

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

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

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

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

Table 10-53 libgcc_s Definition ........................................................................................................... 88

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

Table 10-55 libdl Definition .................................................................................................................. 90

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

Table 10-57 libcrypt Definition ........................................................................................................... 91

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

Table 11-1 libz Definition ....................................................................................................................... 94

Table 11-2 libncurses Definition ......................................................................................................... 95

Table 11-3 libncursesw Definition ..................................................................................................... 95

Table 11-4 libutil Definition .................................................................................................................. 97

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

Table 12-1 libstdcxx Definition ........................................................................................................... 99

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

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

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

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

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

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

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

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

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

...

Questions, Comments and Discussion

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