Linux Standard Base (LSB) core specification 3.1 - Part 8: Specification for S390X architecture

ISO/IEC 23360-8:2006 is the S390X architecture-specific Core part of the Linux Standard Base (LSB). It supplements the generic LSB Core module with those interfaces that differ between architectures. Interfaces described in ISO/IEC 23360-8:2006 are mandatory except where explicitly listed otherwise. Core interfaces may be supplemented by other modules; all modules are built upon the core.

Spécifications 3.1 relatives au noyau de base normalisé Linux (LSB) — Partie 8: Spécifications pour l'architecture S390X

General Information

Status
Withdrawn
Publication Date
04-Dec-2006
Withdrawal Date
04-Dec-2006
Current Stage
9599 - Withdrawal of International Standard
Start Date
08-Oct-2021
Completion Date
30-Oct-2025
Ref Project

Relations

Standard
ISO/IEC 23360-8:2006 - Linux Standard Base (LSB) core specification 3.1
English language
72 pages
sale 15% off
Preview
sale 15% off
Preview
Standard
ISO/IEC 23360-8:2006 - Linux Standard Base (LSB) core specification 3.1
English language
72 pages
sale 15% off
Preview
sale 15% off
Preview

Frequently Asked Questions

ISO/IEC 23360-8:2006 is a standard published by the International Organization for Standardization (ISO). Its full title is "Linux Standard Base (LSB) core specification 3.1 - Part 8: Specification for S390X architecture". This standard covers: ISO/IEC 23360-8:2006 is the S390X architecture-specific Core part of the Linux Standard Base (LSB). It supplements the generic LSB Core module with those interfaces that differ between architectures. Interfaces described in ISO/IEC 23360-8:2006 are mandatory except where explicitly listed otherwise. Core interfaces may be supplemented by other modules; all modules are built upon the core.

ISO/IEC 23360-8:2006 is the S390X architecture-specific Core part of the Linux Standard Base (LSB). It supplements the generic LSB Core module with those interfaces that differ between architectures. Interfaces described in ISO/IEC 23360-8:2006 are mandatory except where explicitly listed otherwise. Core interfaces may be supplemented by other modules; all modules are built upon the core.

ISO/IEC 23360-8:2006 is classified under the following ICS (International Classification for Standards) categories: 35.080 - Software. The ICS classification helps identify the subject area and facilitates finding related standards.

ISO/IEC 23360-8:2006 has the following relationships with other standards: It is inter standard links to ISO/IEC 23360-8-2:2021, ISO/IEC 23360-8-3:2021. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.

You can purchase ISO/IEC 23360-8:2006 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD 23360-8
First edition
2006-12-15
Linux Standard Base (LSB) core
specification 3.1 —
Part 8:
Specification for S390X architecture
Spécifications 3.1 relatives au noyau de base normalisé Linux (LSB) —
Partie 8: Spécifications pour l'architecture S390X

Reference number
©
ISO/IEC 2006
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.

©  ISO/IEC 2006
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2006 – All rights reserved

Linux Standard Base Core Specification for S390X 3.1

This standard includes material that has been provided by the Free Standards Group under the GNU Free
Documentation License Version 1.1 published by the Free Software Foundation.
Portions of the text are 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
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 Free Standards Group 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 2006 – All rights reserved iii

Contents
Foreword .vii
Introduction .viii
I Introductory Elements .0
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 Definitions .9
5 Terminology .10
6 Documentation Conventions .12
II Executable and Linking Format (ELF).13
7 Introduction.14
8 Low Level System Information.15
8.1 Machine Interface.15
8.2 Function Calling Sequence.15
8.3 Operating System Interface .16
8.4 Process Initialization.17
8.5 Coding Examples .17
8.6 Debug Information.17
9 Object Format.18
9.1 Introduction .18
9.2 ELF Header .18
9.3 Sections.18
9.4 Symbol Table .19
9.5 Relocation.19
10 Program Loading and Dynamic Linking .20
10.1 Introduction .20
10.2 Program Loading .20
10.3 Dynamic Linking.20
III Base Libraries .21
11 Libraries .22
11.1 Program Interpreter/Dynamic Linker.22
11.2 Interfaces for libc.22
11.3 Data Definitions for libc .36
11.4 Interfaces for libm .48
11.5 Data Definitions for libm.52
11.6 Interfaces for libpthread.54
11.7 Data Definitions for libpthread .56
11.8 Interfaces for libgcc_s .57
11.9 Data Definitions for libgcc_s.57
11.10 Interface Definitions for libgcc_s.58
11.11 Interfaces for libdl .64
11.12 Data Definitions for libdl .65
11.13 Interfaces for libcrypt.65
IV Utility Libraries.66
12 Libraries .67
iv © ISO/IEC 2006 – All rights reserved

12.1 Interfaces for libz.67

12.2 Data Definitions for libz .67
12.3 Interfaces for libncurses.67
12.4 Data Definitions for libncurses.68
12.5 Interfaces for libutil.68
V Package Format and Installation.70
13 Software Installation .71
13.1 Package Dependencies .71
13.2 Package Architecture Considerations .71
A Alphabetical Listing of Interfaces.72
A.1 libgcc_s.72
© ISO/IEC 2006 – All rights reserved v

List of Tables
2-1 Normative References .2
2-2 Other References.4
3-1 Standard Library Names.6
9-1 ELF Special Sections .18
9-2 Additional Special Sections .18
11-1 libc Definition.22
11-2 libc - RPC Function Interfaces .22
11-3 libc - System Calls Function Interfaces .23
11-4 libc - Standard I/O Function Interfaces.25
11-5 libc - Standard I/O Data Interfaces .26
11-6 libc - Signal Handling Function Interfaces .26
11-7 libc - Signal Handling Data Interfaces .27
11-8 libc - Localization Functions Function Interfaces .27
11-9 libc - Localization Functions Data Interfaces .27
11-10 libc - Socket Interface Function Interfaces .28
11-11 libc - Wide Characters Function Interfaces.28
11-12 libc - String Functions Function Interfaces.30
11-13 libc - IPC Functions Function Interfaces .31
11-14 libc - Regular Expressions Function Interfaces .31
11-15 libc - Character Type Functions Function Interfaces.31
11-16 libc - Time Manipulation Function Interfaces.32
11-17 libc - Time Manipulation Data Interfaces .32
11-18 libc - Terminal Interface Functions Function Interfaces .32
11-19 libc - System Database Interface Function Interfaces.33
11-20 libc - Language Support Function Interfaces .33
11-21 libc - Large File Support Function Interfaces .34
11-22 libc - Standard Library Function Interfaces.34
11-23 libc - Standard Library Data Interfaces .36
11-24 libm Definition .48
11-25 libm - Math Function Interfaces.49
11-26 libm - Math Data Interfaces .52
11-27 libpthread Definition.54
11-28 libpthread - Realtime Threads Function Interfaces.54
11-29 libpthread - Posix Threads Function Interfaces .54
11-30 libpthread - Thread aware versions of libc interfaces Function Interfaces 56
11-31 libgcc_s Definition .57
11-32 libgcc_s - Unwind Library Function Interfaces.57
11-33 libdl Definition .64
11-34 libdl - Dynamic Loader Function Interfaces.64
11-35 libcrypt Definition.65
11-36 libcrypt - Encryption Function Interfaces.65
12-1 libz Definition.67
12-2 libncurses Definition .68
12-3 libutil Definition.68
12-4 libutil - Utility Functions Function Interfaces .69
A-1 libgcc_s Function Interfaces .72
vi © ISO/IEC 2006 – All rights reserved

Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
International Standard ISO/IEC 23360-8 was prepared by the Free Standards Group and was adopted, under
the PAS procedure, by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee
SC 22, Programming languages, their environments and system software interfaces.
ISO/IEC 23360 consists of the following parts, under the general title Linux Standard Base (LSB) core
specification 3.1:
⎯ Part 1: Generic specification
⎯ Part 2: Specification for IA32 architecture
⎯ Part 3: Specification for IA64 architecture
⎯ Part 4: Specification for AMD64 architecture
⎯ Part 5: Specification for PPC32 architecture
⎯ Part 6: Specification for PPC64 architecture
⎯ Part 7: Specification for S390 architecture
⎯ Part 8: Specification for S390X architecture

© ISO/IEC 2006 – All rights reserved vii

Introduction
The LSB defines a binary interface for application programs that are compiled

and packaged for LSB-conforming implementations on many different hardware
architectures. Since a binary specification includes information specific to
the computer processor architecture for which it is intended, it is not possible for
a single document to specify the interface for all possible LSB-conforming
implementations. Therefore, the LSB is a family of specifications, rather than a
single one.
This document should be used in conjunction with the documents it references.
This document enumerates the system components it includes, but descriptions
of those components may be included entirely or partly in this document, partly
in other documents, or entirely in other reference documents. For example, the
section that describes system service routines includes a list of the system
routines supported in this interface, formal declarations of the data structures
they use that are visible to applications, and a pointer to the underlying
referenced specification for information about the syntax and semantics of each
call. Only those routines not described in standards referenced by this document,
or extensions to those standards, are described in detail. Information
referenced in this way is as much a part of this document as is the information
explicitly included here.
The specification carries a version number of either the form x.y or x.y.z. This
version number carries the following meaning:
• The first number (x) is the major version number. All versions with the same
major version number should share binary compatibility. Any addition or
deletion of a new library results in a new version number. Interfaces marked
as deprecated may be removed from the specification at a major version
change.
• The second number (y) is the minor version number. Individual interfaces
may be added if all certified implementations already had that (previously
undocumented) interface. Interfaces may be marked as deprecated at a minor
version change. Other minor changes may be permitted at the discretion of the
LSB workgroup.
• The third number (z), if present, is the editorial level. Only editorial changes
should be included in such versions.
Since this specification is a descriptive Application Binary Interface, and not a
source level API specification, it is not possible to make a guarantee of 100%
backward compatibility between major releases. However, it is the intent that
those parts of the binary interface that are visible in the source level API will
remain backward compatible from version to version, except where a feature
marked as deprecated in one release may be removed from a future release.
Implementors are strongly encouraged to make use of symbol versioning to
permit simultaneous support of applications conforming to different releases of
this specification.
This is version 3.1 of the Linux Standard Base Core Specification. This
specification is part of a family of specifications under the general title "Linux
Standard Base (LSB) core specification 3.1". Developers of applications or
implementations interested in using the LSB trademark should see the Free
Standards Group Certification Policy for details.
viii © ISO/IEC 2006 – All rights reserved

I Introductory Elements
I NTERNATIONAL STANDARD ISO/IEC 23360-8:2006(E)
Linux Standard Base (LSB) core specification 3.1 —
Part 8:
Specification for S390X architecture
1 Scope
1.1 General
The Linux Standard Base (LSB) defines a system interface for compiled
applications and a minimal environment for support of installation scripts. Its
purpose is to enable a uniform industry standard environment for high-volume
applications conforming to the LSB.
These specifications are composed of two basic parts: A common specification
("LSB-generic" or "generic LSB"), ISO/IEC 23360-1, describing those parts of the
interface that remain constant across all implementations of the LSB, and an
architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the
interface that vary by processor architecture. Together, the LSB-generic and the
relevant architecture-specific part of ISO/IEC 23360 for a single hardware
architecture provide a complete interface specification for compiled application
programs on systems that share a common hardware architecture.
ISO/IEC 23360-1, the LSB-generic document, is used in conjunction with an
architecture-specific part. Whenever a section of the LSB-generic specification
is supplemented by architecture-specific information, the LSB-generic document
includes a reference to the architecture part. Architecture-specific parts of
ISO/IEC 23360 may also contain additional information that is not referenced in
the LSB-generic document.
The LSB contains both a set of Application Program Interfaces (APIs) and
Application Binary Interfaces (ABIs). APIs may appear in the source code of
portable applications, while the compiled binary of that application may use the
larger set of ABIs. A conforming implementation provides all of the ABIs listed
here. The compilation system may replace (e.g. by macro definition) certain APIs
with calls to one or more of the underlying binary interfaces, and may insert calls
to binary interfaces as needed.
The LSB is primarily a binary interface definition. Not all of the source level APIs
available to applications may be contained in this specification.
1.2 Module Specific Scope
This is the S390X architecture-specific Core part of the Linux Standard Base (LSB).
It supplements the generic LSB Core module with those interfaces that differ
between architectures.
Interfaces described in this part of ISO/IEC 23360 are mandatory except where
explicitly listed otherwise. Core interfaces may be supplemented by other
modules; all modules are built upon the core.
© 2006 ISO/IEC — All rights reserved 1

2 References
2.1 Normative References
The following referenced documents are indispensable for the application of this
document. For dated references, only the edition cited applies. For undated
references, the latest edition of the referenced document (including any
amendments) applies.
Note: Where copies of a document are available on the World Wide Web, a Uniform
Resource Locator (URL) is given for informative purposes only. This may point to a
more recent copy of the referenced specification, or may be out of date. Reference
copies of specifications at the revision level indicated may be found at the Free
Standards Group's Reference Specifications (http://refspecs.freestandards.org) site.
Table 2-1 Normative References
Name Title URL
ISO/IEC 23360-1 ISO/IEC 23360-1:2006, http://www.linuxbase.
Linux Standard Base (LSB) org/spec/
core specification 3.1 —
Part 1: Generic
Specification
Filesystem Hierarchy Filesystem Hierarchy http://www.pathname
Standard Standard (FHS) 2.3 .com/fhs/
ISO C (1999) ISO/IEC 9899: 1999,
Programming
Languages — C
ISO POSIX (2003) http://www.unix.org/
ISO/IEC 9945-1:2003,
version3/
Information technology —
Portable Operating
System Interface
(POSIX) — Part 1: Base
Definitions
ISO/IEC 9945-2:2003,
Information technology —
Portable Operating
System Interface
(POSIX) — Part 2:
System Interfaces
ISO/IEC 9945-3:2003,
Information technology —
Portable Operating
System Interface
(POSIX) — Part 3: Shell
and Utilities
ISO/IEC 9945-4:2003,
Information technology —
Portable Operating
System Interface
(POSIX) — Part 4:
Rationale
2 © 2006 ISO/IEC — All rights reserved

Name Title URL
Large File Support Large File Support http://www.UNIX-syst
ems.org/version2/wha
tsnew/lfs20mar.html
LINUX for zSeries LINUX for zSeries http://oss.software.ib
Application Binary Application Binary m.com/linux390/docu
Interface Supplement Interface Supplement mentation-2.2.shtml
SUSv2 CAE Specification, http://www.opengrou
January 1997, System p.org/publications/cat
Interfaces and Headers alog/un.htm
(XSH), Issue 5 (ISBN:
1-85912-181-0, C606)
SVID Issue 3 American Telephone
and Telegraph
Company, System V
Interface Definition,
Issue 3; Morristown,
NJ, UNIX Press,
1989. (ISBN 0201566524)
SVID Issue 4 System V Interface
Definition, Fourth
Edition
System V ABI System V Application http://www.caldera.co
Binary Interface, m/developers/devspec
Edition 4.1 s/gabi41.pdf
System V ABI Update System V Application http://www.caldera.co
Binary Interface - m/developers/gabi/20
DRAFT - 17 December 03-12-17/contents.html
X/Open Curses CAE Specification, May http://www.opengrou
1996, X/Open Curses, p.org/publications/cat
Issue 4, Version 2 (ISBN: alog/un.htm
1-85912-171-3, C610),
plus Corrigendum U018
z/Architecture z/Architecture http://oss.software.ib
Principles of Operation Principles of Operation m.com/linux390/docu
mentation-2.2.shtml
2.2 Informative References/Bibliography
In addition, the specifications listed below provide essential background
information to implementors of this specification. These references are included
for information only.
© 2006 ISO/IEC — All rights reserved 3

Table 2-2 Other References
Name Title URL
DWARF Debugging DWARF Debugging http://refspecs.freestan
Information Format, Information Format, dards.org/dwarf/dwar
Revision 2.0.0 Revision 2.0.0 (July 27, f-2.0.0.pdf
1993)
DWARF Debugging DWARF Debugging http://refspecs.freestan
Information Format, Information Format, dards.org/dwarf/
Revision 3.0.0 (Draft) Revision 3.0.0 (Draft)
IEC 60559/IEEE 754 IEC 60559:1989, Binary http://www.ieee.org/
Floating Point floating-point
arithmetic for
microprocessor systems
ISO/IEC TR 14652 ISO/IEC TR 14652:2004,
Information technology —
Specification method
for cultural conventions
ITU-T V.42 International http://www.itu.int/rec
Telecommunication /recommendation.asp?t
Union ype=folders&lang=e&p
Recommendation V.42 arent=T-REC-V.42
(2002): Error-correcting
procedures for DCEs
using asynchronous-to-
synchronous conversion
ITUV
Li18nux Globalization LI18NUX 2000 http://www.li18nux.or
Specification Globalization g/docs/html/LI18NUX
Specification, Version -2000-amd4.htm
1.0 with Amendment 4
Linux Allocated Device LINUX ALLOCATED http://www.lanana.or
Registry DEVICES g/docs/device-list/dev
ices.txt
PAM Open Software http://www.opengrou
Foundation, Request p.org/tech/rfc/mirror-
For Comments: 86.0, rfc/rfc86.0.txt
October 1995, V. Samar
& R. Schemers (SunSoft)
RFC 1321: The MD5 IETF RFC 1321: The http://www.ietf.org/rf
Message-Digest MD5 Message-Digest c/rfc1321.txt
Algorithm Algorithm
RFC 1831/1832 RPC & IETF RFC 1831 & 1832 http://www.ietf.org/
XDR
RFC 1833: Binding IETF RFC 1833: Binding http://www.ietf.org/rf
Protocols for ONC RPC Protocols for ONC RPC c/rfc1833.txt
Version 2 Version 2
4 © 2006 ISO/IEC — All rights reserved

Name Title URL
RFC 1950: ZLIB IETF RFC 1950: ZLIB http://www.ietf.org/rf
Compressed Data Compressed Data c/rfc1950.txt
Format Specication Format Specification
RFC 1951: DEFLATE IETF RFC 1951: http://www.ietf.org/rf
Compressed Data DEFLATE Compressed c/rfc1951.txt
Format Specification Data Format
Specification version 1.3
RFC 1952: GZIP File IETF RFC 1952: GZIP http://www.ietf.org/rf
Format Specification file format specification c/rfc1952.txt
version 4.3
RFC 2440: OpenPGP IETF RFC 2440: http://www.ietf.org/rf
Message Format OpenPGP Message c/rfc2440.txt
Format
RFC 2821: Simple Mail IETF RFC 2821: Simple http://www.ietf.org/rf
Transfer Protocol Mail Transfer Protocol c/rfc2821.txt
RFC 2822: Internet IETF RFC 2822: Internet http://www.ietf.org/rf
Message Format Message Format c/rfc2822.txt
RFC 791: Internet IETF RFC 791: Internet http://www.ietf.org/rf
Protocol Protocol Specification c/rfc791.txt
RPM Package Format RPM Package Format http://www.rpm.org/
V3.0 max-rpm/s1-rpm-file-f
ormat-rpm-file-format.h
tml
SUSv2 Commands and The Single UNIX http://www.opengrou
Utilities Specification (SUS) p.org/publications/cat
Version 2, Commands alog/un.htm
and Utilities (XCU),
Issue 5 (ISBN:
1-85912-191-8, C604)
zlib Manual zlib 1.2 Manual http://www.gzip.org/

zlib/
© 2006 ISO/IEC — All rights reserved 5

3 Requirements
3.1 Relevant Libraries
The libraries listed in Table 3-1 shall be available on S390X Linux Standard Base
systems, with the specified runtime names. These names override or supplement
the names specified in the generic LSB (ISO/IEC 23360-1) specification. The
specified program interpreter, referred to as proginterp in this table, shall be
used to load the shared libraries specified by DT_NEEDED entries at run time.
Table 3-1 Standard Library Names
Library Runtime Name
libm libm.so.6
libdl libdl.so.2
libcrypt libcrypt.so.1
libz libz.so.1
libncurses libncurses.so.5
libutil libutil.so.1
libc libc.so.6
libpthread libpthread.so.0
proginterp /lib64/ld-lsb-s390x.so.3
libgcc_s libgcc_s.so.1
These libraries will be in an implementation-defined directory which the
dynamic linker shall search by default.
3.2 LSB Implementation Conformance
A conforming implementation is necessarily architecture specific, and must
provide the interfaces specified by both the generic LSB Core specification
(ISO/IEC 23360-1) and the relevant architecture specific part of ISO/IEC 23360.
Rationale: An implementation must provide at least the interfaces specified in these
specifications. It may also provide additional interfaces.
A conforming implementation shall satisfy the following requirements:
• A processor architecture represents a family of related processors which may
not have identical feature sets. The architecture specific parts of ISO/IEC
23360 that supplement this specification for a given target processor
architecture describe a minimum acceptable processor. The implementation
shall provide all features of this processor, whether in hardware or through
emulation transparent to the application.
• The implementation shall be capable of executing compiled applications
having the format and using the system interfaces described in this document.
• The implementation shall provide libraries containing the interfaces specified
by this document, and shall provide a dynamic linking mechanism that allows
6 © 2006 ISO/IEC — All rights reserved

these interfaces to be attached to applications at runtime. All the interfaces
shall behave as specified in this document.
• The map of virtual memory provided by the implementation shall conform to
the requirements of this document.
• The implementation's low-level behavior with respect to function call linkage,
system traps, signals, and other such activities shall conform to the formats
described in this document.
• The implementation shall provide all of the mandatory interfaces in their
entirety.
• The implementation may provide one or more of the optional interfaces. Each
optional interface that is provided shall be provided in its entirety. The
product documentation shall state which optional interfaces are provided.
• The implementation shall provide all files and utilities specified as part of this
document in the format defined here and in other referenced documents. All
commands and utilities shall behave as required by this document. The
implementation shall also provide all mandatory components of an
application's runtime environment that are included or referenced in this
document.
• The implementation, when provided with standard data formats and values at
a named interface, shall provide the behavior defined for those values and
data formats at that interface. However, a conforming implementation may
consist of components which are separately packaged and/or sold. For
example, a vendor of a conforming implementation might sell the hardware,
operating system, and windowing system as separately packaged items.
• The implementation may provide additional interfaces with different names.
It may also provide additional behavior corresponding to data values outside
the standard ranges, for standard named interfaces.
3.3 LSB Application Conformance
A conforming application is necessarily architecture specific, and must conform
to both the generic LSB Core specification (ISO/IEC 23360-1)and the relevant
architecture specific part of ISO/IEC 23360.
A conforming application shall satisfy the following requirements:
• Its executable files shall be either shell scripts or object files in the format
defined for the Object File Format system interface.
• Its object files shall participate in dynamic linking as defined in the Program
Loading and Linking System interface.
• It shall employ only the instructions, traps, and other low-level facilities
defined in the Low-Level System interface as being for use by applications.
• If it requires any optional interface defined in this document in order to be
installed or to execute successfully, the requirement for that optional interface
shall be stated in the application's documentation.
• It shall not use any interface or data format that is not required to be provided
by a conforming implementation, unless:
• If such an interface or data format is supplied by another application
through direct invocation of that application during execution, that
application shall be in turn an LSB conforming application.
© 2006 ISO/IEC — All rights reserved 7

• The use of that interface or data format, as well as its source, shall be
identified in the documentation of the application.
• It shall not use any values for a named interface that are reserved for vendor
extensions.
A strictly conforming application shall not require or use any interface, facility,
or implementation-defined extension that is not defined in this document in
order to be installed or to execute successfully.
8 © 2006 ISO/IEC — All rights reserved

4 Definitions
For the purposes of this document, the following definitions, as specified in the
ISO/IEC Directives, Part 2, 2004, 5th Edition, apply:
can
be able to; there is a possibility of; it is possible to
cannot
be unable to; there is no possibilty of; it is not possible to
may
is permitted; is allowed; is permissible
need not
it is not required that; no.is required
shall
is to; is required to; it is required that; has to; only.is permitted; it is
necessary
shall not
is not allowed [permitted] [acceptable] [permissible]; is required to be not; is
required that.be not; is not to be
should
it is recommended that; ought to
should not
it is not recommended that; ought not to
© 2006 ISO/IEC — All rights reserved 9

5 Terminology
For the purposes of this document, the following terms apply:
archLSB
The architectural part of the LSB Specification which describes the specific
parts of the interface that are platform specific. The archLSB is
complementary to the gLSB.
Binary Standard
The total set of interfaces that are available to be used in the compiled binary
code of a conforming application.
gLSB
The common part of the LSB Specification that describes those parts of the
interface that remain constant across all hardware implementations of the
LSB.
implementation-defined
Describes a value or behavior that is not defined by this document but is
selected by an implementor. The value or behavior may vary among
implementations that conform to this document. An application should not
rely on the existence of the value or behavior. An application that relies on
such a value or behavior cannot be assured to be portable across conforming
implementations. The implementor shall document such a value or
behavior so that it can be used correctly by an application.
Shell Script
A file that is read by an interpreter (e.g., awk). The first line of the shell
script includes a reference to its interpreter binary.
Source Standard
The set of interfaces that are available to be used in the source code of a
conforming application.
undefined
Describes the nature of a value or behavior not defined by this document
which results from use of an invalid program construct or invalid data input.
The value or behavior may vary among implementations that conform to
this document. An application should not rely on the existence or validity of
the value or behavior. An application that relies on any particular value or
behavior cannot be assured to be portable across conforming
implementations.
unspecified
Describes the nature of a value or behavior not specified by this document
which results from use of a valid program construct or valid data input. The
value or behavior may vary among implementations that conform to this
document. An application should not rely on the existence or validity of the
value or behavior. An application that relies on any particular value or
behavior cannot be assured to be portable across conforming
implementations.
10 © 2006 ISO/IEC — All rights reserved

Other terms and definitions used in this document shall have the same meaning
as defined in Chapter 3 of the Base Definitions volume of ISO POSIX (2003).
© 2006 ISO/IEC — All rights reserved 11

6 Documentation Conventions
Throughout this document, the following typographic conventions are used:
function()
the name of a function
command
the name of a command or utility
CONSTANT
a constant value
parameter
a parameter
variable
a variable
Throughout this specification, several tables of interfaces are presented. Each
entry in these tables has the following format:
name
the name of the interface
(symver)
An optional symbol version identifier, if required.
[refno]
A reference number indexing the table of referenced specifications that
follows this table.
For example,
forkpty(GLIBC_2.0) [SUSv3]
refers to the interface named forkpty() with symbol version GLIBC_2.0 that is
defined in the SUSv3 reference.
Note: Symbol versions are defined in the architecture specific parts of ISO/IEC
23360 only.
12 © 2006 ISO/IEC — All rights reserved

II Executable and Linking Format (ELF)

7 Introduction
Executable and Linking Format (ELF) defines the object format for compiled
System V
applications. This specification supplements the information found in
ABI Update and LINUX for zSeries Application Binary Interface Supplement,
and is intended to document additions made since the publication of that
document.
14 © 2006 ISO/IEC — All rights reserved

8 Low Level System Information
8.1 Machine Interface
8.1.1 Processor Architecture
The z/Architecture is specified by the following documents
• LINUX for zSeries Application Binary Interface Supplement
• z/Architecture Principles of Operation
Only the non optional features of z/Architecture processor instruction set may
be assumed to be present. An application should determine if any additional
instruction set features are available before using those additional features. If a
feature is not present, then a conforming application shall not use it.
Conforming applications shall not invoke the implementations underlying
system call interface directly. The interfaces in the implementation base libraries
shall be used instead.
Rationale: Implementation-supplied base libraries may use the system call interface
but applications must not assume any particular operating system or kernel version
is present.
Applications conforming to this specification must provide feedback to the user
if a feature that is required for correct execution of the application is not present.
Applications conforming to this specification should attempt to execute in a
diminished capacity if a required instruction set feature is not present.
This specfication does not provide any performance guarantees of a conforming
system. A system conforming to this specification may be implemented in either
hardware or software.
8.1.2 Data Representation
LSB-conforming applications shall use the data representation as defined in
Chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.1.2.1 Byte Ordering
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.1.2.2 Fundamental Types
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.1.2.3 Aggregates and Unions
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.1.2.4 Bit Fields
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.2 Function Calling Sequence
LSB-conforming applications shall use the function calling sequence as defined
in Chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
© 2006 ISO/IEC — All rights reserved 15

8.2.1 Registers
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.2.2 Stack Frame
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.2.3 Parameter Passing
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.2.4 Variable Argument Lists
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.2.5 Return Values
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.3 Operating System Interface
LSB-conforming applications shall use the Operating System Interfaces as
LINUX for zSeries Application Binary Interface
defined in Chapter 1 of the
Supplement.
8.3.1 Virtual Address Space
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.3.2 Page Size
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplement.
8.3.3 Virtual Address Assignments
See chapter 1 of the LINUX for zSeries Application Binary Interface Supplemen
...


INTERNATIONAL ISO/IEC
STANDARD 23360
First edition
2006-12-15
Linux Standard Base (LSB) core
specification 3.1 —
Part 1: Generic specification
Part 2: Specification for IA32 architecture
Part 3: Specification for IA64 architecture
Part 4: Specification for AMD64 architecture
Part 5: Specification for PPC32 architecture
Part 6: Specification for PPC64 architecture
Part 7: Specification for S390 architecture
Part 8: Specification for S390X architecture
Spécifications 3.1 relatives au noyau de base normalisé Linux (LSB) —
Partie 1: Spécifications génériques
Partie 2: Spécifications pour l'architecture IA32
Partie 3: Spécifications pour l'architecture IA64
Partie 4: Spécifications pour l'architecture AMD64
Partie 5: Spécifications pour l'architecture PPC32
Partie 6: Spécifications pour l'architecture PPC64
Partie 7: Spécifications pour l'architecture S390
Partie 8: Spécifications pour l'architecture S390X

Reference number
ISO/IEC 23360:2006(E)
©
ISO/IEC 2006
ISO/IEC 23360:2006(E)
PDF disclaimer
PDF files may contain embedded typefaces. In accordance with Adobe's licensing policy, such files may be printed or viewed but shall
not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading a PDF file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create the PDF file(s) constituting this document can be found in the General Info relative to
the file(s); the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the files are suitable for
use by ISO member bodies. In the unlikely event that a problem relating to them is found, please inform the Central Secretariat at the
address given below.
This CD-ROM contains the publication ISO/IEC 23360 (parts 1 to 8) in portable document format (PDF),
which can be viewed using Adobe® Acrobat® Reader. It is composed of nine files, one for each part of
ISO/IEC 23360, plus a ReadMe file. These files include:
1) “Part 1: Generic specification” on the file “C043781e.pdf”;
2) “Part 2: Specification for IA32 architecture” on the file “C043782e.pdf”;
3) “Part 3: Specification for IA64 architecture” on the file “C043783e.pdf”;
4) “Part 4: Specification for AMD64 architecture” on the file “C043784e.pdf”;
5) “Part 5: Specification for PPC32 architecture” on the file “C043785e.pdf”;
6)
...

Questions, Comments and Discussion

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

Loading comments...