ISO/IEC 23360-6-2:2021
(Main)Linux Standard Base (LSB) - Part 6-2: Core specification for PowerPC 64 architecture
Linux Standard Base (LSB) - Part 6-2: Core specification for PowerPC 64 architecture
This document 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 part describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part describing the parts of the interface that vary by processor architecture. Together, the common part and the relevant architecture-specific part for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. 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. This is the PPC64 architecture specific part of the Core module of the Linux Standard Base (LSB). This part supplements the common part of the LSB Core module with those interfaces that differ between architectures. This part should be used in conjunction with LSB Core - Generic, the common part. Whenever a section of the common part is supplemented by architecture-specific information, the common part includes a reference to the architecture-specific part. This part may also contain additional information that is not referenced in the common part. Interfaces described in this part of the LSB Core Specification are mandatory except where explicitly listed otherwise. Interfaces described in the LSB Core module are supplemented by other LSB modules. All other modules depend on the presence of LSB Core.
Noyau de base normalisé Linux (LSB) — Partie 6-2: Spécification du module de base "Core" pour l'architecture PowerPC 64
General Information
Relations
Overview
ISO/IEC 23360-6-2:2021 - Linux Standard Base (LSB) Part 6-2: Core specification for PowerPC 64 architecture defines the architecture‑specific portion of the LSB Core module for PowerPC 64 (PPC64) systems. It supplements the LSB Core - Generic document to provide a complete Application Binary Interface (ABI) and supporting environment for compiled applications and installation scripts on PPC64 platforms. The standard is primarily a binary‑level specification that helps ensure industry‑wide uniformity for high‑volume application deployment.
Key topics and requirements
- Scope and purpose: Defines system interfaces and a minimal runtime/installation environment to enable portable binaries across LSB‑conformant PPC64 systems.
- ABI / API distinction: LSB includes both source‑level APIs and binary ABIs. The specification is primarily ABI focused; compiled programs must conform to the ABIs listed.
- Architecture specifics: Supplements the common LSB Core with PPC64‑specific details such as:
- Executable and Linking Format (ELF) object format and headers
- Low‑level machine interface and function calling sequence
- TOC (table of contents), symbol tables and relocation semantics
- Program loading and dynamic linking rules (program interpreter/dynamic linker behavior)
- Base and utility libraries: Mandatory interfaces for runtime libraries used by applications, including libc, libm, libpthread, libgcc_s, libdl, libcrypt, and utility libraries such as libz, libncurses, and libstdc++.
- Packaging and installation: Guidance on package architecture considerations, package dependencies, and a minimal environment for installation scripts.
- Conformance and versioning: Implementations must provide the listed ABIs (unless explicitly optional). The document encourages symbol versioning and defines version semantics (major/minor/editorial).
Applications and users
This standard is valuable to:
- Software vendors and ISVs packaging binary applications targeting PPC64 Linux: ensures compatibility across compliant distributions.
- Distribution maintainers and packagers who need a stable ABI baseline for shipping binaries.
- Compiler/toolchain and runtime developers implementing PPC64 support (linkers, dynamic loaders, libc variants).
- System integrators and embedded vendors building uniform runtime environments on PowerPC 64 hardware. Benefits include improved binary portability, reduced testing overhead across distros, and clearer expectations for library and loader behavior.
Related standards
- LSB Core - Generic (architecture‑independent part) - to be used together with this PPC64 part.
- ISO/IEC 23360 series - other architecture‑specific parts and related LSB modules.
- This edition replaces ISO/IEC 23360-6:2006 and is published according to ISO/IEC procedures.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23360-6-2
First edition
2021-10
Linux Standard Base (LSB) —
Part 6-2:
Core specification for PowerPC 64
architecture
Reference number
©
ISO/IEC 2021
© ISO/IEC 2021
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
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii © ISO/IEC 2021 – 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.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular, the different approval criteria needed for the
different types of document should be noted (see www.iso.org/directives or
www.iec.ch/members_experts/refdocs).
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. Details
of any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www.iso.org/patents) or the IEC list of patent
declarations received (see patents.iec.ch).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation of the voluntary nature of standards, the meaning of ISO specific terms and
expressions related to conformity assessment, as well as information about ISO's adherence to the World
Trade Organization (WTO) principles in the Technical Barriers to Trade (TBT),
see www.iso.org/iso/foreword.html. In the IEC, see www.iec.ch/understanding-standards.
This document was prepared by the Linux Foundation as Linux Standard Base (LSB): Core specification
for PowerPC 64 architecture and drafted in accordance with its editorial rules. It was assigned to Joint
Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 22, Programming
languages, their environments and system software interfaces, and adopted by National Bodies.
This first edition of ISO/IEC 23360-6-2 cancels and replaces ISO/IEC 23360-6:2006, which has been
technically revised.
This document is based on “The GNU Free Documentation License, version 1.1”. The license is available
at https://www.gnu.org/licenses/old-licenses/fdl-1.1.html.
A list of all parts in the ISO/IEC 23660 series can be found on the ISO and IEC websites.
Any feedback or questions on this document should be directed to the user’s national standards body. A
complete listing of these bodies can be found at www.iso.org/members.html and www.iec.ch/national-
committees.
© ISO/IEC 2021 – All rights reserved iii
Contents
Foreword . iii
Introduction . vi
I Introductory Elements . 1
1 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 Traceback Tables . 17
7.4 Process Initialization . 17
7.5 Coding Examples. 17
8 Object Format . 19
8.1 Introduction . 19
8.2 ELF Header . 19
8.3 Special Sections . 19
8.4 TOC . 21
8.5 Symbol Table . 21
8.6 Relocation . 21
9 Program Loading and Dynamic Linking . 22
9.1 Introduction . 22
9.2 Program Loading . 22
9.3 Dynamic Linking . 22
III Base Libraries . 23
10 Libraries . 24
10.1 Program Interpreter/Dynamic Linker . 24
10.2 Interfaces for libc . 24
10.3 Data Definitions for libc . 45
10.4 Interfaces for libm . 63
10.5 Data Definitions for libm . 70
10.6 Interface Definitions for libm . 71
10.7 Interfaces for libpthread . 72
10.8 Data Definitions for libpthread . 78
10.9 Interfaces for libgcc_s. 79
10.10 Data Definitions for libgcc_s . 80
10.11 Interface Definitions for libgcc_s . 80
10.12 Interfaces for libdl . 81
10.13 Data Definitions for libdl. 82
10.14 Interfaces for libcrypt . 82
iv © 2021 ISO/IEC – All rights reserved
10.15 Data Definitions for libcrypt. 83
IV Utility Libraries . 84
11 Libraries . 85
11.1 Interfaces for libz . 85
11.2 Data Definitions for libz . 85
11.3 Interfaces for libncurses . 86
11.4 Data Definitions for libncurses . 86
11.5 Interfaces for libncursesw . 86
11.6 Data Definitions for libncursesw . 87
11.7 Interfaces for libutil . 87
V Base Libraries . 89
12 Libraries . 90
12.1 Interfaces for libstdcxx . 90
12.2 Interface Definitions for libstdcxx . 222
VI Package Format and Installation . 223
13 Software Installation. 224
13.1 Package Dependencies . 224
13.2 Package Architecture Considerations . 224
Annex A Alphabetical Listing of Interfaces by Library . 225
A.1 libc . 225
A.2 libcrypt . 241
A.3 libdl . 241
A.4 libgcc_s . 241
A.5 libm . 242
A.6 libpthread . 248
A.7 librt . 251
A.8 libutil . 252
© 2021 ISO/IEC – All rights reserved v
Introduction
The LSB defines a binary interface for application programs that are compiled
and packaged for LSB-conforming implementations on many different hardware
architectures. A binary specification must include information specific to the
computer processor architecture for which it is intended. To avoid the complexity
of conditional descriptions, the specification has instead been divided into
generic parts which are augmented by one of several architecture-specific parts,
depending on the target processor architecture; the generic part will indicate
when reference must be made to the architecture part, and vice versa.
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 the 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:
1. The first number (x) is the major version number. Versions sharing the same
major version number shall be compatible in a backwards direction; that is,
a newer version shall be compatible with an older version. Any deletion of
a library results in a new major version number. Interfaces marked as
deprecated may be removed from the specification at a major version
change.
2. The second number (y) is the minor version number. Libraries and
individual interfaces may be added, but not removed. Interfaces may be
marked as deprecated at a minor version change. Other minor changes may
be permitted at the discretion of the LSB workgroup.
3. 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.
LSB is a trademark of the Linux Foundation. Developers of applications or
implementations interested in using the trademark should see the Linux
Foundation Certification Policy for details.
vi © 2021 ISO/IEC – All rights reserved
I Introductory Elements
© 2021 ISO/IEC – All rights reserved 1
1 Scope
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 part describing
those parts of the interface that remain constant across all implementations of the
LSB, and an architecture-specific part describing the parts of the interface that
vary by processor architecture. Together, the common part and the relevant
architecture-specific part for a single hardware architecture provide a complete
interface specification for compiled application programs on systems that share
a common hardware architecture.
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.
This is the PPC64 architecture specific part of the Core module of the Linux
Standard Base (LSB). This part supplements the common part of the LSB Core
module with those interfaces that differ between architectures.
This part should be used in conjunction with LSB Core - Generic, the common
part. Whenever a section of the common part is supplemented by architecture-
specific information, the common part includes a reference to the architecture-
specific part. This part may also contain additional information that is not
referenced in the common part.
Interfaces described in this part of the LSB Core Specification are mandatory
except where explicitly listed otherwise. Interfaces described in the LSB Core
module are supplemented by other LSB modules. All other modules depend on
the presence of LSB Core.
2 © 2021 ISO/IEC – All rights reserved
2 References
2.1 Normative References
The following specifications are incorporated by reference into this specification.
For dated references, only the edition cited applies. For undated references, the
latest edition of the referenced specification (including any amendments) applies.
Note: Where copies of a referenced specification are available on the World Wide
Web, a Uniform Resource Locator (URL) is given, for informative purposes only.
Such URL might at any given time resolve to a more recent copy of the specification,
or be out of date (not resolve). Reference copies of specifications at the revision level
indicated may be found at the Linux Foundation's Reference Specifications
(http://refspecs.linuxbase.org) site.
Table 2-1 Normative References
Name Title URL
LSB Core - Generic Linux Standard Base - http://www.linuxbase.
Core Specification - org/spec/
Generic
64-bit PowerPC™ ELF 64-bit PowerPC™ ELF http://www.linux-
ABI Supplement ABI Supplement, foundation.org/spec/E
Version 1.9 LF/ppc64/
Filesystem Hierarchy Filesystem Hierarchy http://refspecs.linuxba
Standard Standard (FHS) 3.0 se.org/fhs
ISO C (1999) ISO/IEC 9899:1999 -
Programming
Languages -- C
ISO/IEC 14882: 2003 ISO/IEC 14882: 2003
C++ Language Programming
languages --C++
Itanium™ C++ ABI Itanium™ C++ ABI http://refspecs.linuxfo
(Revision 1.86) undation.org/cxxabi-
1.86.html
Large File Support Large File Support http://www.UNIX-
systems.org/version2/
whatsnew/lfs20mar.ht
ml
Libncursesw API Libncursesw API http://invisible-
island.net/ncurses/ma
n/ncurses.3x.html
Libncursesw Libncursesw http://refspecs.linux-
Placeholder Specification foundation.org/libncur
Placeholder sesw/libncurses.html
POSIX 1003.1-2001 http://www.unix.org/
ISO/IEC 9945-1:2003
(ISO/IEC 9945-2003) version3/
Information technology
-- Portable Operating
System Interface
© 2021 ISO/IEC – All rights reserved 3
Name Title URL
(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
Including Technical
Cor. 1: 2004
POSIX 1003.1-2008 Portable Operating http://www.unix.org/
(ISO/IEC 9945-2009) System Interface version4/
(POSIX®) 2008 Edition
/ The Open Group
Technical Standard
Base Specifications,
Issue 7
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 http://refspecs.linuxfo
Definition, Fourth undation.org/svid4/
Edition
System V ABI System V Application http://www.sco.com/
Binary Interface, developers/devspecs/g
Edition 4.1 abi41.pdf
4 © 2021 ISO/IEC – All rights reserved
Name Title URL
System V ABI Update System V Application http://www.sco.com/
Binary Interface - developers/gabi/2003-
DRAFT - 17 December
12-17/contents.html
The PowerPC™ The PowerPC™ http://refspecs.linux-
Microprocessor Family Microprocessor Family: foundation.org/PPC_hr
The Programming m.2005mar31.pdf
Environment Manual
for 32 and 64-bit
Microprocessors
X/Open Curses, Issue 7 X/Open Curses, Issue 7 https://www2.opengro
(ISBN: 1-931624-83-6, up.org/ogsys/catalog/
The Open Group, C094
November 2009)
2.2 Informative References/Bibliography
The documents listed below provide essential background information to
implementors of this specification. These references are included for information
only, and do not represent normative parts of this specification.
Table 2-2 Other References
Name Title URL
DWARF Debugging DWARF Debugging http://www.dwarfstd.
Information Format, Information Format, org/doc/DWARF4.pdf
Version 4 Version 4 (June 10,
2010)
IEC 60559/IEEE 754 IEC 60559:1989 Binary http://www.ieee.org/
Floating Point floating-point
arithmetic for
microprocessor systems
ISO/IEC Technical
ISO/IEC TR14652
Report 14652:2002
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
conversionITUV
Li18nux Globalization LI18NUX 2000 http://www.openi18n.
Specification Globalization org/docs/html/LI18N
Specification, Version UX-2000-amd4.htm
1.0 with Amendment 4
© 2021 ISO/IEC – All rights reserved 5
Name Title URL
Linux Allocated Device LINUX ALLOCATED http://www.lanana.or
Registry DEVICES g/docs/device-
list/devices-2.6+.txt
Linux Assigned Names Linux Assigned Names http://www.lanana.or
And Numbers And Numbers g/
Authority Authority
Mozilla's NSS SSL Mozilla's NSS SSL http://www.mozilla.or
Reference Reference g/projects/security/pk
i/nss/ref/ssl/
NSPR Reference Mozilla's NSPR http://refspecs.linuxfo
Reference undation.org/NSPR_A
PI_Reference/NSPR_A
PI.html
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 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
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 5531/4506 RPC & IETF RFC 5531 & 4506 http://www.ietf.org/
XDR
6 © 2021 ISO/IEC – All rights reserved
Name Title URL
RFC 791:Internet IETF RFC 791: Internet http://www.ietf.org/rf
Protocol Protocol Specification c/rfc791.txt
RPM Package Format http://www.rpm.org/
RPM Package Format
V3.0 max-rpm/s1-rpm-file-
format-rpm-file-
format.html
zlib Manual zlib 1.2 Manual http://www.gzip.org/
zlib/
© 2021 ISO/IEC – All rights reserved 7
3 Requirements
3.1 Relevant Libraries
The libraries listed in Table 3-1 shall be available on PPC64 Linux Standard Base
systems, with the specified runtime names. These names override or supplement
the names specified in the generic LSB (LSB Core - Generic) 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
libc libc.so.6
libcrypt libcrypt.so.1
libdl libdl.so.2
libgcc_s libgcc_s.so.1
libm libm.so.6
libncurses libncurses.so.5
libncursesw libncursesw.so.5
libpthread libpthread.so.0
libstdcxx libstdc++.so.6
libutil libutil.so.1
libz libz.so.1
proginterp /lib64/ld-lsb-ppc64.so.3
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 (LSB
Core - Generic) and the relevant architecture specific part of the LSB Core
Specification.
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 the LSB Core
Specification 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.
8 © 2021 ISO/IEC – All rights reserved
• The implementation shall be capable of executing compiled applications
having the format and using the system interfaces described in this
specification.
• The implementation shall provide libraries containing the interfaces specified
by this specification, and shall provide a dynamic linking mechanism that
allows these interfaces to be attached to applications at runtime. All the
interfaces shall behave as specified in this specification.
• The map of virtual memory provided by the implementation shall conform to
the requirements of this specification.
• 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 specification.
• 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
specification in the format defined here and in other documents normatively
included by reference. All commands and utilities shall behave as required by
this specification. The implementation shall also provide all mandatory
components of an application's runtime environment that are included or
referenced in this specification.
• 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 containing object files is necessarily architecture
specific, and must conform to both the generic LSB Core specification (LSB Core
- Generic) and the relevant architecture specific part of the LSB Core Specification.
A conforming application which contains no object files may be architecture
neutral. Architecture neutral applications shall conform only to the requirements
of the generic LSB Core specification (LSB Core - Generic).
A conforming application shall satisfy the following requirements:
• Executable files shall be either object files in the format defined in the Object
Format section of this specification, or script files in a scripting language where
the interpreter is required by this specification.
• Object files shall participate in dynamic linking as defined in the Program
Loading and Linking section of this specification.
• Object files shall employ only the instructions, traps, and other low-level
facilities defined as being for use by applications in the Low-Level System
Information section of this specification
© 2021 ISO/IEC – All rights reserved 9
• If the application requires any optional interface defined in this specification in
order to be installed or to execute successfully, the requirement for that
optional interface shall be stated in the application's documentation.
• The application shall not use any interface or data format that is not required
to be provided by a conforming implementation, unless such an interface or
data format is supplied by another application through direct invocation of that
application during execution. The other application must also be a conforming
application, and the use of such interface or data format, as well as its source
(in other words, the other conforming application), shall be identified in the
documentation of the application.
• The application 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 not defined in this specification in order to
be installed or to execute successfully.
10 © 2021 ISO/IEC – All rights reserved
4 Terms and Definitions
For the purposes of this document, the terms and definitions given in ISO/IEC
2382, ISO 80000–2, and the following apply.
ISO and IEC maintain terminological databases for use in standardization at the
following addresses:
— ISO Online browsing platform: available at https://www.iso.org/obp
— IEC Electropedia: available at http://www.electropedia.org/
4.1
archLSB
Some LSB specification documents have both a generic, architecture-neutral
part and an architecture-specific part. The latter describes elements whose
definitions may be unique to a particular processor architecture. The term
archLSB may be used in the generic part to refer to the corresponding section
of the architecture-specific part.
4.2
Binary Standard, ABI
The total set of interfaces that are available to be used in the compiled binary
code of a conforming application, including the run-time details such as
calling conventions, binary format, C++ name mangling, etc.
4.3
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.
4.4
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.
© 2021 ISO/IEC – All rights reserved 11
4.5
Source Standard, API
The total set of interfaces that are available to be used in the source code of a
conforming application. Due to translations, the Binary Standard and the
Source Standard may contain some different interfaces.
4.6
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.
4.7
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.
In addition, for the portions of this specification which build on IEEE Std 1003.1-
2001, the definitions given in IEEE Std 1003.1-2001, Base Definitions, Chapter 3
apply.
12 © 2021 ISO/IEC – All rights reserved
5 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) [SUSv4]
refers to the interface named forkpty() with symbol version GLIBC_2.0 that is
defined in the reference indicated by the tag SUSv4.
Note: For symbols with versions which differ between architectures, the symbol
versions are defined in the architecture specific parts of of this module specification
only. In the generic part, they will appear without symbol versions.
© 2021 ISO/IEC – All rights reserved 13
II Executable and Linking Format (ELF)
14 © 2021 ISO/IEC – All rights reserved
6 Introduction
Executable and Linking Format (ELF) defines the object format for compiled
applications. This specification supplements the information found in System V
ABI Update and 64-bit PowerPC™ ELF ABI Supplement, and is intended to
document additions made since the publication of that document.
© 2021 ISO/IEC – All rights reserved 15
7 Low Level System Information
7.1 Machine Interface
7.1.1 Processor Architecture
The PowerPC Architecture is specified by the following documents:
• 64-bit PowerPC™ ELF ABI Supplement
• The PowerPC™ Microprocessor Family
Only the features of the PowerPC Power3 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 the application may not use it.
Conforming applications may use only instructions which do not require
elevated privileges.
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.
An implementation must support the 64-bit computation mode as described in
The PowerPC™ Microprocessor Family.
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 feature is not present.
This specification does not provide any performance guarantees of a conforming
system. A system conforming to this specification may be implemented in either
hardware or software.
7.1.2 Data Representation
LSB-conforming applications shall use the data representation as defined in
Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.1.3 Byte Ordering
LSB-conforming applications shall use big-endian byte ordering. LSB-
conforming implementations may support little-endian applications.
7.1.4 Fundamental Types
LSB-conforming applications shall use the fundamental types as defined in
Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
LSB-conforming applications shall not use the long double fundamental type.
7.1.5 Aggregates and Unions
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
16 © 2021 ISO/IEC – All rights reserved
7.1.6 Bit Fields
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.2 Function Calling Sequence
LSB-conforming applications shall use the function calling sequence as defined
in Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.2.1 Registers
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.2.2 Stack Frame
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.2.3 Parameter Passing
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.2.4 Return Values
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.2.5 Function Descriptors
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.3 Traceback Tables
LSB-conforming applications shall use the traceback tables as defined in Chapter
3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.3.1 Mandatory Fields
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.3.2 Optional Fields
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.4 Process Initialization
LSB-conforming applications shall use the Operating System Interfaces as
defined in Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.4.1 Registers
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.4.2 Process Stack
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.5 Coding Examples
LSB-conforming applications may implement fundamental operations using the
Coding Examples as defined in Chapter 3 of the 64-bit PowerPC™ ELF ABI
Supplement.
© 2021 ISO/IEC – All rights reserved 17
7.5.1 Code Model Overview
See Chapter 3 of the 64-bit PowerPC™ ELF ABI Supplement.
7.5.2 The TOC Secti
...
Frequently Asked Questions
ISO/IEC 23360-6-2:2021 is a standard published by the International Organization for Standardization (ISO). Its full title is "Linux Standard Base (LSB) - Part 6-2: Core specification for PowerPC 64 architecture". This standard covers: This document 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 part describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part describing the parts of the interface that vary by processor architecture. Together, the common part and the relevant architecture-specific part for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. 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. This is the PPC64 architecture specific part of the Core module of the Linux Standard Base (LSB). This part supplements the common part of the LSB Core module with those interfaces that differ between architectures. This part should be used in conjunction with LSB Core - Generic, the common part. Whenever a section of the common part is supplemented by architecture-specific information, the common part includes a reference to the architecture-specific part. This part may also contain additional information that is not referenced in the common part. Interfaces described in this part of the LSB Core Specification are mandatory except where explicitly listed otherwise. Interfaces described in the LSB Core module are supplemented by other LSB modules. All other modules depend on the presence of LSB Core.
This document 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 part describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part describing the parts of the interface that vary by processor architecture. Together, the common part and the relevant architecture-specific part for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. 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. This is the PPC64 architecture specific part of the Core module of the Linux Standard Base (LSB). This part supplements the common part of the LSB Core module with those interfaces that differ between architectures. This part should be used in conjunction with LSB Core - Generic, the common part. Whenever a section of the common part is supplemented by architecture-specific information, the common part includes a reference to the architecture-specific part. This part may also contain additional information that is not referenced in the common part. Interfaces described in this part of the LSB Core Specification are mandatory except where explicitly listed otherwise. Interfaces described in the LSB Core module are supplemented by other LSB modules. All other modules depend on the presence of LSB Core.
ISO/IEC 23360-6-2:2021 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-6-2:2021 has the following relationships with other standards: It is inter standard links to ISO 24096-2:2024, ISO/IEC 23360-6:2006. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 23360-6-2:2021 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.
The article discusses ISO/IEC 23360-6-2:2021, which is a specification for the Linux Standard Base (LSB) specifically designed for the PowerPC 64 architecture. The goal of this specification is to provide a uniform standard environment for high-volume applications that adhere to the LSB. The LSB specification is divided into a common part, which describes the interface elements that are consistent across all implementations, and an architecture-specific part, which describes the interface elements that vary based on the processor architecture. The LSB includes both Application Program Interfaces (APIs) and Application Binary Interfaces (ABIs), with APIs appearing in the source code of portable applications and ABIs being used in the compiled binary of the application. A conforming implementation of the LSB must provide all of the listed ABIs. The LSB primarily focuses on defining binary interfaces and may not contain all source level APIs available to applications. The PPC64 architecture-specific part of the LSB Core module supplements the common part, providing additional information and interfaces that are specific to the PowerPC 64 architecture. These interfaces are mandatory unless otherwise specified. The LSB Core module serves as the foundation for other LSB modules, and the presence of the LSB Core is required for the functionality of other modules.
この記事はISO/IEC 23360-6-2:2021であり、PowerPC 64アーキテクチャ向けのLinux Standard Base (LSB)のコア仕様について説明しています。このドキュメントはコンパイルされたアプリケーションのシステムインタフェースとインストールスクリプトのサポートのための最小環境を定義しています。その目的は、LSBに準拠する大規模なアプリケーションに対して統一された業界標準の環境を可能にすることです。この仕様は、LSBの実装全体で一貫している部分を説明する共通部分と、プロセッサアーキテクチャによって異なる部分を説明するアーキテクチャ固有の部分の2つの基本部分で構成されています。共通部分と対応するハードウェアアーキテクチャのアーキテクチャ固有部分は、共通のハードウェアアーキテクチャを共有するシステム上のコンパイル済みアプリケーションプログラムの完全なインターフェース仕様を提供します。LSBにはApplication Program Interfaces (APIs)とApplication Binary Interfaces (ABIs)の両方が含まれています。APIはポータブルなアプリケーションのソースコードに表示され、そのアプリケーションのコンパイル済みバイナリはより大きな ABIのセットを使用します。準拠する実装はここにリストされているすべてのABIを提供します。コンパイルシステムは(マクロ定義によって)一部のAPIを基礎となるバイナリインタフェースの呼び出しに置き換え、必要に応じてバイナリインタフェースの呼び出しを挿入する場合があります。LSBは主にバイナリインタフェースの定義です。アプリケーションが使用できるすべてのソースレベルのAPIがこの仕様に含まれていない場合があります。これはLinux Standard Base (LSB)のコアモジュールのPPC64アーキテクチャ固有部分です。この部分はLSB Core - Generic、つまり共通部分と組み合わせて使用する必要があります。共通部分がアーキテクチャ固有の情報で補完される場合、共通部分はアーキテクチャ固有の部分を参照します。この部分には共通部分で参照されていない追加の情報も含まれる場合があります。LSB Core仕様のこの部分で説明されているインターフェースは、それ以外が明示的にリストされていない限り、必須です。LSB Coreモジュールで説明されているインターフェースは他のLSBモジュールによって補完されます。他のすべてのモジュールはLSB Coreの存在を前提としています。
이 기사는 ISO/IEC 23360-6-2:2021인 Linux Standard Base (LSB)의 PowerPC 64 아키텍처에 대한 핵심 사양에 대해 설명합니다. 이 문서는 컴파일된 응용 프로그램의 시스템 인터페이스와 설치 스크립트 지원을 위한 최소 환경을 정의합니다. 이 문서는 LSB를 준수하는 대량의 응용 프로그램을 위한 통일된 산업 표준 환경을 가능하게 함을 목적으로 합니다. 이 사양은 두 가지 기본 부분으로 구성되어 있습니다. LSB의 모든 구현에서 일정하게 유지되는 인터페이스 부분을 설명하는 공통 부분과 프로세서 아키텍처별로 다른 인터페이스 부분을 설명하는 아키텍처별 부분입니다. 공통 부분과 해당 하드웨어 아키텍처에 대한 아키텍처별 부분은 공통 하드웨어 아키텍처를 공유하는 시스템에 대한 컴파일된 응용 프로그램의 완전한 인터페이스 사양을 제공합니다. LSB에는 응용 프로그램 프로그램 인터페이스 (API) 및 응용 프로그램 이진 인터페이스 (ABI) 집합이 포함되어 있습니다. API는 이식 가능한 응용 프로그램의 소스 코드에 나타날 수 있으며, 해당 응용 프로그램의 컴파일된 이진 파일은 더 큰 ABI 집합을 사용할 수 있습니다. 준수하는 구현은 여기에 나열된 모든 ABI를 제공합니다. 컴파일 시스템은 일부 API를 기초 이진 인터페이스의 호출로 대체하거나 (매크로 정의를 통해) 필요한 경우 이진 인터페이스에 대한 호출을 삽입할 수 있습니다. LSB는 주로 이진 인터페이스 정의입니다. 응용 프로그램이 사용할 수 있는 모든 소스 레벨 API가이 사양에 포함되지 않을 수 있습니다. 이것은 Linux Standard Base (LSB)의 Core 모듈의 PPC64 아키텍처별 부분입니다. 이 부분은 LSB Core - 일반, 즉 공통 부분과 함께 사용되어야 합니다. 공통 부분에서 아키텍처별 정보를 보완하는 경우, 공통 부분은 아키텍처별 부분을 참조합니다. 이 부분에는 공통 부분에서 참조하지 않는 추가적인 정보도 포함될 수 있습니다. LSB Core 사양의 이 부분에 설명된 인터페이스는 명시적으로 다르게 명시되지 않는 한 필수입니다. LSB Core 모듈에서 설명된 인터페이스는 다른 LSB 모듈에서 보완됩니다. 다른 모든 모듈은 LSB Core의 존재를 요구합니다.








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