1 Linux Standard Base Core Module Specification for IA64 2.0 2 3 Copyright ? 2004 Free Standards Group 4 5 Permission is granted to copy, distribute and/or modify this document under the 6 terms of the GNU Free Documentation License, Version 1.1; with no Invariant 7 Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of 8 the license is included in the section entitled "GNU Free Documentation 9 License". 10 11 Portions of the text are copyrighted by the following parties: 12 13 * The Regents of the University of California 14 15 * Free Software Foundation 16 17 * Ian F. Darwin 18 19 * Paul Vixie 20 21 * BSDI (now Wind River) 22 23 * Andrew G Morgan 24 25 * Jean-loup Gailly and Mark Adler 26 27 * Massachusetts Institute of Technology 28 29 These excerpts are being used in accordance with their respective licenses. 30 31 Linux is a trademark of Linus Torvalds. 32 33 UNIX a registered trademark of the Open Group in the United States and other 34 countries. 35 36 LSB is a trademark of the Free Standards Group in the USA and other countries. 37 38 AMD is a trademark of Advanced Micro Devices, Inc. 39 40 Intel and Itanium are registered trademarks and Intel386 is a trademarks of 41 Intel Corporation. 42 43 OpenGL is a registered trademark of Silicon Graphics, Inc. 44 45 Table of Contents 46 Specification Introduction 47 ELF Specification 48 Linux Standard Base Specification 49 Linux Packaging Specification 50 51 Specification Introduction 52 53 ------------------------------------------------------------------------------- 54 55 Table of Contents 56 Foreword 57 Introduction 58 I. Introductory Elements 59 60 1. Scope 61 62 General 63 Module Specific Scope 64 65 2. Normative References 66 3. Requirements 67 68 Relevant Libraries 69 LSB Implementation Conformance 70 LSB Application Conformance 71 72 4. Definitions 73 5. Terminology 74 75 List of Tables 76 2-1. Normative References 77 3-1. Standard Library Names 78 79 ------------------------------------------------------------------------------- 80 81 Foreword 82 83 This is version 2.0 of the Linux Standard Base Core Module Specification for 84 IA64. An implementation of this version of the specification may not claim to 85 be an implementation of the Linux Standard Base unless it has successfully 86 completed the compliance process as defined by the Free Standards Group. 87 88 ------------------------------------------------------------------------------- 89 90 Introduction 91 92 The LSB defines a binary interface for application programs that are compiled 93 and packaged for LSB-conforming implementations on many different hardware 94 architectures. Since a binary specification shall include information specific 95 to the computer processor architecture for which it is intended, it is not 96 possible for a single document to specify the interface for all possible 97 LSB-conforming implementations. Therefore, the LSB is a family of 98 specifications, rather than a single one. 99 100 This document should be used in conjunction with the documents it references. 101 This document enumerates the system components it includes, but descriptions of 102 those components may be included entirely or partly in this document, partly in 103 other documents, or entirely in other reference documents. For example, the 104 section that describes system service routines includes a list of the system 105 routines supported in this interface, formal declarations of the data 106 structures they use that are visible to applications, and a pointer to the 107 underlying referenced specification for information about the syntax and 108 semantics of each call. Only those routines not described in standards 109 referenced by this document, or extensions to those standards, are described in 110 the detail. Information referenced in this way is as much a part of this 111 document as is the information explicitly included here. 112 113 I. Introductory Elements 114 115 Table of Contents 116 1. Scope 117 2. Normative References 118 3. Requirements 119 4. Definitions 120 5. Terminology 121 122 ------------------------------------------------------------------------------- 123 124 Chapter 1. Scope 125 126 General 127 128 The Linux Standard Base (LSB) defines a system interface for compiled 129 applications and a minimal environment for support of installation scripts. Its 130 purpose is to enable a uniform industry standard environment for high-volume 131 applications conforming to the LSB. 132 133 These specifications are composed of two basic parts: A common specification 134 ("LSB-generic") describing those parts of the interface that remain constant 135 across all implementations of the LSB, and an architecture-specific 136 specification ("LSB-arch") describing the parts of the interface that vary by 137 processor architecture. Together, the LSB-generic and the architecture-specific 138 supplement for a single hardware architecture provide a complete interface 139 specification for compiled application programs on systems that share a common 140 hardware architecture. 141 142 The LSB-generic document shall be used in conjunction with an 143 architecture-specific supplement. Whenever a section of the LSB-generic 144 specification shall be supplemented by architecture-specific information, the 145 LSB-generic document includes a reference to the architecture supplement. 146 Architecture supplements may also contain additional information that is not 147 referenced in the LSB-generic document. 148 149 The LSB contains both a set of Application Program Interfaces (APIs) and 150 Application Binary Interfaces (ABIs). APIs may appear in the source code of 151 portable applications, while the compiled binary of that application may use 152 the larger set of ABIs. A conforming implementation shall provide all of the 153 ABIs listed here. The compilation system may replace (e.g. by macro definition) 154 certain APIs with calls to one or more of the underlying binary interfaces, and 155 may insert calls to binary interfaces as needed. 156 157 The LSB is primarily a binary interface definition. Not all of the source level 158 APIs available to applications may be contained in this specification. 159 160 ------------------------------------------------------------------------------- 161 162 Module Specific Scope 163 164 This is the Itanium architecture specific Core module of the Linux Standards 165 Base (LSB). This module supplements the generic LSB Core module with those 166 interfaces that differ between architectures. 167 168 Interfaces described in this module are mandatory except where explicitly 169 listed otherwise. Core interfaces may be supplemented by other modules; all 170 modules are built upon the core. 171 172 ------------------------------------------------------------------------------- 173 174 Chapter 2. Normative References 175 176 The specifications listed below are referenced in whole or in part by the Linux 177 Standard Base. In this specification, where only a particular section of one of 178 these references is identified, then the normative reference is to that section 179 alone, and the rest of the referenced document is informative. 180 181 Table 2-1. Normative References 182 183 +-----------------------------------------------------------------------------+ 184 |System V Application Binary Interface - DRAFT - |http://www.caldera.com/ | 185 |17 December 2003 |developers/gabi/2003-12-17/ | 186 | |contents.html | 187 |------------------------------------------------+----------------------------| 188 |DWARF Debugging Information Format, Revision |http://www.eagercon.com/ | 189 |2.0.0 (July 27, 1993) |dwarf/dwarf-2.0.0.pdf | 190 |------------------------------------------------+----------------------------| 191 |Filesystem Hierarchy Standard (FHS) 2.3 |http://www.pathname.com/fhs/| 192 |------------------------------------------------+----------------------------| 193 |IEEE Standard 754 for Binary Floating-Point |http://www.ieee.org/ | 194 |Arithmetic | | 195 |------------------------------------------------+----------------------------| 196 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 197 |4.1 |developers/devspecs/ | 198 | |gabi41.pdf | 199 |------------------------------------------------+----------------------------| 200 |Intel Itanium ? Processor-specific Application |http:// | 201 |Binary Interface |refspecs.freestandards.org/ | 202 | |elf/IA64-SysV-psABI.pdf | 203 |------------------------------------------------+----------------------------| 204 |Itanium ? Software Conventions & Runtime |http:// | 205 |Architecture Guide |refspecs.freestandards.org/ | 206 | |IA64conventions.pdf | 207 |------------------------------------------------+----------------------------| 208 |Itanium ? Architecture Software Developer's |http:// | 209 |Manual Volume 1: Application Architecture |refspecs.freestandards.org/ | 210 | |IA64-softdevman-vol1.pdf | 211 |------------------------------------------------+----------------------------| 212 |Itanium ? Architecture Software Developer's |http:// | 213 |Manual Volume 2: System Architecture |refspecs.freestandards.org/ | 214 | |IA64-softdevman-vol2.pdf | 215 |------------------------------------------------+----------------------------| 216 |Itanium ? Architecture Software Developer's |http:// | 217 |Manual Volume 3: Instruction Set Reference |refspecs.freestandards.org/ | 218 | |IA64-softdevman-vol3.pdf | 219 |------------------------------------------------+----------------------------| 220 |IA-64 Processor Reference: Intel Itanium ? |http:// | 221 |Processor Reference Manual for Software |refspecs.freestandards.org/ | 222 |Development |IA64-softdevman-vol4.pdf | 223 |------------------------------------------------+----------------------------| 224 |ISO/IEC 9899: 1999, Programming Languages --C | | 225 |------------------------------------------------+----------------------------| 226 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 227 |------------------------------------------------+----------------------------| 228 | |http://www.UNIX-systems.org/| 229 |Large File Support |version2/whatsnew/ | 230 | |lfs20mar.html | 231 |------------------------------------------------+----------------------------| 232 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/| 233 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 234 |------------------------------------------------+----------------------------| 235 |Linux Standard Base |http://www.linuxbase.org/ | 236 | |spec/ | 237 |------------------------------------------------+----------------------------| 238 | |http://www.opengroup.org/ | 239 |OSF-RFC 86.0 |tech/rfc/mirror-rfc/ | 240 | |rfc86.0.txt | 241 |------------------------------------------------+----------------------------| 242 |RFC 1833: Binding Protocols for ONC RPC Version |http://www.ietf.org/rfc/ | 243 |2 |rfc1833.txt | 244 |------------------------------------------------+----------------------------| 245 |RFC 1952: GZIP file format specification version|http://www.ietf.org/rfc/ | 246 |4.3 |rfc1952.txt | 247 |------------------------------------------------+----------------------------| 248 |RFC 2440: OpenPGP Message Format |http://www.ietf.org/rfc/ | 249 | |rfc2440.txt | 250 |------------------------------------------------+----------------------------| 251 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 252 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610), |publications/catalog/un.htm | 253 |plus Corrigendum U018 | | 254 |------------------------------------------------+----------------------------| 255 |The Single UNIX Specification(SUS) Version 2, |http://www.opengroup.org/ | 256 |Commands and Utilities (XCU), Issue 5 (ISBN: |publications/catalog/un.htm | 257 |1-85912-191-8, C604) | | 258 |------------------------------------------------+----------------------------| 259 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 260 |Interfaces and Headers (XSH),Issue 5 (ISBN: |publications/catalog/un.htm | 261 |1-85912-181-0, C606) | | 262 |------------------------------------------------+----------------------------| 263 |ISO/IEC 9945:2003 Portable Operating System |http://www.unix.org/version3| 264 |(POSIX)and The Single UNIX Specification(SUS) |/ | 265 |V3 | | 266 |------------------------------------------------+----------------------------| 267 |System V Interface Definition, Issue 3 (ISBN | | 268 |0201566524) | | 269 |------------------------------------------------+----------------------------| 270 |System V Interface Definition,Fourth Edition | | 271 |------------------------------------------------+----------------------------| 272 |zlib 1.2 Manual |http://www.gzip.org/zlib/ | 273 +-----------------------------------------------------------------------------+ 274 ------------------------------------------------------------------------------- 275 276 Chapter 3. Requirements 277 278 Relevant Libraries 279 280 The libraries listed in Table 3-1 shall be available on IA64 Linux Standard 281 Base systems, with the specified runtime names. These names override or 282 supplement the names specified in the generic LSB specification. The specified 283 program interpreter, referred to as proginterp in this table, shall be used to 284 load the shared libraries specified by DT_NEEDED entries at run time. 285 286 Table 3-1. Standard Library Names 287 288 +--------------------------------+ 289 | Library | Runtime Name | 290 |----------+---------------------| 291 |libm |libm.so.6.1 | 292 |----------+---------------------| 293 |libdl |libdl.so.2 | 294 |----------+---------------------| 295 |libcrypt |libcrypt.so.1 | 296 |----------+---------------------| 297 |libz |libz.so.1 | 298 |----------+---------------------| 299 |libncurses|libncurses.so.5 | 300 |----------+---------------------| 301 |libutil |libutil.so.1 | 302 |----------+---------------------| 303 |libc |libc.so.6.1 | 304 |----------+---------------------| 305 |libpthread|libpthread.so.0 | 306 |----------+---------------------| 307 |proginterp|/lib/ld-lsb-ia64.so.2| 308 |----------+---------------------| 309 |libgcc_s |libgcc_s.so.1 | 310 +--------------------------------+ 311 312 These libraries will be in an implementation-defined directory which the 313 dynamic linker shall search by default. 314 315 ------------------------------------------------------------------------------- 316 317 LSB Implementation Conformance 318 319 An implementation shall satisfy the following requirements: 320 321 * The implementation shall implement fully the architecture described in the 322 hardware manual for the target processor architecture. 323 324 * The implementation shall be capable of executing compiled applications 325 having the format and using the system interfaces described in this 326 document. 327 328 * The implementation shall provide libraries containing the interfaces 329 specified by this document, and shall provide a dynamic linking mechanism 330 that allows these interfaces to be attached to applications at runtime. All 331 the interfaces shall behave as specified in this document. 332 333 * The map of virtual memory provided by the implementation shall conform to 334 the requirements of this document. 335 336 * The implementation's low-level behavior with respect to function call 337 linkage, system traps, signals, and other such activities shall conform to 338 the formats described in this document. 339 340 * The implementation shall provide all of the mandatory interfaces in their 341 entirety. 342 343 * The implementation may provide one or more of the optional interfaces. Each 344 optional interface that is provided shall be provided in its entirety. The 345 product documentation shall state which optional interfaces are provided. 346 347 * The implementation shall provide all files and utilities specified as part 348 of this document in the format defined here and in other referenced 349 documents. All commands and utilities shall behave as required by this 350 document. The implementation shall also provide all mandatory components of 351 an application's runtime environment that are included or referenced in 352 this document. 353 354 * The implementation, when provided with standard data formats and values at 355 a named interface, shall provide the behavior defined for those values and 356 data formats at that interface. However, a conforming implementation may 357 consist of components which are separately packaged and/or sold. For 358 example, a vendor of a conforming implementation might sell the hardware, 359 operating system, and windowing system as separately packaged items. 360 361 * The implementation may provide additional interfaces with different names. 362 It may also provide additional behavior corresponding to data values 363 outside the standard ranges, for standard named interfaces. 364 365 366 367 ------------------------------------------------------------------------------- 368 369 LSB Application Conformance 370 371 An application shall satisfy the following requirements: 372 373 374 375 * Its executable files are either shell scripts or object files in the format 376 defined for the Object File Format system interface. 377 378 * Its object files participate in dynamic linking as defined in the Program 379 Loading and Linking System interface. 380 381 * It employs only the instructions, traps, and other low-level facilities 382 defined in the Low-Level System interface as being for use by applications. 383 384 * If it requires any optional interface defined in this document in order to 385 be installed or to execute successfully, the requirement for that optional 386 interface is stated in the application's documentation. 387 388 * It does not use any interface or data format that is not required to be 389 provided by a conforming implementation, unless: 390 391 + If such an interface or data format is supplied by another application 392 through direct invocation of that application during execution, that 393 application is in turn an LSB conforming application. 394 395 + The use of that interface or data format, as well as its source, is 396 identified in the documentation of the application. 397 398 * It shall not use any values for a named interface that are reserved for 399 vendor extensions. 400 401 A strictly conforming application does not require or use any interface, 402 facility, or implementation-defined extension that is not defined in this 403 document in order to be installed or to execute successfully. 404 405 ------------------------------------------------------------------------------- 406 407 Chapter 4. Definitions 408 409 For the purposes of this document, the following definitions, as specified in 410 the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply: 411 412 can 413 414 be able to; there is a possibility of; it is possible to 415 416 cannot 417 418 be unable to; there is no possibilty of; it is not possible to 419 420 may 421 422 is permitted; is allowed; is permissible 423 424 need not 425 426 it is not required that; no...is required 427 428 shall 429 430 is to; is required to; it is required that; has to; only...is permitted; it 431 is necessary 432 433 shall not 434 435 is not allowed [permitted] [acceptable] [permissible]; is required to be 436 not; is required that...be not; is not to be 437 438 should 439 440 it is recommended that; ought to 441 442 should not 443 444 it is not recommended that; ought not to 445 446 ------------------------------------------------------------------------------- 447 448 Chapter 5. Terminology 449 450 For the purposes of this document, the following terms apply: 451 452 archLSB 453 454 The architectural part of the LSB Specification which describes the 455 specific parts of the interface that are platform specific. The archLSB is 456 complementary to the gLSB. 457 458 Binary Standard 459 460 The total set of interfaces that are available to be used in the compiled 461 binary code of a conforming application. 462 463 gLSB 464 465 The common part of the LSB Specification that describes those parts of the 466 interface that remain constant across all hardware implementations of the 467 LSB. 468 469 implementation-defined 470 471 Describes a value or behavior that is not defined by this document but is 472 selected by an implementor. The value or behavior may vary among 473 implementations that conform to this document. An application should not 474 rely on the existence of the value or behavior. An application that relies 475 on such a value or behavior cannot be assured to be portable across 476 conforming implementations. The implementor shall document such a value or 477 behavior so that it can be used correctly by an application. 478 479 Shell Script 480 481 A file that is read by an interpreter (e.g., awk). The first line of the 482 shell script includes a reference to its interpreter binary. 483 484 Source Standard 485 486 The set of interfaces that are available to be used in the source code of a 487 conforming application. 488 489 undefined 490 491 Describes the nature of a value or behavior not defined by this document 492 which results from use of an invalid program construct or invalid data 493 input. The value or behavior may vary among implementations that conform to 494 this document. An application should not rely on the existence or validity 495 of the value or behavior. An application that relies on any particular 496 value or behavior cannot be assured to be portable across conforming 497 implementations. 498 499 unspecified 500 501 Describes the nature of a value or behavior not specified by this document 502 which results from use of a valid program construct or valid data input. 503 The value or behavior may vary among implementations that conform to this 504 document. An application should not rely on the existence or validity of 505 the value or behavior. An application that relies on any particular value 506 or behavior cannot be assured to be portable across conforming 507 implementations. 508 509 ELF Specification 510 511 ------------------------------------------------------------------------------- 512 513 Table of Contents 514 I. Low Level System Information 515 516 1. Machine Interface 517 518 Processor Architecture 519 Data Representation 520 521 2. Function Calling Sequence 522 523 CPU Registers 524 Floating Point Registers 525 Stack Frame 526 Arguments 527 Return Values 528 529 3. Operating System Interface 530 531 Processor Execution Mode 532 Exception Interface 533 Signal Delivery 534 535 4. Process Initialization 536 537 Special Registers 538 Process Stack (on entry) 539 Auxiliary Vector 540 Environment 541 542 5. Coding Examples 543 544 Code Model Overview/Architecture Constraints 545 Position-Independent Function Prologue 546 Data Objects 547 Function Calls 548 Branching 549 550 6. C Stack Frame 551 552 Variable Argument List 553 Dynamic Allocation of Stack Space 554 555 7. Debug Information 556 557 II. Object Format 558 559 8. ELF Header 560 561 Machine Information 562 563 9. Sections 564 565 Special Sections 566 Linux Special Sections 567 Section Types 568 Section Attribute Flags 569 Special Section Types 570 571 10. Symbol Table 572 11. Relocation 573 574 Relocation Types 575 576 III. Program Loading and Dynamic Linking 577 578 12. Program Header 579 580 Types 581 Flags 582 583 13. Program Loading 584 14. Dynamic Linking 585 586 Dynamic Entries 587 Global Offset Table 588 Shared Object Dependencies 589 Function Addresses 590 Procedure Linkage Table 591 Initialization and Termination Functions 592 593 List of Tables 594 1-1. Scalar Types 595 8-1. Additional Processor-Specific Flags 596 9-1. ELF Special Sections 597 9-2. Additional Special Sections 598 599 List of Figures 600 1-1. Structure Smaller Than A Word 601 1-2. No Padding 602 1-3. Internal and Tail Padding 603 1-4. Bit-Field Ranges 604 605 I. Low Level System Information 606 607 Table of Contents 608 1. Machine Interface 609 2. Function Calling Sequence 610 3. Operating System Interface 611 4. Process Initialization 612 5. Coding Examples 613 6. C Stack Frame 614 7. Debug Information 615 616 ------------------------------------------------------------------------------- 617 618 Chapter 1. Machine Interface 619 620 Processor Architecture 621 622 The Architecture is specified by the following documents 623 624 * Itanium ? Architecture Software Developer's Manual Volume 1: Application 625 Architecture 626 627 * Itanium ? Architecture Software Developer's Manual Volume 2: System 628 Architecture 629 630 * Itanium ? Architecture Software Developer's Manual Volume 3: Instruction 631 Set Reference 632 633 * IA-64 Processor Reference: Intel Itanium ? Processor Reference Manual for 634 Software Development 635 636 * Itanium ? Software Conventions & Runtime Architecture Guide 637 638 * Intel Itanium ? Processor-specific Application Binary Interface 639 640 Only the features of the processor instruction set may be assumed to be 641 present. An application is responsible for determining if any additional 642 instruction set features are available before using those additional features. 643 If a feature is not present, then the application may not use it. 644 645 Only instructions which do not require elevated privileges may be used. 646 647 Applications may not make system calls directly. The interfaces in the C 648 library must be used instead. 649 650 There are some features of the processor architecture that need not be 651 supported by a conforming implementation. These are described in this chapter. 652 A conforming application shall not rely on these features. 653 654 Applications conforming to this specification must provide feedback to the user 655 if a feature that is required for correct execution of the application is not 656 present. Applications conforming to this specification should attempt to 657 execute in a diminished capacity if a required feature is not present. 658 659 This specfication does not provide any performance guarantees of a conforming 660 system. A system conforming to this specification may be implemented in either 661 hardware or software. 662 663 This specification describes only LP64 (i.e. 32-bit integers, 64-bit longs and 664 pointers) based implementations. Implementations may also provide ILP32 (32-bit 665 integers, longs, and pointers), but conforming applications shall not rely on 666 support for ILP32. See section 1.2 of the Intel Itanium ? Processor-specific 667 Application Binary Interface for further information. 668 669 ------------------------------------------------------------------------------- 670 671 Data Representation 672 673 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 4. 674 675 Within this specification, the term byte refers to an 8-bit object, the term 676 halfword refers to a 16-bit object, the term word refers to a 32-bit object, 677 the term doubleword refers to a 64-bit object, and the term quadword refers to 678 a 128-bit object. Although the architecture also supports 120-bit addressable 679 objects, this specification does not require LSB-conforming implementations to 680 provide support for these objects. 681 682 ------------------------------------------------------------------------------- 683 684 Byte Ordering 685 686 LSB-conforming applications shall use little-endian byte ordering. 687 LSB-conforming implementations may support big-endian applications. 688 689 ------------------------------------------------------------------------------- 690 691 Fundamental Types 692 693 Table 2-1 describes how fundemental C language data types shall be represented: 694 695 Table 1-1. Scalar Types 696 697 +-------------------------------------------------------------------------+ 698 | Type | C |sizeof|Alignment (bytes)| Notes | 699 |--------------+------------------+------+-----------------+--------------| 700 | |char | | | | 701 | |------------------| | | | 702 | |signed char |1 |1 | | 703 | |------------------| | | | 704 | |unsigned char | | | | 705 | |------------------+------+-----------------+--------------| 706 | |short | | | | 707 | |------------------| | | | 708 | |signed short |2 |2 | | 709 | |------------------| | | | 710 | |unsigned short | | | | 711 | |------------------+------+-----------------+--------------| 712 | |int | | | | 713 | |------------------| | | | 714 |Integral |signed int |4 |4 | | 715 | |------------------| | | | 716 | |unsigned int | | | | 717 | |------------------+------+-----------------+--------------| 718 | |long | | | | 719 | |------------------| | | | 720 | |signed long |8 |8 | | 721 | |------------------| | | | 722 | |unsigned long | | | | 723 | |------------------+------+-----------------+--------------| 724 | |long long | | | | 725 | |------------------| | | | 726 | |signed long long |8 |8 |See Note Below| 727 | |------------------| | | | 728 | |unsigned long long| | | | 729 |--------------+------------------+------+-----------------+--------------| 730 | |any-type * | | | | 731 |Pointer |------------------|8 |8 | | 732 | |any-type (*)() | | | | 733 |--------------+------------------+------+-----------------+--------------| 734 | |float |4 |4 | | 735 | |------------------+------+-----------------+--------------| 736 |Floating-Point|double |8 |8 | | 737 | |------------------+------+-----------------+--------------| 738 | |long double |16 |16 | | 739 +-------------------------------------------------------------------------+ 740 741 Note: Support for the long long data type is dependent on support for 742 ISO9899:1999 C language. This standard is not required for LSB-conformance, 743 but this data type is important when developing applications for the 744 architecture. The GNU Compiler Collection (gcc) includes support for long 745 long of ISO9899:1999. 746 747 A null pointer (for all types) shall have the value zero. 748 749 ------------------------------------------------------------------------------- 750 751 Aggregates and Unions 752 753 Aggregates (structures and arrays) and unions assume the alignment of their 754 most strictly aligned component. The size of any object, including aggregates 755 and unions, shall always be a multiple of the object's alignment. An array uses 756 the same alignment as its elements. Structure and union objects may require 757 padding to meet size and element constraints. The contents of such padding is 758 undefined. 759 760 * An entire structure or union object shall be aligned on the same boundary 761 as its most strictly aligned member. 762 763 * Each member shall be assigned to the lowest available offset with the 764 appropriate alignment. This may require internal padding, depending on the 765 previous member. 766 767 * A structure's size shall be increased, if necessary, to make it a multiple 768 of the alignment. This may require tail padding, depending on the last 769 member. 770 771 A conforming application shall not read padding. 772 773 Figure 1-1. Structure Smaller Than A Word 774 775 +-------------------------+ 776 | struct { | 777 | char c; | 778 | } | 779 | | 780 | | 781 |-------------------------| 782 |Byte aligned, sizeof is 1| 783 +-------------------------+ 784 +-------------+ 785 |Offset|Byte 0| 786 |------+------| 787 |0 |c^0 | 788 +-------------+ 789 790 Figure 1-2. No Padding 791 792 +--------------------------------+ 793 | struct { | 794 | char c; | 795 | char d; | 796 | short s; | 797 | int i; | 798 | long l; | 799 | } | 800 | | 801 | | 802 |--------------------------------| 803 |Doubleword Aligned, sizeof is 16| 804 +--------------------------------+ 805 +--------------------------------------+ 806 |Offset|Byte 3|Byte 2|Byte 1|Byte 0||||| 807 |------+-------------+------+------++++| 808 |0 |s^2 |d^1 |c^0 ||||| 809 |------+---------------------------++++| 810 |4 |i^0 ||||| 811 |------+---------------------------++++| 812 |8 | ||||| 813 |------|l^0 |---| 814 |12 | | | 815 +--------------------------------------+ 816 817 Figure 1-3. Internal and Tail Padding 818 819 +--------------------------------+ 820 | struct { | 821 | char c; | 822 | long l; | 823 | int i; | 824 | short s; | 825 | } | 826 | | 827 | | 828 |--------------------------------| 829 |Doubleword Aligned, sizeof is 24| 830 +--------------------------------+ 831 +--------------------------------------+ 832 |Offset|Byte 3|Byte 2|Byte 1|Byte 0||||| 833 |------+--------------------+------++++| 834 |0 |pad^1 |c^0 ||||| 835 |------+---------------------------++++| 836 |4 |pad^1 ||||| 837 |------+---------------------------++++| 838 |8 | ||||| 839 |------|l^0 |---| 840 |12 | | | 841 |------+---------------------------+---| 842 |16 |i^0 ||||| 843 |------+---------------------------++++| 844 |20 |pad^2 |s^0 ||||| 845 +--------------------------------------+ 846 847 ------------------------------------------------------------------------------- 848 849 Bit Fields 850 851 C struct and union definitions may have bit-fields, which define integral 852 objects with a specified number of bits. 853 854 Bit fields that are declared with neither signed nor unsigned specifier shall 855 always be treated as unsigned. Bit fields obey the same size and alignment 856 rules as other structure and union members, with the following additional 857 properties: 858 859 * Bit-fields are allocated from right to left (least to most significant). 860 861 * A bit-field must entirely reside in a storage unit for its appropriate 862 type. A bit field shall never cross its unit boundary. 863 864 * Bit-fields may share a storage unit with other struct/union members, 865 including members that are not bit fields. Such other struct/union members 866 shall occupy different parts of the storage unit. 867 868 * The type of unnamed bit-fields shall not affect the alignment of a 869 structure or union, although individual bit-field member offsets shall obey 870 the alignment constraints. 871 872 Figure 1-4. Bit-Field Ranges 873 874 +--------------------------------------+ 875 |Bit-field Type| Width | Range | 876 |--------------+-------+---------------| 877 |signed char | |-2^-1 to 2^-1-1| 878 |char | |0 to 2^-1 | 879 |unsigned char |1 to 8 |0 to 2^-1 | 880 | | | | 881 | | | | 882 |--------------+-------+---------------| 883 |signed short | |-2^-1 to 2^-1-1| 884 |short | |0 to 2^-1 | 885 |unsigned short|1 to 16|0 to 2^-1 | 886 | | | | 887 | | | | 888 |--------------+-------+---------------| 889 |signed int | |-2^-1 to 2^-1-1| 890 |int | |0 to 2^-1 | 891 |unsigned int |1 to 32|0 to 2^-1 | 892 | | | | 893 | | | | 894 |--------------+-------+---------------| 895 |signed long | |-2^-1 to 2^-1-1| 896 |long | |0 to 2^-1 | 897 |unsigned long |1 to 64|0 to 2^-1 | 898 | | | | 899 | | | | 900 +--------------------------------------+ 901 902 ------------------------------------------------------------------------------- 903 904 Chapter 2. Function Calling Sequence 905 906 LSB-conforming applications shall use the procedure linkage and function 907 calling sequence as defined in Chapter 8.4 of the Itanium ? Software 908 Conventions & Runtime Architecture Guide. 909 910 ------------------------------------------------------------------------------- 911 912 CPU Registers 913 914 The CPU general and other registers are as defined in the Itanium ? 915 Architecture Software Developer's Manual Volume 1: Application Architecture 916 Section 3.1. 917 918 ------------------------------------------------------------------------------- 919 920 Floating Point Registers 921 922 The floating point registers are as defined in the Itanium ? Architecture 923 Software Developer's Manual Volume 1: Application Architecture Section 3.1. 924 925 ------------------------------------------------------------------------------- 926 927 Stack Frame 928 929 The stackframe layout is as described in the Itanium ? Software Conventions & 930 Runtime Architecture Guide Chapter 8.4. 931 932 ------------------------------------------------------------------------------- 933 934 Arguments 935 936 The procedure argument passing mechanism is as described in the Itanium ? 937 Software Conventions & Runtime Architecture Guide Chapter 8.5. 938 939 ------------------------------------------------------------------------------- 940 941 Integral/Pointer 942 943 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.5. 944 945 ------------------------------------------------------------------------------- 946 947 Floating Point 948 949 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.5. 950 951 ------------------------------------------------------------------------------- 952 953 Struct and Union Point 954 955 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.5. 956 957 ------------------------------------------------------------------------------- 958 959 Variable Arguments 960 961 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.5.4. 962 963 ------------------------------------------------------------------------------- 964 965 Return Values 966 967 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.6. 968 969 ------------------------------------------------------------------------------- 970 971 Void 972 973 Functions that return no value (void functions) are not required to put any 974 particular value in any general register. 975 976 ------------------------------------------------------------------------------- 977 978 Integral/Pointer 979 980 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.6. 981 982 ------------------------------------------------------------------------------- 983 984 Floating Point 985 986 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.6. 987 988 ------------------------------------------------------------------------------- 989 990 Struct and Union 991 992 See Itanium ? Software Conventions & Runtime Architecture Guide Chapter 8.6 993 (aggregate return values). Depending on the size (including any padding), 994 aggregate data types may be passed in one or more general registers, or in 995 memory. 996 997 ------------------------------------------------------------------------------- 998 999 Chapter 3. Operating System Interface 1000 1001 LSB-conforming applications shall use the Operating System Interfaces as 1002 defined in Chapter 3 of the Intel Itanium ? Processor-specific Application 1003 Binary Interface. 1004 1005 ------------------------------------------------------------------------------- 1006 1007 Processor Execution Mode 1008 1009 Applications must assume that they will execute in the least privileged user 1010 mode (i.e. level 3). Other privilege levels are reserved for the Operating 1011 System. 1012 1013 ------------------------------------------------------------------------------- 1014 1015 Exception Interface 1016 1017 See Intel Itanium ? Processor-specific Application Binary Interface, section 1018 3.3.1. 1019 1020 ------------------------------------------------------------------------------- 1021 1022 Hardware Exception Types 1023 1024 See Intel Itanium ? Processor-specific Application Binary Interface, section 1025 3.3.1. 1026 1027 ------------------------------------------------------------------------------- 1028 1029 Software Trap Types 1030 1031 See Intel Itanium ? Processor-specific Application Binary Interface, section 1032 3.3.1. 1033 1034 ------------------------------------------------------------------------------- 1035 1036 Debugging Support 1037 1038 See Intel Itanium ? Processor-specific Application Binary Interface, section 1039 3.3.4. 1040 1041 ------------------------------------------------------------------------------- 1042 1043 Process Startup 1044 1045 See Intel Itanium ? Processor-specific Application Binary Interface, section 1046 3.3.5. 1047 1048 ------------------------------------------------------------------------------- 1049 1050 Signal Delivery 1051 1052 See Intel Itanium ? Processor-specific Application Binary Interface, section 1053 3.3.2. 1054 1055 ------------------------------------------------------------------------------- 1056 1057 Signal Handler Interface 1058 1059 See Intel Itanium ? Processor-specific Application Binary Interface, section 1060 3.3.3. 1061 1062 ------------------------------------------------------------------------------- 1063 1064 Chapter 4. Process Initialization 1065 1066 LSB-conforming applications shall use the Process Startup as defined in Section 1067 3.3.5 of the Intel Itanium ? Processor-specific Application Binary Interface. 1068 1069 ------------------------------------------------------------------------------- 1070 1071 Special Registers 1072 1073 Intel Itanium ? Processor-specific Application Binary Interface, section 1074 3.3.5, defines required register initializations for process startup. 1075 1076 ------------------------------------------------------------------------------- 1077 1078 Process Stack (on entry) 1079 1080 As defined in Intel Itanium ? Processor-specific Application Binary Interface, 1081 section 3.3.5, the return pointer register (rp) shall contain a valid return 1082 address, such that if the application program returns from the main entry 1083 routine, the implementation shall cause the application to exit normally, using 1084 the returned value as the exit status. Further, the unwind information for this 1085 "bottom of stack" routine in the implementation shall provide a mechanism for 1086 recognizing the bottom of the stack during a stack unwind. 1087 1088 ------------------------------------------------------------------------------- 1089 1090 Auxiliary Vector 1091 1092 The auxiliary vector conveys information from the operating system to the 1093 application. Only the terminating null auxiliary vector entry is required, but 1094 if any other entries are present, they shall be interpreted as follows. This 1095 vector is an array of the following structures. 1096 1097 typedef struct 1098 { 1099 long int a_type; /* Entry type */ 1100 union 1101 { 1102 long int a_val; /* Integer value */ 1103 void *a_ptr; /* Pointer value */ 1104 void (*a_fcn) (void); /* Function pointer value */ 1105 } a_un; 1106 } auxv_t; 1107 1108 The application shall interpret the a_un value according to the a_type. Other 1109 auxiliary vector types are reserved. 1110 1111 The a_type field shall contain one of the following values: 1112 1113 AT_NULL 1114 1115 The last entry in the array has type AT_NULL. The value in a_un is 1116 undefined. 1117 1118 AT_IGNORE 1119 1120 The value in a_un is undefined, and should be ignored. 1121 1122 AT_EXECFD 1123 1124 File descriptor of program 1125 1126 AT_PHDR 1127 1128 Program headers for program 1129 1130 AT_PHENT 1131 1132 Size of program header entry 1133 1134 AT_PHNUM 1135 1136 Number of program headers 1137 1138 AT_PAGESZ 1139 1140 System page size 1141 1142 AT_BASE 1143 1144 Base address of interpreter 1145 1146 AT_FLAGS 1147 1148 Flags 1149 1150 AT_ENTRY 1151 1152 Entry point of program 1153 1154 AT_NOTELF 1155 1156 Program is not ELF 1157 1158 AT_UID 1159 1160 Real uid 1161 1162 AT_EUID 1163 1164 Effective uid 1165 1166 AT_GID 1167 1168 Real gid 1169 1170 AT_EGID 1171 1172 Effective gid 1173 1174 AT_CLKTCK 1175 1176 Frequency of times() 1177 1178 AT_PLATFORM 1179 1180 String identifying platform. 1181 1182 AT_HWCAP 1183 1184 Machine dependent hints about processor capabilities. 1185 1186 AT_FPUCW 1187 1188 Used FPU control word 1189 1190 AT_DCACHEBSIZE 1191 1192 Data cache block size 1193 1194 AT_ICACHEBSIZE 1195 1196 Instruction cache block size 1197 1198 AT_UCACHEBSIZE 1199 1200 Unified cache block size 1201 1202 Note: The auxiliary vector is intended for passing information from the 1203 operating system to the program interpreter. 1204 1205 ------------------------------------------------------------------------------- 1206 1207 Environment 1208 1209 Although a pointer to the environment vector should be available as a third 1210 argument to the main entry point, conforming applications should use getenv to 1211 access the environment. (See ISO/IEC 9945:2003 Portable Operating System(POSIX) 1212 and The Single UNIX Specification(SUS) V3, Section exec). 1213 1214 ------------------------------------------------------------------------------- 1215 1216 Chapter 5. Coding Examples 1217 1218 LSB-conforming applications may implement fundamental operations using the 1219 Coding Examples as shown below. 1220 1221 Sample code sequences and coding conventions can be found in Itanium ? Software 1222 Conventions & Runtime Architecture Guide, Chapter 9. 1223 1224 ------------------------------------------------------------------------------- 1225 1226 Code Model Overview/Architecture Constraints 1227 1228 As defined in Intel Itanium ? Processor-specific Application Binary Interface, 1229 relocatable files, executable files, and shared object files that are supplied 1230 as part of an application must use Position Independent Code, as described in 1231 Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 12. 1232 1233 ------------------------------------------------------------------------------- 1234 1235 Position-Independent Function Prologue 1236 1237 See Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 8.4. 1238 1239 ------------------------------------------------------------------------------- 1240 1241 Data Objects 1242 1243 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1244 5.3.4, and Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 1245 12.3. 1246 1247 ------------------------------------------------------------------------------- 1248 1249 Absolute Load & Store 1250 1251 Conforming applications shall not use absolute addressing. 1252 1253 ------------------------------------------------------------------------------- 1254 1255 Position Relative Load & Store 1256 1257 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1258 5.3.4. 1259 1260 ------------------------------------------------------------------------------- 1261 1262 Function Calls 1263 1264 See Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 8.4. 1265 1266 Four types of procedure call are defined in Itanium ? Software Conventions & 1267 Runtime Architecture Guide, Chapter 8.3. Although special calling conventions 1268 are permitted, provided that the compiler and runtime library agree on these 1269 conventions, none are defined for this standard. Consequently, no application 1270 shall depend on a type of procedure call other than Direct Calls, Direct 1271 Dynamically Linked Calls, or Indirect Calls, as defined in Itanium ? Software 1272 Conventions & Runtime Architecture Guide, Chapter 8.3. 1273 1274 ------------------------------------------------------------------------------- 1275 1276 Absolute Direct Function Call 1277 1278 Conforming applications shall not use absolute addressing. 1279 1280 ------------------------------------------------------------------------------- 1281 1282 Absolute Indirect Function Call 1283 1284 Conforming applications shall not use absolute addressing. 1285 1286 ------------------------------------------------------------------------------- 1287 1288 Position-Independent Direct Function Call 1289 1290 See Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 8.4.1. 1291 1292 ------------------------------------------------------------------------------- 1293 1294 Position-Independent Indirect Function Call 1295 1296 See Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 8.4.2. 1297 1298 ------------------------------------------------------------------------------- 1299 1300 Branching 1301 1302 Branching is described in IA-64 Processor Reference: Intel Itanium ? Processor 1303 Reference Manual for Software Development, Chapter 4.5. 1304 1305 ------------------------------------------------------------------------------- 1306 1307 Branch Instruction 1308 1309 See IA-64 Processor Reference: Intel Itanium ? Processor Reference Manual for 1310 Software Development, Chapter 4.5. 1311 1312 ------------------------------------------------------------------------------- 1313 1314 Absolute switch() code 1315 1316 Conforming applications shall not use absolute addressing. 1317 1318 ------------------------------------------------------------------------------- 1319 1320 Position-Independent switch() code 1321 1322 Where there are several possible targets for a branch, the compiler may use a 1323 number of different code generation strategies. See Itanium ? Software 1324 Conventions & Runtime Architecture Guide, Chapter 9.1.7. 1325 1326 ------------------------------------------------------------------------------- 1327 1328 Chapter 6. C Stack Frame 1329 1330 Variable Argument List 1331 1332 See Itanium ? Software Conventions & Runtime Architecture Guide, Chapter 8.5.2, 1333 and 8.5.4. 1334 1335 ------------------------------------------------------------------------------- 1336 1337 Dynamic Allocation of Stack Space 1338 1339 The C library alloca function should be used to dynamically allocate stack 1340 space. 1341 1342 ------------------------------------------------------------------------------- 1343 1344 Chapter 7. Debug Information 1345 1346 The LSB does not currently specify the format of Debug information. 1347 1348 II. Object Format 1349 1350 LSB-conforming implementations shall support an object file , called Executable 1351 and Linking Format (ELF) as defined by the System V Application Binary 1352 Interface, Edition 4.1, Intel Itanium ? Processor-specific Application Binary 1353 Interface and as supplemented by the Linux Standard Base Specification and this 1354 document. 1355 1356 Table of Contents 1357 8. ELF Header 1358 9. Sections 1359 10. Symbol Table 1360 11. Relocation 1361 1362 ------------------------------------------------------------------------------- 1363 1364 Chapter 8. ELF Header 1365 1366 Machine Information 1367 1368 LSB-conforming applications shall use the Machine Information as defined in 1369 Intel Itanium ? Processor-specific Application Binary Interface, Chapter 4. 1370 Implementations shall support the LP64 model. It is unspecified whether or not 1371 the ILP32 model shall also be supported. 1372 1373 ------------------------------------------------------------------------------- 1374 1375 File Class 1376 1377 For LP64 relocatable objects, the file class value in e_ident[EI_CLASS] may be 1378 either ELFCLASS32 or ELFCLASS64, and a conforming linker must be able to 1379 process either or both classes. 1380 1381 ------------------------------------------------------------------------------- 1382 1383 Data Encoding 1384 1385 Implementations shall support 2's complement, little endian data encoding. The 1386 data encoding value in e_ident[EI_DATA] shall contain the value ELFDATA2LSB. 1387 1388 ------------------------------------------------------------------------------- 1389 1390 OS Identification 1391 1392 The OS Identification field e_ident[EI_OSABI] shall contain the value 1393 ELFOSABI_LINUX. 1394 1395 ------------------------------------------------------------------------------- 1396 1397 Processor Identification 1398 1399 The processor identification value held in e_machine shall contain the value 1400 EM_IA_64. 1401 1402 ------------------------------------------------------------------------------- 1403 1404 Processor Specific Flags 1405 1406 The flags field e_flags shall be as described in Intel Itanium ? 1407 Processor-specific Application Binary Interface, Chapter 4.1.1.6. 1408 1409 The following additional processor-specific flags are defined: 1410 1411 Table 8-1. Additional Processor-Specific Flags 1412 1413 +------------------------------------------+ 1414 | Name | Value | 1415 |-------------------------------+----------| 1416 |EF_IA_64_LINUX_EXECUTABLE_STACK|0x00000001| 1417 +------------------------------------------+ 1418 1419 EF_IA_64_LINUX_EXECUTABLE_STACK 1420 1421 The stack and heap sections are executable. If this flag is not set, code 1422 can not be executed from the stack or heap. 1423 1424 ------------------------------------------------------------------------------- 1425 1426 Chapter 9. Sections 1427 1428 The architecture defines two processor-specific section types, as described in 1429 Intel Itanium ? Processor-specific Application Binary Interface, Chapter 4. 1430 1431 ------------------------------------------------------------------------------- 1432 1433 Special Sections 1434 1435 The following sections are defined in the Intel Itanium ? Processor-specific 1436 Application Binary Interface. 1437 1438 Table 9-1. ELF Special Sections 1439 1440 +-----------------------------------------------------------------------+ 1441 | Name | Type | Attributes | 1442 |------------------+----------------+-----------------------------------| 1443 |.got |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE+SHF_IA_64_SHORT| 1444 |------------------+----------------+-----------------------------------| 1445 |.IA_64.archext |SHT_IA_64_EXT |0 | 1446 |------------------+----------------+-----------------------------------| 1447 |.IA_64.pltoff |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE+SHF_IA_64_SHORT| 1448 |------------------+----------------+-----------------------------------| 1449 |.IA_64.unwind |SHT_IA_64_UNWIND|SHF_ALLOC+SHF_LINK_ORDER | 1450 |------------------+----------------+-----------------------------------| 1451 |.IA_64.unwind_info|SHT_PROGBITS |SHF_ALLOC | 1452 |------------------+----------------+-----------------------------------| 1453 |.plt |SHT_PROGBITS |SHF_ALLOC+SHF_EXECINSTR | 1454 |------------------+----------------+-----------------------------------| 1455 |.sbss |SHT_NOBITS |SHF_ALLOC+SHF_WRITE | 1456 |------------------+----------------+-----------------------------------| 1457 |.sdata |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE+SHF_IA_64_SHORT| 1458 |------------------+----------------+-----------------------------------| 1459 |.sdata1 |SHT_PROGBITS |SHF_ALLOC+SHF_WRITE+SHF_IA_64_SHORT| 1460 +-----------------------------------------------------------------------+ 1461 1462 .got 1463 1464 This section holds the Global Offset Table. See `Coding Examples' in 1465 Chapter 3, `Special Sections' in Chapter 4, and `Global Offset Table' in 1466 Chapter 5 of the processor supplement for more information. 1467 1468 .IA_64.archext 1469 1470 This section holds product-specific extension bits. The link editor will 1471 perform a logical "or" of the extension bits of each object when creating 1472 an executable so that it creates only a single .IA_64.archext section in 1473 the executable. 1474 1475 .IA_64.pltoff 1476 1477 This section holds local function descriptor entries. 1478 1479 .IA_64.unwind 1480 1481 This section holds the unwind function table. The contents are described in 1482 the Intel (r) Itanium (tm) Processor Specific ABI. 1483 1484 .IA_64.unwind_info 1485 1486 This section holds stack unwind and and exception handling information. The 1487 exception handling information is programming language specific, and is 1488 unspecified. 1489 1490 .plt 1491 1492 This section holds the Procedure Linkage Table. 1493 1494 .sbss 1495 1496 This section holds uninitialized data that contribute to the program''s 1497 memory image. Data objects contained in this section are recommended to be 1498 eight bytes or less in size. The system initializes the data with zeroes 1499 when the program begins to run. The section occupies no file space, as 1500 indicated by the section type SHT_NOBITS. The .sbss section is placed so it 1501 may be accessed using short direct addressing (22 bit offset from gp). 1502 1503 .sdata 1504 1505 This section and the .sdata1 section hold initialized data that contribute 1506 to the program''s memory image. Data objects contained in this section are 1507 recommended to be eight bytes or less in size. The .sdata and .sdata1 1508 sections are placed so they may be accessed using short direct addressing 1509 (22 bit offset from gp). 1510 1511 .sdata1 1512 1513 See .sdata. 1514 1515 1516 1517 ------------------------------------------------------------------------------- 1518 1519 Linux Special Sections 1520 1521 The following Linux IA-64 specific sections are defined here. 1522 1523 Table 9-2. Additional Special Sections 1524 1525 +------------------------------------------+ 1526 | Name | Type |Attributes| 1527 |------------------+------------+----------| 1528 |.opd |SHT_PROGBITS|SHF_ALLOC | 1529 |------------------+------------+----------| 1530 |.rela.dyn |SHT_RELA |SHF_ALLOC | 1531 |------------------+------------+----------| 1532 |.rela.IA_64.pltoff|SHT_RELA |SHF_ALLOC | 1533 +------------------------------------------+ 1534 1535 .opd 1536 1537 This section holds function descriptors 1538 1539 .rela.dyn 1540 1541 This section holds relocation information, as described in `Relocation'. 1542 These relocations are applied to the .dyn section. 1543 1544 .rela.IA_64.pltoff 1545 1546 This section holds relocation information, as described in `Relocation'. 1547 These relocations are applied to the .IA_64.pltoff section. 1548 1549 1550 1551 ------------------------------------------------------------------------------- 1552 1553 Section Types 1554 1555 Section Types are described in the Intel Itanium ? Processor-specific 1556 Application Binary Interface, Chapter 4.2. LSB conforming implementations are 1557 not required to use any sections in the range from SHT_IA_64_LOPSREG to 1558 SHT_IA_64_HIPSREG. Additionally, LSB conforming implementations are not 1559 required to support the SHT_IA_64_PRIORITY_INIT section, beyond the gABI 1560 requirements for the handling of unrecognized section types, linking them into 1561 a contiguous section in the object file created by the static linker. 1562 1563 ------------------------------------------------------------------------------- 1564 1565 Section Attribute Flags 1566 1567 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1568 4.2.2. 1569 1570 ------------------------------------------------------------------------------- 1571 1572 Special Section Types 1573 1574 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1575 4.2.3. 1576 1577 ------------------------------------------------------------------------------- 1578 1579 Chapter 10. Symbol Table 1580 1581 If an executable file contains a reference to a function defined in one of its 1582 associated shared objects, the symbol table section for that file shall contain 1583 an entry for that symbol. The st_shndx member of that symbol table entry 1584 contains SHN_UNDEF. This signals to the dynamic linker that the symbol 1585 definition for that function is not contained in the executable file itself. If 1586 that symbol has been allocated a procedure linkage table entry in the 1587 executable file, and the st_value member for that symbol table entry is 1588 non-zero, the value shall contain the virtual address of the first instruction 1589 of that procedure linkage table entry. Otherwise, the st_value member contains 1590 zero. This procedure linkage table entry address is used by the dynamic linker 1591 in resolving references to the address of the function. 1592 1593 1594 Note: Need to add something here about st_info and st_other ... 1595 1596 ------------------------------------------------------------------------------- 1597 1598 Chapter 11. Relocation 1599 1600 LSB-conforming applications shall use Relocations as defined in Intel Itanium 1601 ? Processor-specific Application Binary Interface, Chapter 4.3. 1602 1603 ------------------------------------------------------------------------------- 1604 1605 Relocation Types 1606 1607 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1608 4.3. 1609 1610 III. Program Loading and Dynamic Linking 1611 1612 LSB-conforming implementations shall support the object file information and 1613 system actions that create running programs as specified in the System V 1614 Application Binary Interface, Edition 4.1, Intel Itanium ? Processor-specific 1615 Application Binary Interface and as supplemented by the Linux Standard Base 1616 Specification and this document. 1617 1618 Table of Contents 1619 12. Program Header 1620 13. Program Loading 1621 14. Dynamic Linking 1622 1623 ------------------------------------------------------------------------------- 1624 1625 Chapter 12. Program Header 1626 1627 The program header shall be as defined in the Intel Itanium ? 1628 Processor-specific Application Binary Interface, Chapter 5. 1629 1630 ------------------------------------------------------------------------------- 1631 1632 Types 1633 1634 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1635 5.1. 1636 1637 ------------------------------------------------------------------------------- 1638 1639 Flags 1640 1641 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1642 5.1. 1643 1644 ------------------------------------------------------------------------------- 1645 1646 Chapter 13. Program Loading 1647 1648 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1649 5.2. 1650 1651 ------------------------------------------------------------------------------- 1652 1653 Chapter 14. Dynamic Linking 1654 1655 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1656 5.3. 1657 1658 ------------------------------------------------------------------------------- 1659 1660 Dynamic Entries 1661 1662 ELF Dynamic Entries 1663 1664 The following dynamic entries are defined in the Intel Itanium ? 1665 Processor-specific Application Binary Interface, Chapter 5.3.2. 1666 1667 DT_PLTGOT 1668 1669 This entry's d_ptr member gives the address of the first byte in the 1670 procedure linkage table 1671 1672 1673 1674 ------------------------------------------------------------------------------- 1675 1676 Additional Dynamic Entries 1677 1678 The following dynamic entries are defined here. 1679 1680 DT_RELACOUNT 1681 1682 The number of relative relocations in .rela.dyn 1683 1684 1685 1686 ------------------------------------------------------------------------------- 1687 1688 Global Offset Table 1689 1690 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1691 5.3.4. 1692 1693 ------------------------------------------------------------------------------- 1694 1695 Shared Object Dependencies 1696 1697 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1698 5.3.3. 1699 1700 ------------------------------------------------------------------------------- 1701 1702 Function Addresses 1703 1704 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1705 5.3.5. 1706 1707 ------------------------------------------------------------------------------- 1708 1709 Procedure Linkage Table 1710 1711 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1712 5.3.6. 1713 1714 ------------------------------------------------------------------------------- 1715 1716 Initialization and Termination Functions 1717 1718 See Intel Itanium ? Processor-specific Application Binary Interface, Chapter 1719 5.3.7. 1720 1721 Linux Standard Base Specification 1722 1723 ------------------------------------------------------------------------------- 1724 1725 Table of Contents 1726 I. Base Libraries 1727 1728 1. Libraries 1729 1730 Program Interpreter/Dynamic Linker 1731 Interfaces for libc 1732 Data Definitions for libc 1733 Interfaces for libm 1734 Interfaces for libpthread 1735 Interfaces for libgcc_s 1736 Interface Definitions for libgcc_s 1737 Interfaces for libdl 1738 Interfaces for libcrypt 1739 1740 II. Utility Libraries 1741 1742 2. Libraries 1743 1744 Interfaces for libz 1745 Interfaces for libncurses 1746 Interfaces for libutil 1747 1748 A. Alphabetical Listing of Interfaces 1749 1750 libgcc_s 1751 1752 List of Tables 1753 1-1. libc Definition 1754 1-2. libc - RPC Function Interfaces 1755 1-3. libc - System Calls Function Interfaces 1756 1-4. libc - Standard I/O Function Interfaces 1757 1-5. libc - Standard I/O Data Interfaces 1758 1-6. libc - Signal Handling Function Interfaces 1759 1-7. libc - Signal Handling Data Interfaces 1760 1-8. libc - Localization Functions Function Interfaces 1761 1-9. libc - Localization Functions Data Interfaces 1762 1-10. libc - Socket Interface Function Interfaces 1763 1-11. libc - Socket Interface Deprecated Function Interfaces 1764 1-12. libc - Wide Characters Function Interfaces 1765 1-13. libc - String Functions Function Interfaces 1766 1-14. libc - IPC Functions Function Interfaces 1767 1-15. libc - Regular Expressions Function Interfaces 1768 1-16. libc - Regular Expressions Deprecated Function Interfaces 1769 1-17. libc - Regular Expressions Deprecated Data Interfaces 1770 1-18. libc - Character Type Functions Function Interfaces 1771 1-19. libc - Time Manipulation Function Interfaces 1772 1-20. libc - Time Manipulation Deprecated Function Interfaces 1773 1-21. libc - Time Manipulation Data Interfaces 1774 1-22. libc - Terminal Interface Functions Function Interfaces 1775 1-23. libc - System Database Interface Function Interfaces 1776 1-24. libc - Language Support Function Interfaces 1777 1-25. libc - Large File Support Function Interfaces 1778 1-26. libc - Standard Library Function Interfaces 1779 1-27. libc - Standard Library Data Interfaces 1780 1-28. libm Definition 1781 1-29. libm - Math Function Interfaces 1782 1-30. libm - Math Data Interfaces 1783 1-31. libpthread Definition 1784 1-32. libpthread - Posix Threads Function Interfaces 1785 1-33. libgcc_s Definition 1786 1-34. libgcc_s - Unwind Library Function Interfaces 1787 1-35. libdl Definition 1788 1-36. libdl - Dynamic Loader Function Interfaces 1789 1-37. libcrypt Definition 1790 1-38. libcrypt - Encryption Function Interfaces 1791 2-1. libz Definition 1792 2-2. libncurses Definition 1793 2-3. libutil Definition 1794 2-4. libutil - Utility Functions Function Interfaces 1795 A-1. libgcc_s Function Interfaces 1796 1797 I. Base Libraries 1798 1799 Table of Contents 1800 1. Libraries 1801 1802 ------------------------------------------------------------------------------- 1803 1804 Chapter 1. Libraries 1805 1806 An LSB-conforming implementation shall support base libraries which provide 1807 interfaces for accessing the operating system, processor and other hardware in 1808 the system. 1809 1810 Only those interfaces that are unique to the Itanium? platform are defined 1811 here. This section should be used in conjunction with the corresponding section 1812 in the Linux Standard Base Specification. 1813 1814 ------------------------------------------------------------------------------- 1815 1816 Program Interpreter/Dynamic Linker 1817 1818 The LSB specifies the Program Interpreter to be /lib/ld-lsb-ia64.so.2. 1819 1820 ------------------------------------------------------------------------------- 1821 1822 Interfaces for libc 1823 1824 Table 1-1 defines the library name and shared object name for the libc library 1825 1826 Table 1-1. libc Definition 1827 1828 +---------------------+ 1829 |Library:|libc | 1830 |--------+------------| 1831 |SONAME: |libc.so.6.1 | 1832 +---------------------+ 1833 1834 The behavior of the interfaces in this library is specified by the following 1835 specifications: 1836 1837 Large File Support 1838 Linux Standard Base 1839 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 1840 (ISBN: 1-85912-181-0, C606) 1841 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 1842 Specification(SUS) V3 1843 System V Interface Definition, Issue 3 (ISBN 0201566524) 1844 System V Interface Definition,Fourth Edition 1845 1846 ------------------------------------------------------------------------------- 1847 1848 RPC 1849 1850 ------------------------------------------------------------------------------- 1851 1852 Interfaces for RPC 1853 1854 An LSB conforming implementation shall provide the architecture specific 1855 functions for RPC specified in Table 1-2, with the full functionality as 1856 described in the referenced underlying specification. 1857 1858 Table 1-2. libc - RPC Function Interfaces 1859 1860 +----------------------------------------------------------------------------------------+ 1861 |authnone_create |pmap_unset |svcerr_weakauth |xdr_float |xdr_u_char | 1862 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1863 | | | | |[3] | 1864 |------------------+----------------+------------------+------------------+--------------| 1865 |clnt_create |setdomainname |svctcp_create |xdr_free |xdr_u_int | 1866 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1867 | | | | |[2] | 1868 |------------------+----------------+------------------+------------------+--------------| 1869 |clnt_pcreateerror |svc_getreqset |svcudp_create |xdr_int(GLIBC_2.2)|xdr_u_long | 1870 |(GLIBC_2.2) [1] |(GLIBC_2.2) [3] |(GLIBC_2.2) [2] |[3] |(GLIBC_2.2) | 1871 | | | | |[3] | 1872 |------------------+----------------+------------------+------------------+--------------| 1873 |clnt_perrno |svc_register |xdr_accepted_reply|xdr_long |xdr_u_short | 1874 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1875 | | | | |[3] | 1876 |------------------+----------------+------------------+------------------+--------------| 1877 |clnt_perror |svc_run |xdr_array |xdr_opaque |xdr_union | 1878 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1879 | | | | |[3] | 1880 |------------------+----------------+------------------+------------------+--------------| 1881 |clnt_spcreateerror|svc_sendreply |xdr_bool |xdr_opaque_auth |xdr_vector | 1882 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1883 | | | | |[3] | 1884 |------------------+----------------+------------------+------------------+--------------| 1885 |clnt_sperrno |svcerr_auth |xdr_bytes |xdr_pointer |xdr_void | 1886 |(GLIBC_2.2) [1] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1887 | | | | |[3] | 1888 |------------------+----------------+------------------+------------------+--------------| 1889 |clnt_sperror |svcerr_decode |xdr_callhdr |xdr_reference |xdr_wrapstring| 1890 |(GLIBC_2.2) [1] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1891 | | | | |[3] | 1892 |------------------+----------------+------------------+------------------+--------------| 1893 |getdomainname |svcerr_noproc |xdr_callmsg |xdr_rejected_reply|xdrmem_create | 1894 |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1895 | | | | |[3] | 1896 |------------------+----------------+------------------+------------------+--------------| 1897 |key_decryptsession|svcerr_noprog |xdr_char |xdr_replymsg |xdrrec_create | 1898 |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1899 | | | | |[3] | 1900 |------------------+----------------+------------------+------------------+--------------| 1901 |pmap_getport |svcerr_progvers |xdr_double |xdr_short |xdrrec_eof | 1902 |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) | 1903 | | | | |[3] | 1904 |------------------+----------------+------------------+------------------+--------------| 1905 |pmap_set |svcerr_systemerr|xdr_enum |xdr_string | | 1906 |(GLIBC_2.2) [2] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] |(GLIBC_2.2) [3] | | 1907 +----------------------------------------------------------------------------------------+ 1908 1909 Referenced Specification(s) 1910 1911 [1]. System V Interface Definition,Fourth Edition 1912 1913 [2]. Linux Standard Base 1914 1915 [3]. System V Interface Definition, Issue 3 (ISBN 0201566524) 1916 1917 ------------------------------------------------------------------------------- 1918 1919 System Calls 1920 1921 ------------------------------------------------------------------------------- 1922 1923 Interfaces for System Calls 1924 1925 An LSB conforming implementation shall provide the architecture specific 1926 functions for System Calls specified in Table 1-3, with the full functionality 1927 as described in the referenced underlying specification. 1928 1929 Table 1-3. libc - System Calls Function Interfaces 1930 1931 +-----------------------------------------------------------------------------+ 1932 |__fxstat |fchmod |getwd | |setrlimit | 1933 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |read(GLIBC_2.2) [2] |(GLIBC_2.2) | 1934 |[1] |[2] |[2] | |[2] | 1935 |------------+-------------+-------------+----------------------+-------------| 1936 |__getpgid |fchown |initgroups | |setrlimit64 | 1937 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |readdir(GLIBC_2.2) [2]|(GLIBC_2.2) | 1938 |[1] |[2] |[1] | |[3] | 1939 |------------+-------------+-------------+----------------------+-------------| 1940 |__lxstat |fcntl |ioctl |readdir_r(GLIBC_2.2) |setsid | 1941 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 1942 |[1] |[1] |[1] | |[2] | 1943 |------------+-------------+-------------+----------------------+-------------| 1944 |__xmknod |fdatasync |kill |readlink(GLIBC_2.2) |setuid | 1945 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 1946 |[1] |[2] |[1] | |[2] | 1947 |------------+-------------+-------------+----------------------+-------------| 1948 |__xstat |flock |killpg | |sleep | 1949 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |readv(GLIBC_2.2) [2] |(GLIBC_2.2) | 1950 |[1] |[1] |[2] | |[2] | 1951 |------------+-------------+-------------+----------------------+-------------| 1952 |access |fork |lchown | |statvfs | 1953 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |rename(GLIBC_2.2) [2] |(GLIBC_2.2) | 1954 |[2] |[2] |[2] | |[2] | 1955 |------------+-------------+-------------+----------------------+-------------| 1956 |acct |fstatvfs |link | |stime | 1957 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |rmdir(GLIBC_2.2) [2] |(GLIBC_2.2) | 1958 |[1] |[2] |[2] | |[1] | 1959 |------------+-------------+-------------+----------------------+-------------| 1960 |alarm |fsync |lockf | |symlink | 1961 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |sbrk(GLIBC_2.2) [4] |(GLIBC_2.2) | 1962 |[2] |[2] |[2] | |[2] | 1963 |------------+-------------+-------------+----------------------+-------------| 1964 |brk |ftime |lseek |sched_get_priority_max|sync | 1965 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1966 |[4] |[2] |[2] | |[2] | 1967 |------------+-------------+-------------+----------------------+-------------| 1968 |chdir |ftruncate |mkdir |sched_get_priority_min|sysconf | 1969 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1970 |[2] |[2] |[2] | |[2] | 1971 |------------+-------------+-------------+----------------------+-------------| 1972 |chmod |getcontext |mkfifo |sched_getparam |time | 1973 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1974 |[2] |[2] |[2] | |[2] | 1975 |------------+-------------+-------------+----------------------+-------------| 1976 |chown |getegid |mlock |sched_getscheduler |times | 1977 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1978 |[2] |[2] |[2] | |[2] | 1979 |------------+-------------+-------------+----------------------+-------------| 1980 |chroot |geteuid |mlockall |sched_rr_get_interval |truncate | 1981 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1982 |[4] |[2] |[2] | |[2] | 1983 |------------+-------------+-------------+----------------------+-------------| 1984 |clock |getgid |mmap |sched_setparam |ulimit | 1985 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1986 |[2] |[2] |[2] | |[2] | 1987 |------------+-------------+-------------+----------------------+-------------| 1988 |close |getgroups |mprotect |sched_setscheduler |umask | 1989 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) | 1990 |[2] |[2] |[2] | |[2] | 1991 |------------+-------------+-------------+----------------------+-------------| 1992 |closedir |getitimer |msync |sched_yield(GLIBC_2.2)|uname | 1993 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 1994 |[2] |[2] |[2] | |[2] | 1995 |------------+-------------+-------------+----------------------+-------------| 1996 |creat |getloadavg |munlock | |unlink | 1997 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |select(GLIBC_2.2) [2] |(GLIBC_2.2) | 1998 |[1] |[1] |[2] | |[1] | 1999 |------------+-------------+-------------+----------------------+-------------| 2000 |dup |getpagesize |munlockall |setcontext(GLIBC_2.2) |utime | 2001 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 2002 |[2] |[4] |[2] | |[2] | 2003 |------------+-------------+-------------+----------------------+-------------| 2004 |dup2 |getpgid |munmap | |utimes | 2005 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |setegid(GLIBC_2.2) [2]|(GLIBC_2.2) | 2006 |[2] |[2] |[2] | |[2] | 2007 |------------+-------------+-------------+----------------------+-------------| 2008 |execl |getpgrp |nanosleep | |vfork | 2009 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |seteuid(GLIBC_2.2) [2]|(GLIBC_2.2) | 2010 |[2] |[2] |[2] | |[2] | 2011 |------------+-------------+-------------+----------------------+-------------| 2012 |execle |getpid |nice | |wait | 2013 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |setgid(GLIBC_2.2) [2] |(GLIBC_2.2) | 2014 |[2] |[2] |[2] | |[2] | 2015 |------------+-------------+-------------+----------------------+-------------| 2016 |execlp |getppid |open |setitimer(GLIBC_2.2) |wait3 | 2017 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 2018 |[2] |[2] |[1] | |[1] | 2019 |------------+-------------+-------------+----------------------+-------------| 2020 |execv |getpriority |opendir | |wait4 | 2021 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |setpgid(GLIBC_2.2) [2]|(GLIBC_2.2) | 2022 |[2] |[2] |[2] | |[1] | 2023 |------------+-------------+-------------+----------------------+-------------| 2024 |execve |getrlimit |pathconf | |waitpid | 2025 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |setpgrp(GLIBC_2.2) [2]|(GLIBC_2.2) | 2026 |[2] |[2] |[2] | |[1] | 2027 |------------+-------------+-------------+----------------------+-------------| 2028 |execvp |getrusage |pause |setpriority(GLIBC_2.2)|write | 2029 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 2030 |[2] |[2] |[2] | |[2] | 2031 |------------+-------------+-------------+----------------------+-------------| 2032 |exit |getsid |pipe |setregid(GLIBC_2.2) |writev | 2033 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) | 2034 |[2] |[2] |[2] | |[2] | 2035 |------------+-------------+-------------+----------------------+-------------| 2036 |fchdir |getuid |poll |setreuid(GLIBC_2.2) | | 2037 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |[2] | | 2038 |[2] |[2] |[2] | | | 2039 +-----------------------------------------------------------------------------+ 2040 2041 Referenced Specification(s) 2042 2043 [1]. Linux Standard Base 2044 2045 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2046 Specification(SUS) V3 2047 2048 [3]. Large File Support 2049 2050 [4]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2051 5 (ISBN: 1-85912-181-0, C606) 2052 2053 ------------------------------------------------------------------------------- 2054 2055 Standard I/O 2056 2057 ------------------------------------------------------------------------------- 2058 2059 Interfaces for Standard I/O 2060 2061 An LSB conforming implementation shall provide the architecture specific 2062 functions for Standard I/O specified in Table 1-4, with the full functionality 2063 as described in the referenced underlying specification. 2064 2065 Table 1-4. libc - Standard I/O Function Interfaces 2066 2067 +-----------------------------------------------------------------------------+ 2068 |_IO_feof |fgetpos |fsetpos |putchar |sscanf | 2069 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2070 | | | | |[2] | 2071 |---------------+---------------+----------------+----------------+-----------| 2072 |_IO_getc |fgets |ftell(GLIBC_2.2)|putchar_unlocked|telldir | 2073 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|[2] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2074 | | | | |[2] | 2075 |---------------+---------------+----------------+----------------+-----------| 2076 |_IO_putc |fgetwc_unlocked|ftello |puts(GLIBC_2.2) |tempnam | 2077 |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]|(GLIBC_2.2) [2] |[2] |(GLIBC_2.2)| 2078 | | | | |[2] | 2079 |---------------+---------------+----------------+----------------+-----------| 2080 |_IO_puts |fileno |fwrite |putw(GLIBC_2.2) |ungetc | 2081 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |[3] |(GLIBC_2.2)| 2082 | | | | |[2] | 2083 |---------------+---------------+----------------+----------------+-----------| 2084 |asprintf |flockfile |getc(GLIBC_2.2) |remove |vasprintf | 2085 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|[2] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2086 | | | | |[1] | 2087 |---------------+---------------+----------------+----------------+-----------| 2088 |clearerr |fopen |getc_unlocked |rewind |vdprintf | 2089 |(GLIBC_2.2) [2]|(GLIBC_2.2) [1]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2090 | | | | |[1] | 2091 |---------------+---------------+----------------+----------------+-----------| 2092 |ctermid |fprintf |getchar |rewinddir |vfprintf | 2093 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2094 | | | | |[2] | 2095 |---------------+---------------+----------------+----------------+-----------| 2096 |fclose |fputc |getchar_unlocked|scanf(GLIBC_2.2)|vprintf | 2097 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |[2] |(GLIBC_2.2)| 2098 | | | | |[2] | 2099 |---------------+---------------+----------------+----------------+-----------| 2100 |fdopen |fputs |getw(GLIBC_2.2) |seekdir |vsnprintf | 2101 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|[3] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2102 | | | | |[2] | 2103 |---------------+---------------+----------------+----------------+-----------| 2104 |feof(GLIBC_2.2)|fread |pclose |setbuf |vsprintf | 2105 |[2] |(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2)| 2106 | | | | |[2] | 2107 |---------------+---------------+----------------+----------------+-----------| 2108 |ferror |freopen |popen(GLIBC_2.2)|setbuffer | | 2109 |(GLIBC_2.2) [2]|(GLIBC_2.2) [1]|[2] |(GLIBC_2.2) [1] | | 2110 |---------------+---------------+----------------+----------------+-----------| 2111 |fflush |fscanf |printf |setvbuf | | 2112 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | | 2113 |---------------+---------------+----------------+----------------+-----------| 2114 |fflush_unlocked|fseek |putc(GLIBC_2.2) |snprintf | | 2115 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|[2] |(GLIBC_2.2) [2] | | 2116 |---------------+---------------+----------------+----------------+-----------| 2117 |fgetc |fseeko |putc_unlocked |sprintf | | 2118 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | | 2119 +-----------------------------------------------------------------------------+ 2120 2121 Referenced Specification(s) 2122 2123 [1]. Linux Standard Base 2124 2125 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2126 Specification(SUS) V3 2127 2128 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2129 5 (ISBN: 1-85912-181-0, C606) 2130 2131 An LSB conforming implementation shall provide the architecture specific data 2132 interfaces for Standard I/O specified in Table 1-5, with the full functionality 2133 as described in the referenced underlying specification. 2134 2135 Table 1-5. libc - Standard I/O Data Interfaces 2136 2137 +--------------------------------------------------------------------+ 2138 |stderr(GLIBC_2.2) [1]|stdin(GLIBC_2.2) [1]|stdout(GLIBC_2.2) [1]| | | 2139 +--------------------------------------------------------------------+ 2140 2141 Referenced Specification(s) 2142 2143 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2144 Specification(SUS) V3 2145 2146 ------------------------------------------------------------------------------- 2147 2148 Signal Handling 2149 2150 ------------------------------------------------------------------------------- 2151 2152 Interfaces for Signal Handling 2153 2154 An LSB conforming implementation shall provide the architecture specific 2155 functions for Signal Handling specified in Table 1-6, with the full 2156 functionality as described in the referenced underlying specification. 2157 2158 Table 1-6. libc - Signal Handling Function Interfaces 2159 2160 +-----------------------------------------------------------------------------+ 2161 |__libc_current_sigrtmax|sigaddset |sighold |sigpause |sigsuspend | 2162 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2163 | |[2] |[2] |[2] |[2] | 2164 |-----------------------+------------+-------------+------------+-------------| 2165 |__libc_current_sigrtmin|sigaltstack |sigignore |sigpending |sigtimedwait | 2166 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2167 | |[2] |[2] |[2] |[2] | 2168 |-----------------------+------------+-------------+------------+-------------| 2169 |__sigsetjmp(GLIBC_2.2) |sigandset |siginterrupt |sigprocmask |sigwait | 2170 |[1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2171 | |[1] |[2] |[2] |[2] | 2172 |-----------------------+------------+-------------+------------+-------------| 2173 |__sysv_signal |sigblock |sigisemptyset|sigqueue |sigwaitinfo | 2174 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2175 | |[1] |[1] |[2] |[2] | 2176 |-----------------------+------------+-------------+------------+-------------| 2177 |bsd_signal(GLIBC_2.2) |sigdelset |sigismember |sigrelse | | 2178 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2179 | |[2] |[2] |[2] | | 2180 |-----------------------+------------+-------------+------------+-------------| 2181 | |sigemptyset |siglongjmp |sigreturn | | 2182 |psignal(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2183 | |[2] |[2] |[1] | | 2184 |-----------------------+------------+-------------+------------+-------------| 2185 | |sigfillset |signal |sigset | | 2186 |raise(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2187 | |[2] |[2] |[2] | | 2188 |-----------------------+------------+-------------+------------+-------------| 2189 |sigaction(GLIBC_2.2) |siggetmask |sigorset |sigstack | | 2190 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2191 | |[1] |[1] |[3] | | 2192 +-----------------------------------------------------------------------------+ 2193 2194 Referenced Specification(s) 2195 2196 [1]. Linux Standard Base 2197 2198 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2199 Specification(SUS) V3 2200 2201 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2202 5 (ISBN: 1-85912-181-0, C606) 2203 2204 An LSB conforming implementation shall provide the architecture specific data 2205 interfaces for Signal Handling specified in Table 1-7, with the full 2206 functionality as described in the referenced underlying specification. 2207 2208 Table 1-7. libc - Signal Handling Data Interfaces 2209 2210 +-------------------------------------+ 2211 |_sys_siglist(GLIBC_2.3.3) [1]| | | | | 2212 +-------------------------------------+ 2213 2214 Referenced Specification(s) 2215 2216 [1]. Linux Standard Base 2217 2218 ------------------------------------------------------------------------------- 2219 2220 Localization Functions 2221 2222 ------------------------------------------------------------------------------- 2223 2224 Interfaces for Localization Functions 2225 2226 An LSB conforming implementation shall provide the architecture specific 2227 functions for Localization Functions specified in Table 1-8, with the full 2228 functionality as described in the referenced underlying specification. 2229 2230 Table 1-8. libc - Localization Functions Function Interfaces 2231 2232 +-----------------------------------------------------------------------------+ 2233 |bind_textdomain_codeset|catopen |dngettext |iconv_open |setlocale | 2234 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2235 | |[2] |[1] |[2] |[2] | 2236 |-----------------------+------------+-------------+-------------+------------| 2237 |bindtextdomain |dcgettext |gettext |localeconv |textdomain | 2238 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2239 | |[1] |[1] |[2] |[1] | 2240 |-----------------------+------------+-------------+-------------+------------| 2241 | |dcngettext |iconv |ngettext | | 2242 |catclose(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2243 | |[1] |[2] |[1] | | 2244 |-----------------------+------------+-------------+-------------+------------| 2245 | |dgettext |iconv_close |nl_langinfo | | 2246 |catgets(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2247 | |[1] |[2] |[2] | | 2248 +-----------------------------------------------------------------------------+ 2249 2250 Referenced Specification(s) 2251 2252 [1]. Linux Standard Base 2253 2254 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2255 Specification(SUS) V3 2256 2257 An LSB conforming implementation shall provide the architecture specific data 2258 interfaces for Localization Functions specified in Table 1-9, with the full 2259 functionality as described in the referenced underlying specification. 2260 2261 Table 1-9. libc - Localization Functions Data Interfaces 2262 2263 +---------------------------------------+ 2264 |_nl_msg_cat_cntr(GLIBC_2.2) [1]| | | | | 2265 +---------------------------------------+ 2266 2267 Referenced Specification(s) 2268 2269 [1]. Linux Standard Base 2270 2271 ------------------------------------------------------------------------------- 2272 2273 Socket Interface 2274 2275 ------------------------------------------------------------------------------- 2276 2277 Interfaces for Socket Interface 2278 2279 An LSB conforming implementation shall provide the architecture specific 2280 functions for Socket Interface specified in Table 1-10, with the full 2281 functionality as described in the referenced underlying specification. 2282 2283 Table 1-10. libc - Socket Interface Function Interfaces 2284 2285 +-----------------------------------------------------------------------------+ 2286 |__h_errno_location|gethostid |listen |sendmsg |socketpair | 2287 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2288 | |[2] |[2] |[2] |[2] | 2289 |------------------+--------------+-------------+--------------+--------------| 2290 |accept(GLIBC_2.2) |gethostname |recv |sendto | | 2291 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2292 | |[2] |[2] |[2] | | 2293 |------------------+--------------+-------------+--------------+--------------| 2294 |bind(GLIBC_2.2) |getpeername |recvfrom |setsockopt | | 2295 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2296 | |[2] |[2] |[1] | | 2297 |------------------+--------------+-------------+--------------+--------------| 2298 |bindresvport |getsockname |recvmsg |shutdown | | 2299 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2300 | |[2] |[2] |[2] | | 2301 |------------------+--------------+-------------+--------------+--------------| 2302 |connect(GLIBC_2.2)|getsockopt |send |socket | | 2303 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2304 | |[2] |[2] |[2] | | 2305 +-----------------------------------------------------------------------------+ 2306 2307 Referenced Specification(s) 2308 2309 [1]. Linux Standard Base 2310 2311 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2312 Specification(SUS) V3 2313 2314 An LSB conforming implementation shall provide the architecture specific 2315 deprecated functions for Socket Interface specified in Table 1-11, with the 2316 full functionality as described in the referenced underlying specification. 2317 2318 Note: These interfaces are deprecated, and applications should avoid using 2319 them. These interfaces may be withdrawn in future releases of this 2320 specification. 2321 2322 Table 1-11. libc - Socket Interface Deprecated Function Interfaces 2323 2324 +--------------------------------------+ 2325 |gethostbyname_r(GLIBC_2.2) [1]| | | | | 2326 +--------------------------------------+ 2327 2328 Referenced Specification(s) 2329 2330 [1]. Linux Standard Base 2331 2332 ------------------------------------------------------------------------------- 2333 2334 Wide Characters 2335 2336 ------------------------------------------------------------------------------- 2337 2338 Interfaces for Wide Characters 2339 2340 An LSB conforming implementation shall provide the architecture specific 2341 functions for Wide Characters specified in Table 1-12, with the full 2342 functionality as described in the referenced underlying specification. 2343 2344 Table 1-12. libc - Wide Characters Function Interfaces 2345 2346 +-----------------------------------------------------------------------------+ 2347 |__wcstod_internal |mbsinit |vwscanf |wcsnlen |wcstoumax | 2348 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2349 | |[2] |[2] |[1] |[2] | 2350 |------------------+--------------+--------------+--------------+-------------| 2351 |__wcstof_internal |mbsnrtowcs |wcpcpy |wcsnrtombs |wcstouq | 2352 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2353 | |[1] |[1] |[1] |[1] | 2354 |------------------+--------------+--------------+--------------+-------------| 2355 |__wcstol_internal |mbsrtowcs |wcpncpy |wcspbrk |wcswcs | 2356 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2357 | |[2] |[1] |[2] |[2] | 2358 |------------------+--------------+--------------+--------------+-------------| 2359 |__wcstold_internal|mbstowcs |wcrtomb |wcsrchr |wcswidth | 2360 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2361 | |[2] |[2] |[2] |[2] | 2362 |------------------+--------------+--------------+--------------+-------------| 2363 |__wcstoul_internal|mbtowc |wcscasecmp |wcsrtombs |wcsxfrm | 2364 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2365 | |[2] |[1] |[2] |[2] | 2366 |------------------+--------------+--------------+--------------+-------------| 2367 |btowc(GLIBC_2.2) |putwc |wcscat |wcsspn |wctob | 2368 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2369 | |[2] |[2] |[2] |[2] | 2370 |------------------+--------------+--------------+--------------+-------------| 2371 |fgetwc(GLIBC_2.2) |putwchar |wcschr |wcsstr |wctomb | 2372 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2373 | |[2] |[2] |[2] |[2] | 2374 |------------------+--------------+--------------+--------------+-------------| 2375 |fgetws(GLIBC_2.2) |swprintf |wcscmp |wcstod |wctrans | 2376 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2377 | |[2] |[2] |[2] |[2] | 2378 |------------------+--------------+--------------+--------------+-------------| 2379 |fputwc(GLIBC_2.2) |swscanf |wcscoll |wcstof |wctype | 2380 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2381 | |[2] |[2] |[2] |[2] | 2382 |------------------+--------------+--------------+--------------+-------------| 2383 |fputws(GLIBC_2.2) |towctrans |wcscpy |wcstoimax |wcwidth | 2384 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2385 | |[2] |[2] |[2] |[2] | 2386 |------------------+--------------+--------------+--------------+-------------| 2387 |fwide(GLIBC_2.2) |towlower |wcscspn |wcstok |wmemchr | 2388 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2389 | |[2] |[2] |[2] |[2] | 2390 |------------------+--------------+--------------+--------------+-------------| 2391 |fwprintf |towupper |wcsdup |wcstol |wmemcmp | 2392 |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2393 | |[2] |[1] |[2] |[2] | 2394 |------------------+--------------+--------------+--------------+-------------| 2395 |fwscanf(GLIBC_2.2)|ungetwc |wcsftime |wcstold |wmemcpy | 2396 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2397 | |[2] |[2] |[2] |[2] | 2398 |------------------+--------------+--------------+--------------+-------------| 2399 |getwc(GLIBC_2.2) |vfwprintf |wcslen |wcstoll |wmemmove | 2400 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2401 | |[2] |[2] |[2] |[2] | 2402 |------------------+--------------+--------------+--------------+-------------| 2403 |getwchar |vfwscanf |wcsncasecmp |wcstombs |wmemset | 2404 |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2405 | |[2] |[1] |[2] |[2] | 2406 |------------------+--------------+--------------+--------------+-------------| 2407 |mblen(GLIBC_2.2) |vswprintf |wcsncat |wcstoq |wprintf | 2408 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2409 | |[2] |[2] |[1] |[2] | 2410 |------------------+--------------+--------------+--------------+-------------| 2411 |mbrlen(GLIBC_2.2) |vswscanf |wcsncmp |wcstoul |wscanf | 2412 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2413 | |[2] |[2] |[2] |[2] | 2414 |------------------+--------------+--------------+--------------+-------------| 2415 |mbrtowc(GLIBC_2.2)|vwprintf |wcsncpy |wcstoull | | 2416 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2417 | |[2] |[2] |[2] | | 2418 +-----------------------------------------------------------------------------+ 2419 2420 Referenced Specification(s) 2421 2422 [1]. Linux Standard Base 2423 2424 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2425 Specification(SUS) V3 2426 2427 ------------------------------------------------------------------------------- 2428 2429 String Functions 2430 2431 ------------------------------------------------------------------------------- 2432 2433 Interfaces for String Functions 2434 2435 An LSB conforming implementation shall provide the architecture specific 2436 functions for String Functions specified in Table 1-13, with the full 2437 functionality as described in the referenced underlying specification. 2438 2439 Table 1-13. libc - String Functions Function Interfaces 2440 2441 +----------------------------------------------------------------------------+ 2442 |__mempcpy |bzero |strcasestr |strncasecmp |strtoimax | 2443 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2444 | |[2] |[1] |[2] |[2] | 2445 |-------------------+-------------+-------------+--------------+-------------| 2446 |__rawmemchr |ffs |strcat |strncat |strtok | 2447 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2448 | |[2] |[2] |[2] |[2] | 2449 |-------------------+-------------+-------------+--------------+-------------| 2450 |__stpcpy(GLIBC_2.2)|index |strchr |strncmp |strtok_r | 2451 |[1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2452 | |[2] |[2] |[2] |[1] | 2453 |-------------------+-------------+-------------+--------------+-------------| 2454 |__strdup(GLIBC_2.2)|memccpy |strcmp |strncpy |strtold | 2455 |[1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2456 | |[2] |[2] |[2] |[2] | 2457 |-------------------+-------------+-------------+--------------+-------------| 2458 |__strtod_internal |memchr |strcoll |strndup |strtoll | 2459 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2460 | |[2] |[2] |[1] |[2] | 2461 |-------------------+-------------+-------------+--------------+-------------| 2462 |__strtof_internal |memcmp |strcpy |strnlen |strtoq | 2463 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2464 | |[2] |[2] |[1] |[1] | 2465 |-------------------+-------------+-------------+--------------+-------------| 2466 |__strtok_r |memcpy |strcspn |strpbrk |strtoull | 2467 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2468 | |[2] |[2] |[2] |[2] | 2469 |-------------------+-------------+-------------+--------------+-------------| 2470 |__strtol_internal |memmove |strdup |strptime |strtoumax | 2471 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2472 | |[2] |[2] |[1] |[2] | 2473 |-------------------+-------------+-------------+--------------+-------------| 2474 |__strtold_internal |memrchr |strerror |strrchr |strtouq | 2475 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2476 | |[1] |[2] |[2] |[1] | 2477 |-------------------+-------------+-------------+--------------+-------------| 2478 |__strtoll_internal |memset |strerror_r |strsep |strverscmp | 2479 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2480 | |[2] |[1] |[1] |[1] | 2481 |-------------------+-------------+-------------+--------------+-------------| 2482 |__strtoul_internal |rindex |strfmon |strsignal |strxfrm | 2483 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2484 | |[2] |[2] |[1] |[2] | 2485 |-------------------+-------------+-------------+--------------+-------------| 2486 |__strtoull_internal|stpcpy |strfry |strspn |swab | 2487 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2488 | |[1] |[1] |[2] |[2] | 2489 |-------------------+-------------+-------------+--------------+-------------| 2490 | |stpncpy |strftime |strstr | | 2491 |bcmp(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2492 | |[1] |[2] |[2] | | 2493 |-------------------+-------------+-------------+--------------+-------------| 2494 |bcopy(GLIBC_2.2) |strcasecmp |strlen |strtof | | 2495 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2496 | |[2] |[2] |[2] | | 2497 +----------------------------------------------------------------------------+ 2498 2499 Referenced Specification(s) 2500 2501 [1]. Linux Standard Base 2502 2503 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2504 Specification(SUS) V3 2505 2506 ------------------------------------------------------------------------------- 2507 2508 IPC Functions 2509 2510 ------------------------------------------------------------------------------- 2511 2512 Interfaces for IPC Functions 2513 2514 An LSB conforming implementation shall provide the architecture specific 2515 functions for IPC Functions specified in Table 1-14, with the full 2516 functionality as described in the referenced underlying specification. 2517 2518 Table 1-14. libc - IPC Functions Function Interfaces 2519 2520 +-----------------------------------------------------------------------------+ 2521 |ftok(GLIBC_2.2) |msgrcv(GLIBC_2.2) |semget(GLIBC_2.2) |shmctl(GLIBC_2.2) | | 2522 |[1] |[1] |[1] |[1] | | 2523 |------------------+------------------+------------------+------------------+-| 2524 |msgctl(GLIBC_2.2) |msgsnd(GLIBC_2.2) |semop(GLIBC_2.2) |shmdt(GLIBC_2.2) | | 2525 |[1] |[1] |[1] |[1] | | 2526 |------------------+------------------+------------------+------------------+-| 2527 |msgget(GLIBC_2.2) |semctl(GLIBC_2.2) |shmat(GLIBC_2.2) |shmget(GLIBC_2.2) | | 2528 |[1] |[1] |[1] |[1] | | 2529 +-----------------------------------------------------------------------------+ 2530 2531 Referenced Specification(s) 2532 2533 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2534 Specification(SUS) V3 2535 2536 ------------------------------------------------------------------------------- 2537 2538 Regular Expressions 2539 2540 ------------------------------------------------------------------------------- 2541 2542 Interfaces for Regular Expressions 2543 2544 An LSB conforming implementation shall provide the architecture specific 2545 functions for Regular Expressions specified in Table 1-15, with the full 2546 functionality as described in the referenced underlying specification. 2547 2548 Table 1-15. libc - Regular Expressions Function Interfaces 2549 2550 +-----------------------------------------------------------------------------+ 2551 |regcomp(GLIBC_2.2)|regerror |regexec(GLIBC_2.2)|regfree(GLIBC_2.2)| | 2552 |[1] |(GLIBC_2.2) [1] |[1] |[1] | | 2553 +-----------------------------------------------------------------------------+ 2554 2555 Referenced Specification(s) 2556 2557 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2558 Specification(SUS) V3 2559 2560 An LSB conforming implementation shall provide the architecture specific 2561 deprecated functions for Regular Expressions specified in Table 1-16, with the 2562 full functionality as described in the referenced underlying specification. 2563 2564 Note: These interfaces are deprecated, and applications should avoid using 2565 them. These interfaces may be withdrawn in future releases of this 2566 specification. 2567 2568 Table 1-16. libc - Regular Expressions Deprecated Function Interfaces 2569 2570 +------------------------------------------------------------------------------+ 2571 |advance(GLIBC_2.2) |re_comp(GLIBC_2.2) |re_exec(GLIBC_2.2) |step(GLIBC_2.2) | | 2572 |[1] |[1] |[1] |[1] | | 2573 +------------------------------------------------------------------------------+ 2574 2575 Referenced Specification(s) 2576 2577 [1]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2578 5 (ISBN: 1-85912-181-0, C606) 2579 2580 An LSB conforming implementation shall provide the architecture specific 2581 deprecated data interfaces for Regular Expressions specified in Table 1-17, 2582 with the full functionality as described in the referenced underlying 2583 specification. 2584 2585 Note: These interfaces are deprecated, and applications should avoid using 2586 them. These interfaces may be withdrawn in future releases of this 2587 specification. 2588 2589 Table 1-17. libc - Regular Expressions Deprecated Data Interfaces 2590 2591 +---------------------------------------------------------------+ 2592 |loc1(GLIBC_2.2) [1]|loc2(GLIBC_2.2) [1]|locs(GLIBC_2.2) [1]| | | 2593 +---------------------------------------------------------------+ 2594 2595 Referenced Specification(s) 2596 2597 [1]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2598 5 (ISBN: 1-85912-181-0, C606) 2599 2600 ------------------------------------------------------------------------------- 2601 2602 Character Type Functions 2603 2604 ------------------------------------------------------------------------------- 2605 2606 Interfaces for Character Type Functions 2607 2608 An LSB conforming implementation shall provide the architecture specific 2609 functions for Character Type Functions specified in Table 1-18, with the full 2610 functionality as described in the referenced underlying specification. 2611 2612 Table 1-18. libc - Character Type Functions Function Interfaces 2613 2614 +-----------------------------------------------------------------------------+ 2615 |__ctype_get_mb_cur_max|isdigit |iswalnum |iswlower |toascii | 2616 |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2617 | |[2] |[2] |[2] |[2] | 2618 |----------------------+------------+-------------+--------------+------------| 2619 |_tolower(GLIBC_2.2) |isgraph |iswalpha |iswprint |tolower | 2620 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2621 | |[2] |[2] |[2] |[2] | 2622 |----------------------+------------+-------------+--------------+------------| 2623 |_toupper(GLIBC_2.2) |islower |iswblank |iswpunct |toupper | 2624 |[2] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 2625 | |[2] |[2] |[2] |[2] | 2626 |----------------------+------------+-------------+--------------+------------| 2627 | |isprint |iswcntrl |iswspace | | 2628 |isalnum(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2629 | |[2] |[2] |[2] | | 2630 |----------------------+------------+-------------+--------------+------------| 2631 | |ispunct |iswctype |iswupper | | 2632 |isalpha(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2633 | |[2] |[1] |[2] | | 2634 |----------------------+------------+-------------+--------------+------------| 2635 | |isspace |iswdigit |iswxdigit | | 2636 |isascii(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2637 | |[2] |[2] |[2] | | 2638 |----------------------+------------+-------------+--------------+------------| 2639 | |isupper |iswgraph |isxdigit | | 2640 |iscntrl(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | | 2641 | |[2] |[2] |[2] | | 2642 +-----------------------------------------------------------------------------+ 2643 2644 Referenced Specification(s) 2645 2646 [1]. Linux Standard Base 2647 2648 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2649 Specification(SUS) V3 2650 2651 ------------------------------------------------------------------------------- 2652 2653 Time Manipulation 2654 2655 ------------------------------------------------------------------------------- 2656 2657 Interfaces for Time Manipulation 2658 2659 An LSB conforming implementation shall provide the architecture specific 2660 functions for Time Manipulation specified in Table 1-19, with the full 2661 functionality as described in the referenced underlying specification. 2662 2663 Table 1-19. libc - Time Manipulation Function Interfaces 2664 2665 +-----------------------------------------------------------------------------+ 2666 |adjtime |ctime |gmtime |localtime_r |ualarm | 2667 |(GLIBC_2.2) [1]|(GLIBC_2.2) |(GLIBC_2.2) [2]|(GLIBC_2.2) [2] |(GLIBC_2.2) | 2668 | |[2] | | |[2] | 2669 |---------------+--------------+---------------+----------------+-------------| 2670 |asctime |ctime_r |gmtime_r |mktime | | 2671 |(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) [2]|(GLIBC_2.2) [2] | | 2672 | |[2] | | | | 2673 |---------------+--------------+---------------+----------------+-------------| 2674 |asctime_r |difftime |localtime |tzset(GLIBC_2.2)| | 2675 |(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) [2]|[2] | | 2676 | |[2] | | | | 2677 +-----------------------------------------------------------------------------+ 2678 2679 Referenced Specification(s) 2680 2681 [1]. Linux Standard Base 2682 2683 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2684 Specification(SUS) V3 2685 2686 An LSB conforming implementation shall provide the architecture specific 2687 deprecated functions for Time Manipulation specified in Table 1-20, with the 2688 full functionality as described in the referenced underlying specification. 2689 2690 Note: These interfaces are deprecated, and applications should avoid using 2691 them. These interfaces may be withdrawn in future releases of this 2692 specification. 2693 2694 Table 1-20. libc - Time Manipulation Deprecated Function Interfaces 2695 2696 +--------------------------------+ 2697 |adjtimex(GLIBC_2.2) [1] | | | | | 2698 +--------------------------------+ 2699 2700 Referenced Specification(s) 2701 2702 [1]. Linux Standard Base 2703 2704 An LSB conforming implementation shall provide the architecture specific data 2705 interfaces for Time Manipulation specified in Table 1-21, with the full 2706 functionality as described in the referenced underlying specification. 2707 2708 Table 1-21. libc - Time Manipulation Data Interfaces 2709 2710 +-----------------------------------------------------------------------------+ 2711 |__daylight(GLIBC_2.2) [1]|__tzname(GLIBC_2.2) [1]|timezone(GLIBC_2.2) [2]| | | 2712 |-------------------------+-----------------------+-----------------------+-+-| 2713 |__timezone(GLIBC_2.2) [1]|daylight(GLIBC_2.2) [2]|tzname(GLIBC_2.2) [2] | | | 2714 +-----------------------------------------------------------------------------+ 2715 2716 Referenced Specification(s) 2717 2718 [1]. Linux Standard Base 2719 2720 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2721 Specification(SUS) V3 2722 2723 ------------------------------------------------------------------------------- 2724 2725 Terminal Interface Functions 2726 2727 ------------------------------------------------------------------------------- 2728 2729 Interfaces for Terminal Interface Functions 2730 2731 An LSB conforming implementation shall provide the architecture specific 2732 functions for Terminal Interface Functions specified in Table 1-22, with the 2733 full functionality as described in the referenced underlying specification. 2734 2735 Table 1-22. libc - Terminal Interface Functions Function Interfaces 2736 2737 +----------------------------------------------------------------------------+ 2738 |cfgetispeed |cfsetispeed |tcdrain |tcgetattr |tcsendbreak | 2739 |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1]| 2740 | | |[1] |[1] | | 2741 |---------------+---------------+-------------+--------------+---------------| 2742 |cfgetospeed |cfsetospeed |tcflow |tcgetpgrp |tcsetattr | 2743 |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1]| 2744 | | |[1] |[1] | | 2745 |---------------+---------------+-------------+--------------+---------------| 2746 |cfmakeraw |cfsetspeed |tcflush |tcgetsid |tcsetpgrp | 2747 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1]| 2748 | | |[1] |[1] | | 2749 +----------------------------------------------------------------------------+ 2750 2751 Referenced Specification(s) 2752 2753 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2754 Specification(SUS) V3 2755 2756 [2]. Linux Standard Base 2757 2758 ------------------------------------------------------------------------------- 2759 2760 System Database Interface 2761 2762 ------------------------------------------------------------------------------- 2763 2764 Interfaces for System Database Interface 2765 2766 An LSB conforming implementation shall provide the architecture specific 2767 functions for System Database Interface specified in Table 1-23, with the full 2768 functionality as described in the referenced underlying specification. 2769 2770 Table 1-23. libc - System Database Interface Function Interfaces 2771 2772 +------------------------------------------------------------------------------+ 2773 |endgrent |getgrgid |getprotobynumber|getservbyport |setgrent | 2774 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2775 |[1] | | | |[1] | 2776 |--------------+---------------+----------------+---------------+--------------| 2777 |endnetent |getgrgid_r |getprotoent |getservent |setgroups | 2778 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2779 |[1] | | | |[2] | 2780 |--------------+---------------+----------------+---------------+--------------| 2781 |endprotoent |getgrnam |getpwent |getutent |setnetent | 2782 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [2]|(GLIBC_2.2) | 2783 |[1] | | | |[1] | 2784 |--------------+---------------+----------------+---------------+--------------| 2785 |endpwent |getgrnam_r |getpwnam |getutent_r |setprotoent | 2786 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [2]|(GLIBC_2.2) | 2787 |[1] | | | |[1] | 2788 |--------------+---------------+----------------+---------------+--------------| 2789 |endservent |gethostbyaddr |getpwnam_r |getutxent |setpwent | 2790 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2791 |[1] | | | |[1] | 2792 |--------------+---------------+----------------+---------------+--------------| 2793 |endutent |gethostbyname |getpwuid |getutxid |setservent | 2794 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2795 |[3] | | | |[1] | 2796 |--------------+---------------+----------------+---------------+--------------| 2797 |endutxent |getnetbyaddr |getpwuid_r |getutxline |setutent | 2798 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2799 |[1] | | | |[2] | 2800 |--------------+---------------+----------------+---------------+--------------| 2801 |getgrent |getprotobyname |getservbyname |pututxline |setutxent | 2802 |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2803 |[1] | | | |[1] | 2804 +------------------------------------------------------------------------------+ 2805 2806 Referenced Specification(s) 2807 2808 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 2809 Specification(SUS) V3 2810 2811 [2]. Linux Standard Base 2812 2813 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 2814 5 (ISBN: 1-85912-181-0, C606) 2815 2816 ------------------------------------------------------------------------------- 2817 2818 Language Support 2819 2820 ------------------------------------------------------------------------------- 2821 2822 Interfaces for Language Support 2823 2824 An LSB conforming implementation shall provide the architecture specific 2825 functions for Language Support specified in Table 1-24, with the full 2826 functionality as described in the referenced underlying specification. 2827 2828 Table 1-24. libc - Language Support Function Interfaces 2829 2830 +-----------------------------------------------------------------------------+ 2831 |__libc_start_main |_obstack_begin |_obstack_newchunk |obstack_free | | 2832 |(GLIBC_2.2) [1] |(GLIBC_2.2) [1] |(GLIBC_2.2) [1] |(GLIBC_2.2) [1] | | 2833 +-----------------------------------------------------------------------------+ 2834 2835 Referenced Specification(s) 2836 2837 [1]. Linux Standard Base 2838 2839 ------------------------------------------------------------------------------- 2840 2841 Large File Support 2842 2843 ------------------------------------------------------------------------------- 2844 2845 Interfaces for Large File Support 2846 2847 An LSB conforming implementation shall provide the architecture specific 2848 functions for Large File Support specified in Table 1-25, with the full 2849 functionality as described in the referenced underlying specification. 2850 2851 Table 1-25. libc - Large File Support Function Interfaces 2852 2853 +------------------------------------------------------------------------------+ 2854 |__fxstat64 |fopen64 |ftello64 |lseek64 |readdir64 | 2855 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) [2]| 2856 | | | |[2] | | 2857 |---------------+---------------+---------------+--------------+---------------| 2858 |__lxstat64 |freopen64 |ftruncate64 |mkstemp64 |statvfs64 | 2859 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) [2]| 2860 | | | |[2] | | 2861 |---------------+---------------+---------------+--------------+---------------| 2862 |__xstat64 |fseeko64 |ftw64 |mmap64 |tmpfile64 | 2863 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) [2]| 2864 | | | |[2] | | 2865 |---------------+---------------+---------------+--------------+---------------| 2866 |creat64 |fsetpos64 |getrlimit64 |nftw64 |truncate64 | 2867 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) |(GLIBC_2.2) [2]| 2868 | | | |[2] | | 2869 |---------------+---------------+---------------+--------------+---------------| 2870 |fgetpos64 |fstatvfs64 |lockf64 |open64 | | 2871 |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) [2]|(GLIBC_2.2) | | 2872 | | | |[2] | | 2873 +------------------------------------------------------------------------------+ 2874 2875 Referenced Specification(s) 2876 2877 [1]. Linux Standard Base 2878 2879 [2]. Large File Support 2880 2881 ------------------------------------------------------------------------------- 2882 2883 Standard Library 2884 2885 ------------------------------------------------------------------------------- 2886 2887 Interfaces for Standard Library 2888 2889 An LSB conforming implementation shall provide the architecture specific 2890 functions for Standard Library specified in Table 1-26, with the full 2891 functionality as described in the referenced underlying specification. 2892 2893 Table 1-26. libc - Standard Library Function Interfaces 2894 2895 +-----------------------------------------------------------------------------+ 2896 |_Exit(GLIBC_2.2)|dirname |glob |lsearch |srand | 2897 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2898 | | |[1] | |[1] | 2899 |----------------+----------------+-------------+---------------+-------------| 2900 |__assert_fail |div(GLIBC_2.2) |glob64 |makecontext |srand48 | 2901 |(GLIBC_2.2) [2] |[1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2902 | | |[2] | |[1] | 2903 |----------------+----------------+-------------+---------------+-------------| 2904 |__cxa_atexit |drand48 |globfree |malloc |srandom | 2905 |(GLIBC_2.2) [2] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2906 | | |[1] | |[1] | 2907 |----------------+----------------+-------------+---------------+-------------| 2908 |__errno_location|ecvt(GLIBC_2.2) |globfree64 |memmem |strtod | 2909 |(GLIBC_2.2) [2] |[1] |(GLIBC_2.2) |(GLIBC_2.2) [2]|(GLIBC_2.2) | 2910 | | |[2] | |[1] | 2911 |----------------+----------------+-------------+---------------+-------------| 2912 |__fpending |erand48 |grantpt |mkstemp |strtol | 2913 |(GLIBC_2.2) [2] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2914 | | |[1] | |[1] | 2915 |----------------+----------------+-------------+---------------+-------------| 2916 |__getpagesize |err(GLIBC_2.2) |hcreate |mktemp |strtoul | 2917 |(GLIBC_2.2) [2] |[2] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2918 | | |[1] | |[1] | 2919 |----------------+----------------+-------------+---------------+-------------| 2920 |__isinf |error(GLIBC_2.2)|hdestroy |mrand48 |swapcontext | 2921 |(GLIBC_2.2) [2] |[2] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2922 | | |[1] | |[1] | 2923 |----------------+----------------+-------------+---------------+-------------| 2924 |__isinff |errx(GLIBC_2.2) |hsearch |nftw(GLIBC_2.2)|syslog | 2925 |(GLIBC_2.2) [2] |[2] |(GLIBC_2.2) |[1] |(GLIBC_2.2) | 2926 | | |[1] | |[1] | 2927 |----------------+----------------+-------------+---------------+-------------| 2928 |__isinfl |fcvt(GLIBC_2.2) |htonl |nrand48 |system | 2929 |(GLIBC_2.2) [2] |[1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2930 | | |[1] | |[2] | 2931 |----------------+----------------+-------------+---------------+-------------| 2932 |__isnan |fmtmsg |htons |ntohl |tdelete | 2933 |(GLIBC_2.2) [2] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2934 | | |[1] | |[1] | 2935 |----------------+----------------+-------------+---------------+-------------| 2936 |__isnanf |fnmatch |imaxabs |ntohs |tfind | 2937 |(GLIBC_2.2) [2] |(GLIBC_2.2.3) |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2938 | |[1] |[1] | |[1] | 2939 |----------------+----------------+-------------+---------------+-------------| 2940 |__isnanl |fpathconf |imaxdiv |openlog |tmpfile | 2941 |(GLIBC_2.2) [2] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2942 | | |[1] | |[1] | 2943 |----------------+----------------+-------------+---------------+-------------| 2944 |__sysconf |free(GLIBC_2.2) |inet_addr |perror |tmpnam | 2945 |(GLIBC_2.2) [2] |[1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2946 | | |[1] | |[1] | 2947 |----------------+----------------+-------------+---------------+-------------| 2948 |_exit(GLIBC_2.2)|freeaddrinfo |inet_ntoa |posix_memalign |tsearch | 2949 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2950 | | |[1] | |[1] | 2951 |----------------+----------------+-------------+---------------+-------------| 2952 |_longjmp |ftrylockfile |inet_ntop |ptsname |ttyname | 2953 |(GLIBC_2.2) [1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2954 | | |[1] | |[1] | 2955 |----------------+----------------+-------------+---------------+-------------| 2956 |_setjmp |ftw(GLIBC_2.2) |inet_pton |putenv |ttyname_r | 2957 |(GLIBC_2.2) [1] |[1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2958 | | |[1] | |[1] | 2959 |----------------+----------------+-------------+---------------+-------------| 2960 |a64l(GLIBC_2.2) |funlockfile |initstate |qsort |twalk | 2961 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2962 | | |[1] | |[1] | 2963 |----------------+----------------+-------------+---------------+-------------| 2964 |abort(GLIBC_2.2)|gai_strerror |insque |rand(GLIBC_2.2)|unlockpt | 2965 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |[1] |(GLIBC_2.2) | 2966 | | |[1] | |[1] | 2967 |----------------+----------------+-------------+---------------+-------------| 2968 |abs(GLIBC_2.2) |gcvt(GLIBC_2.2) |isatty |rand_r |unsetenv | 2969 |[1] |[1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2970 | | |[1] | |[1] | 2971 |----------------+----------------+-------------+---------------+-------------| 2972 |atof(GLIBC_2.2) |getaddrinfo |isblank |random |usleep | 2973 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2974 | | |[1] | |[1] | 2975 |----------------+----------------+-------------+---------------+-------------| 2976 |atoi(GLIBC_2.2) |getcwd |jrand48 |random_r |verrx | 2977 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [2]|(GLIBC_2.2) | 2978 | | |[1] | |[2] | 2979 |----------------+----------------+-------------+---------------+-------------| 2980 |atol(GLIBC_2.2) |getdate |l64a |realloc |vfscanf | 2981 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2982 | | |[1] | |[1] | 2983 |----------------+----------------+-------------+---------------+-------------| 2984 |atoll(GLIBC_2.2)|getenv |labs |realpath |vscanf | 2985 |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.3) [1]|(GLIBC_2.2) | 2986 | | |[1] | |[1] | 2987 |----------------+----------------+-------------+---------------+-------------| 2988 |basename |getlogin |lcong48 |remque |vsscanf | 2989 |(GLIBC_2.2) [1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2990 | | |[1] | |[1] | 2991 |----------------+----------------+-------------+---------------+-------------| 2992 |bsearch |getnameinfo |ldiv |seed48 |vsyslog | 2993 |(GLIBC_2.2) [1] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2994 | | |[1] | |[2] | 2995 |----------------+----------------+-------------+---------------+-------------| 2996 |calloc |getopt |lfind |setenv |warn | 2997 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 2998 | | |[1] | |[2] | 2999 |----------------+----------------+-------------+---------------+-------------| 3000 |closelog |getopt_long |llabs |sethostid |warnx | 3001 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) [2]|(GLIBC_2.2) | 3002 | | |[1] | |[2] | 3003 |----------------+----------------+-------------+---------------+-------------| 3004 |confstr |getopt_long_only|lldiv |sethostname |wordexp | 3005 |(GLIBC_2.2) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) [2]|(GLIBC_2.2.2)| 3006 | | |[1] | |[1] | 3007 |----------------+----------------+-------------+---------------+-------------| 3008 |cuserid |getsubopt |longjmp |setlogmask |wordfree | 3009 |(GLIBC_2.2) [3] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]|(GLIBC_2.2) | 3010 | | |[1] | |[1] | 3011 |----------------+----------------+-------------+---------------+-------------| 3012 |daemon |gettimeofday |lrand48 |setstate | | 3013 |(GLIBC_2.2) [2] |(GLIBC_2.2) [1] |(GLIBC_2.2) |(GLIBC_2.2) [1]| | 3014 | | |[1] | | | 3015 +-----------------------------------------------------------------------------+ 3016 3017 Referenced Specification(s) 3018 3019 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3020 Specification(SUS) V3 3021 3022 [2]. Linux Standard Base 3023 3024 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 3025 5 (ISBN: 1-85912-181-0, C606) 3026 3027 An LSB conforming implementation shall provide the architecture specific data 3028 interfaces for Standard Library specified in Table 1-27, with the full 3029 functionality as described in the referenced underlying specification. 3030 3031 Table 1-27. libc - Standard Library Data Interfaces 3032 3033 +-----------------------------------------------------------------------------+ 3034 |__environ |_sys_errlist |getdate_err |opterr |optopt | 3035 |(GLIBC_2.2) [1]|(GLIBC_2.3) [1] |(GLIBC_2.2) [2] |(GLIBC_2.2) |(GLIBC_2.2) | 3036 | | | |[1] |[1] | 3037 |---------------+----------------+----------------+-------------+-------------| 3038 |_environ |environ |optarg |optind | | 3039 |(GLIBC_2.2) [1]|(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) | | 3040 | | | |[1] | | 3041 +-----------------------------------------------------------------------------+ 3042 3043 Referenced Specification(s) 3044 3045 [1]. Linux Standard Base 3046 3047 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3048 Specification(SUS) V3 3049 3050 ------------------------------------------------------------------------------- 3051 3052 Data Definitions for libc 3053 3054 This section defines global identifiers and their values that are associated 3055 with interfaces contained in libc. These definitions are organized into groups 3056 that correspond to system headers. This convention is used as a convenience for 3057 the reader, and does not imply the existence of these headers, or their 3058 content. 3059 3060 These definitions are intended to supplement those provided in the referenced 3061 underlying specifications. 3062 3063 This specification uses ISO/IEC 9899 C Language as the reference programming 3064 language, and data definitions are specified in ISO C format. The C language is 3065 used here as a convenient notation. Using a C language description of these 3066 data objects does not preclude their use by other programming languages. 3067 3068 ------------------------------------------------------------------------------- 3069 3070 errno.h 3071 3072 #define EDEADLOCK EDEADLK 3073 3074 ------------------------------------------------------------------------------- 3075 3076 inttypes.h 3077 3078 typedef long intmax_t; 3079 typedef unsigned long uintmax_t; 3080 typedef unsigned long uintptr_t; 3081 typedef unsigned long uint64_t; 3082 3083 ------------------------------------------------------------------------------- 3084 3085 limits.h 3086 3087 #define LONG_MAX 0x7FFFFFFFFFFFFFFFL 3088 #define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL 3089 3090 #define CHAR_MAX SCHAR_MAX 3091 #define CHAR_MIN SCHAR_MIN 3092 3093 ------------------------------------------------------------------------------- 3094 3095 setjmp.h 3096 3097 typedef long __jmp_buf[70] __attribute__ ((aligned (16))); 3098 3099 ------------------------------------------------------------------------------- 3100 3101 signal.h 3102 3103 struct sigaction 3104 { 3105 union 3106 { 3107 sighandler_t _sa_handler; 3108 void (*_sa_sigaction) (int, siginfo_t *, void *); 3109 } 3110 __sigaction_handler; 3111 unsigned long sa_flags; 3112 sigset_t sa_mask; 3113 } 3114 ; 3115 #define MINSIGSTKSZ 131027 3116 #define SIGSTKSZ 262144 3117 3118 struct ia64_fpreg 3119 { 3120 union 3121 { 3122 unsigned long bits[2]; 3123 long double __dummy; 3124 } 3125 u; 3126 } 3127 ; 3128 3129 struct sigcontext 3130 { 3131 unsigned long sc_flags; 3132 unsigned long sc_nat; 3133 stack_t sc_stack; 3134 unsigned long sc_ip; 3135 unsigned long sc_cfm; 3136 unsigned long sc_um; 3137 unsigned long sc_ar_rsc; 3138 unsigned long sc_ar_bsp; 3139 unsigned long sc_ar_rnat; 3140 unsigned long sc_ar_ccv; 3141 unsigned long sc_ar_unat; 3142 unsigned long sc_ar_fpsr; 3143 unsigned long sc_ar_pfs; 3144 unsigned long sc_ar_lc; 3145 unsigned long sc_pr; 3146 unsigned long sc_br[8]; 3147 unsigned long sc_gr[32]; 3148 struct ia64_fpreg sc_fr[128]; 3149 unsigned long sc_rbs_base; 3150 unsigned long sc_loadrs; 3151 unsigned long sc_ar25; 3152 unsigned long sc_ar26; 3153 unsigned long sc_rsvd[12]; 3154 unsigned long sc_mask; 3155 } 3156 ; 3157 3158 ------------------------------------------------------------------------------- 3159 3160 stddef.h 3161 3162 typedef long ptrdiff_t; 3163 typedef unsigned long size_t; 3164 3165 ------------------------------------------------------------------------------- 3166 3167 sys/ioctl.h 3168 3169 #define FIONREAD 0x541B 3170 #define TIOCNOTTY 0x5422 3171 3172 ------------------------------------------------------------------------------- 3173 3174 sys/ipc.h 3175 3176 struct ipc_perm 3177 { 3178 key_t __key; 3179 uid_t uid; 3180 gid_t gid; 3181 uid_t cuid; 3182 uid_t cgid; 3183 mode_t mode; 3184 unsigned short __seq; 3185 unsigned short __pad1; 3186 unsigned long __unused1; 3187 unsigned long __unused2; 3188 } 3189 ; 3190 3191 ------------------------------------------------------------------------------- 3192 3193 sys/mman.h 3194 3195 #define MCL_CURRENT 1 3196 #define MCL_FUTURE 2 3197 3198 ------------------------------------------------------------------------------- 3199 3200 sys/msg.h 3201 3202 struct msqid_ds 3203 { 3204 struct ipc_perm msg_perm; 3205 time_t msg_stime; 3206 time_t msg_rtime; 3207 time_t msg_ctime; 3208 unsigned long __msg_cbytes; 3209 unsigned long msg_qnum; 3210 unsigned long msg_qbytes; 3211 pid_t msg_lspid; 3212 pid_t msg_lrpid; 3213 unsigned long __unused1; 3214 unsigned long __unused2; 3215 } 3216 ; 3217 3218 ------------------------------------------------------------------------------- 3219 3220 sys/sem.h 3221 3222 struct semid_ds 3223 { 3224 struct ipc_perm sem_perm; 3225 time_t sem_otime; 3226 time_t sem_ctime; 3227 unsigned long sem_nsems; 3228 unsigned long __unused1; 3229 unsigned long __unused2; 3230 } 3231 ; 3232 3233 ------------------------------------------------------------------------------- 3234 3235 sys/shm.h 3236 3237 #define SHMLBA (1024*1024) 3238 3239 struct shmid_ds 3240 { 3241 struct ipc_perm shm_perm; 3242 size_t shm_segsz; 3243 time_t shm_atime; 3244 time_t shm_dtime; 3245 time_t shm_ctime; 3246 pid_t shm_cpid; 3247 pid_t shm_lpid; 3248 unsigned long shm_nattch; 3249 unsigned long __unused1; 3250 unsigned long __unused2; 3251 } 3252 ; 3253 3254 ------------------------------------------------------------------------------- 3255 3256 sys/socket.h 3257 3258 typedef uint64_t __ss_aligntype; 3259 3260 ------------------------------------------------------------------------------- 3261 3262 sys/stat.h 3263 3264 #define _STAT_VER 1 3265 3266 struct stat 3267 { 3268 dev_t st_dev; 3269 ino_t st_ino; 3270 nlink_t st_nlink; 3271 mode_t st_mode; 3272 uid_t st_uid; 3273 gid_t st_gid; 3274 unsigned int pad0; 3275 dev_t st_rdev; 3276 off_t st_size; 3277 struct timespec st_atim; 3278 struct timespec st_mtim; 3279 struct timespec st_ctim; 3280 blksize_t st_blksize; 3281 blkcnt_t st_blocks; 3282 unsigned long __unused[3]; 3283 } 3284 ; 3285 struct stat64 3286 { 3287 dev_t st_dev; 3288 ino64_t st_ino; 3289 nlink_t st_nlink; 3290 mode_t st_mode; 3291 uid_t st_uid; 3292 gid_t st_gid; 3293 unsigned int pad0; 3294 dev_t st_rdev; 3295 off_t st_size; 3296 struct timespec st_atim; 3297 struct timespec st_mtim; 3298 struct timespec st_ctim; 3299 blksize_t st_blksize; 3300 blkcnt64_t st_blocks; 3301 unsigned long __unused[3]; 3302 } 3303 ; 3304 3305 ------------------------------------------------------------------------------- 3306 3307 sys/statvfs.h 3308 3309 struct statvfs 3310 { 3311 unsigned long f_bsize; 3312 unsigned long f_frsize; 3313 fsblkcnt64_t f_blocks; 3314 fsblkcnt64_t f_bfree; 3315 fsblkcnt64_t f_bavail; 3316 fsfilcnt64_t f_files; 3317 fsfilcnt64_t f_ffree; 3318 fsfilcnt64_t f_favail; 3319 unsigned long f_fsid; 3320 unsigned long f_flag; 3321 unsigned long f_namemax; 3322 unsigned int __f_spare[6]; 3323 } 3324 ; 3325 struct statvfs64 3326 { 3327 unsigned long f_bsize; 3328 unsigned long f_frsize; 3329 fsblkcnt64_t f_blocks; 3330 fsblkcnt64_t f_bfree; 3331 fsblkcnt64_t f_bavail; 3332 fsfilcnt64_t f_files; 3333 fsfilcnt64_t f_ffree; 3334 fsfilcnt64_t f_favail; 3335 unsigned long f_fsid; 3336 unsigned long f_flag; 3337 unsigned long f_namemax; 3338 unsigned int __f_spare[6]; 3339 } 3340 ; 3341 3342 ------------------------------------------------------------------------------- 3343 3344 sys/types.h 3345 3346 typedef long int64_t; 3347 3348 typedef int64_t ssize_t; 3349 3350 ------------------------------------------------------------------------------- 3351 3352 termios.h 3353 3354 #define OLCUC 0000002 3355 #define ONLCR 0000004 3356 #define XCASE 0000004 3357 #define NLDLY 0000400 3358 #define CR1 0001000 3359 #define IUCLC 0001000 3360 #define CR2 0002000 3361 #define CR3 0003000 3362 #define CRDLY 0003000 3363 #define TAB1 0004000 3364 #define TAB2 0010000 3365 #define TAB3 0014000 3366 #define TABDLY 0014000 3367 #define BS1 0020000 3368 #define BSDLY 0020000 3369 #define VT1 0040000 3370 #define VTDLY 0040000 3371 #define FF1 0100000 3372 #define FFDLY 0100000 3373 3374 #define VSUSP 10 3375 #define VEOL 11 3376 #define VREPRINT 12 3377 #define VDISCARD 13 3378 #define VWERASE 14 3379 #define VEOL2 16 3380 #define VMIN 6 3381 #define VSWTC 7 3382 #define VSTART 8 3383 #define VSTOP 9 3384 3385 #define IXON 0002000 3386 #define IXOFF 0010000 3387 3388 #define CS6 0000020 3389 #define CS7 0000040 3390 #define CS8 0000060 3391 #define CSIZE 0000060 3392 #define CSTOPB 0000100 3393 #define CREAD 0000200 3394 #define PARENB 0000400 3395 #define PARODD 0001000 3396 #define HUPCL 0002000 3397 #define CLOCAL 0004000 3398 #define VTIME 5 3399 3400 #define ISIG 0000001 3401 #define ICANON 0000002 3402 #define ECHOE 0000020 3403 #define ECHOK 0000040 3404 #define ECHONL 0000100 3405 #define NOFLSH 0000200 3406 #define TOSTOP 0000400 3407 #define ECHOCTL 0001000 3408 #define ECHOPRT 0002000 3409 #define ECHOKE 0004000 3410 #define FLUSHO 0010000 3411 #define PENDIN 0040000 3412 #define IEXTEN 0100000 3413 3414 ------------------------------------------------------------------------------- 3415 3416 ucontext.h 3417 3418 #define _SC_GR0_OFFSET (((char *) & ((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0) 3419 3420 typedef struct sigcontext mcontext_t; 3421 3422 typedef struct ucontext 3423 { 3424 union 3425 { 3426 mcontext_t _mc; 3427 struct 3428 { 3429 unsigned long _pad[_SC_GR0_OFFSET / 8]; 3430 struct ucontext *_link; 3431 } 3432 _uc; 3433 } 3434 _u; 3435 } 3436 ucontext_t; 3437 3438 ------------------------------------------------------------------------------- 3439 3440 unistd.h 3441 3442 typedef long intptr_t; 3443 3444 ------------------------------------------------------------------------------- 3445 3446 utmp.h 3447 3448 struct lastlog 3449 { 3450 int32_t ll_time; 3451 char ll_line[UT_LINESIZE]; 3452 char ll_host[UT_HOSTSIZE]; 3453 } 3454 ; 3455 3456 struct utmp 3457 { 3458 short ut_type; 3459 pid_t ut_pid; 3460 char ut_line[UT_LINESIZE]; 3461 char ut_id[4]; 3462 char ut_user[UT_NAMESIZE]; 3463 char ut_host[UT_HOSTSIZE]; 3464 struct exit_status ut_exit; 3465 long ut_session; 3466 struct timeval ut_tv; 3467 int32_t ut_addr_v6[4]; 3468 char __unused[20]; 3469 } 3470 ; 3471 3472 ------------------------------------------------------------------------------- 3473 3474 utmpx.h 3475 3476 struct utmpx 3477 { 3478 short ut_type; 3479 pid_t ut_pid; 3480 char ut_line[UT_LINESIZE]; 3481 char ut_id[4]; 3482 char ut_user[UT_NAMESIZE]; 3483 char ut_host[UT_HOSTSIZE]; 3484 struct exit_status ut_exit; 3485 long ut_session; 3486 struct timeval ut_tv; 3487 int32_t ut_addr_v6[4]; 3488 char __unused[20]; 3489 } 3490 ; 3491 3492 ------------------------------------------------------------------------------- 3493 3494 Interfaces for libm 3495 3496 Table 1-28 defines the library name and shared object name for the libm library 3497 3498 Table 1-28. libm Definition 3499 3500 +---------------------+ 3501 |Library:|libm | 3502 |--------+------------| 3503 |SONAME: |libm.so.6.1 | 3504 +---------------------+ 3505 3506 The behavior of the interfaces in this library is specified by the following 3507 specifications: 3508 3509 ISO/IEC 9899: 1999, Programming Languages --C 3510 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 3511 (ISBN: 1-85912-181-0, C606) 3512 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3513 Specification(SUS) V3 3514 3515 ------------------------------------------------------------------------------- 3516 3517 Math 3518 3519 ------------------------------------------------------------------------------- 3520 3521 Interfaces for Math 3522 3523 An LSB conforming implementation shall provide the architecture specific 3524 functions for Math specified in Table 1-29, with the full functionality as 3525 described in the referenced underlying specification. 3526 3527 Table 1-29. libm - Math Function Interfaces 3528 3529 +-----------------------------------------------------------------------------+ 3530 |acos |cexp |expf(GLIBC_2.2) |jnf(GLIBC_2.2) |remquof | 3531 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[2] |(GLIBC_2.2) [1]| 3532 |[1] |[1] | | | | 3533 |------------+--------------+-----------------+---------------+---------------| 3534 |acosf |cexpf |expl(GLIBC_2.2) |jnl(GLIBC_2.2) |remquol | 3535 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[2] |(GLIBC_2.2) [1]| 3536 |[1] |[1] | | | | 3537 |------------+--------------+-----------------+---------------+---------------| 3538 |acosh |cexpl |expm1(GLIBC_2.2) |ldexp |rint(GLIBC_2.2)| 3539 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3540 |[1] |[1] | | | | 3541 |------------+--------------+-----------------+---------------+---------------| 3542 |acoshf |cimag |fabs(GLIBC_2.2) |ldexpf |rintf | 3543 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3544 |[1] |[1] | | | | 3545 |------------+--------------+-----------------+---------------+---------------| 3546 |acoshl |cimagf |fabsf(GLIBC_2.2) |ldexpl |rintl | 3547 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3548 |[1] |[1] | | | | 3549 |------------+--------------+-----------------+---------------+---------------| 3550 |acosl |cimagl |fabsl(GLIBC_2.2) |lgamma |round | 3551 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3552 |[1] |[1] | | | | 3553 |------------+--------------+-----------------+---------------+---------------| 3554 |asin |clog |fdim(GLIBC_2.2) |lgamma_r |roundf | 3555 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [2]|(GLIBC_2.2) [1]| 3556 |[1] |[1] | | | | 3557 |------------+--------------+-----------------+---------------+---------------| 3558 |asinf |clog10 |fdimf(GLIBC_2.2) |lgammaf |roundl | 3559 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3560 |[1] |[2] | | | | 3561 |------------+--------------+-----------------+---------------+---------------| 3562 |asinh |clog10f |fdiml(GLIBC_2.2) |lgammaf_r |scalb | 3563 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [2]|(GLIBC_2.2) [1]| 3564 |[1] |[2] | | | | 3565 |------------+--------------+-----------------+---------------+---------------| 3566 |asinhf |clog10l |feclearexcept |lgammal |scalbf | 3567 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]| 3568 |[1] |[2] | | | | 3569 |------------+--------------+-----------------+---------------+---------------| 3570 |asinhl |clogf |fegetenv |lgammal_r |scalbl | 3571 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [2]|(GLIBC_2.2) [2]| 3572 |[1] |[1] | | | | 3573 |------------+--------------+-----------------+---------------+---------------| 3574 |asinl |clogl |fegetexceptflag |llrint |scalbln | 3575 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3576 |[1] |[1] | | | | 3577 |------------+--------------+-----------------+---------------+---------------| 3578 |atan |conj |fegetround |llrintf |scalblnf | 3579 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3580 |[1] |[1] | | | | 3581 |------------+--------------+-----------------+---------------+---------------| 3582 |atan2 |conjf |feholdexcept |llrintl |scalblnl | 3583 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3584 |[1] |[1] | | | | 3585 |------------+--------------+-----------------+---------------+---------------| 3586 |atan2f |conjl |feraiseexcept |llround |scalbn | 3587 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3588 |[1] |[1] | | | | 3589 |------------+--------------+-----------------+---------------+---------------| 3590 |atan2l |copysign |fesetenv |llroundf |scalbnf | 3591 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3592 |[1] |[1] | | | | 3593 |------------+--------------+-----------------+---------------+---------------| 3594 |atanf |copysignf |fesetexceptflag |llroundl |scalbnl | 3595 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3596 |[1] |[1] | | | | 3597 |------------+--------------+-----------------+---------------+---------------| 3598 |atanh |copysignl |fesetround |log(GLIBC_2.2) |significand | 3599 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |[1] |(GLIBC_2.2) [2]| 3600 |[1] |[1] | | | | 3601 |------------+--------------+-----------------+---------------+---------------| 3602 |atanhf |cos(GLIBC_2.2)|fetestexcept |log10 |significandf | 3603 |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]| 3604 |[1] | | | | | 3605 |------------+--------------+-----------------+---------------+---------------| 3606 |atanhl |cosf |feupdateenv |log10f |significandl | 3607 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]| 3608 |[1] |[1] | | | | 3609 |------------+--------------+-----------------+---------------+---------------| 3610 |atanl |cosh |finite(GLIBC_2.2)|log10l |sin(GLIBC_2.2) | 3611 |(GLIBC_2.2) |(GLIBC_2.2) |[3] |(GLIBC_2.2) [1]|[1] | 3612 |[1] |[1] | | | | 3613 |------------+--------------+-----------------+---------------+---------------| 3614 |cabs |coshf |finitef |log1p |sincos | 3615 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |(GLIBC_2.2) [1]|(GLIBC_2.2) [2]| 3616 |[1] |[1] | | | | 3617 |------------+--------------+-----------------+---------------+---------------| 3618 |cabsf |coshl |finitel |logb(GLIBC_2.2)|sincosf | 3619 |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) [2] |[1] |(GLIBC_2.2) [2]| 3620 |[1] |[1] | | | | 3621 |------------+--------------+-----------------+---------------+---------------| 3622 |cabsl |cosl |floor(GLIBC_2.2) |logf(GLIBC_2.2)|sincosl | 3623 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |(GLIBC_2.2) [2]| 3624 |[1] |[1] | | | | 3625 |------------+--------------+-----------------+---------------+---------------| 3626 |cacos |cpow |floorf(GLIBC_2.2)|logl(GLIBC_2.2)|sinf(GLIBC_2.2)| 3627 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |[1] | 3628 |[1] |[1] | | | | 3629 |------------+--------------+-----------------+---------------+---------------| 3630 |cacosf |cpowf |floorl(GLIBC_2.2)|lrint |sinh(GLIBC_2.2)| 3631 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3632 |[1] |[1] | | | | 3633 |------------+--------------+-----------------+---------------+---------------| 3634 |cacosh |cpowl |fma(GLIBC_2.2) |lrintf |sinhf | 3635 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3636 |[1] |[1] | | | | 3637 |------------+--------------+-----------------+---------------+---------------| 3638 |cacoshf |cproj |fmaf(GLIBC_2.2) |lrintl |sinhl | 3639 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3640 |[1] |[1] | | | | 3641 |------------+--------------+-----------------+---------------+---------------| 3642 |cacoshl |cprojf |fmal(GLIBC_2.2) |lround |sinl(GLIBC_2.2)| 3643 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3644 |[1] |[1] | | | | 3645 |------------+--------------+-----------------+---------------+---------------| 3646 |cacosl |cprojl |fmax(GLIBC_2.2) |lroundf |sqrt(GLIBC_2.2)| 3647 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3648 |[1] |[1] | | | | 3649 |------------+--------------+-----------------+---------------+---------------| 3650 |carg |creal |fmaxf(GLIBC_2.2) |lroundl |sqrtf | 3651 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3652 |[1] |[1] | | | | 3653 |------------+--------------+-----------------+---------------+---------------| 3654 |cargf |crealf |fmaxl(GLIBC_2.2) |matherr |sqrtl | 3655 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [2]|(GLIBC_2.2) [1]| 3656 |[1] |[1] | | | | 3657 |------------+--------------+-----------------+---------------+---------------| 3658 |cargl |creall |fmin(GLIBC_2.2) |modf(GLIBC_2.2)|tan(GLIBC_2.2) | 3659 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |[1] | 3660 |[1] |[1] | | | | 3661 |------------+--------------+-----------------+---------------+---------------| 3662 |casin |csin |fminf(GLIBC_2.2) |modff |tanf(GLIBC_2.2)| 3663 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3664 |[1] |[1] | | | | 3665 |------------+--------------+-----------------+---------------+---------------| 3666 |casinf |csinf |fminl(GLIBC_2.2) |modfl |tanh(GLIBC_2.2)| 3667 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3668 |[1] |[1] | | | | 3669 |------------+--------------+-----------------+---------------+---------------| 3670 |casinh |csinh |fmod(GLIBC_2.2) |nan(GLIBC_2.2) |tanhf | 3671 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |(GLIBC_2.2) [1]| 3672 |[1] |[1] | | | | 3673 |------------+--------------+-----------------+---------------+---------------| 3674 |casinhf |csinhf |fmodf(GLIBC_2.2) |nanf(GLIBC_2.2)|tanhl | 3675 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |(GLIBC_2.2) [1]| 3676 |[1] |[1] | | | | 3677 |------------+--------------+-----------------+---------------+---------------| 3678 |casinhl |csinhl |fmodl(GLIBC_2.2) |nanl(GLIBC_2.2)|tanl(GLIBC_2.2)| 3679 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |[1] | 3680 |[1] |[1] | | | | 3681 |------------+--------------+-----------------+---------------+---------------| 3682 |casinl |csinl |frexp(GLIBC_2.2) |nearbyint |tgamma | 3683 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3684 |[1] |[1] | | | | 3685 |------------+--------------+-----------------+---------------+---------------| 3686 |catan |csqrt |frexpf(GLIBC_2.2)|nearbyintf |tgammaf | 3687 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3688 |[1] |[1] | | | | 3689 |------------+--------------+-----------------+---------------+---------------| 3690 |catanf |csqrtf |frexpl(GLIBC_2.2)|nearbyintl |tgammal | 3691 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3692 |[1] |[1] | | | | 3693 |------------+--------------+-----------------+---------------+---------------| 3694 |catanh |csqrtl |gamma(GLIBC_2.2) |nextafter |trunc | 3695 |(GLIBC_2.2) |(GLIBC_2.2) |[3] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3696 |[1] |[1] | | | | 3697 |------------+--------------+-----------------+---------------+---------------| 3698 |catanhf |ctan |gammaf(GLIBC_2.2)|nextafterf |truncf | 3699 |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3700 |[1] |[1] | | | | 3701 |------------+--------------+-----------------+---------------+---------------| 3702 |catanhl |ctanf |gammal(GLIBC_2.2)|nextafterl |truncl | 3703 |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| 3704 |[1] |[1] | | | | 3705 |------------+--------------+-----------------+---------------+---------------| 3706 |catanl |ctanh |hypot(GLIBC_2.2) |nexttoward |y0(GLIBC_2.2) | 3707 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[1] | 3708 |[1] |[1] | | | | 3709 |------------+--------------+-----------------+---------------+---------------| 3710 |cbrt |ctanhf |hypotf(GLIBC_2.2)|nexttowardf |y0f(GLIBC_2.2) | 3711 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[2] | 3712 |[1] |[1] | | | | 3713 |------------+--------------+-----------------+---------------+---------------| 3714 |cbrtf |ctanhl |hypotl(GLIBC_2.2)|nexttowardl |y0l(GLIBC_2.2) | 3715 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [1]|[2] | 3716 |[1] |[1] | | | | 3717 |------------+--------------+-----------------+---------------+---------------| 3718 |cbrtl |ctanl |ilogb(GLIBC_2.2) |pow(GLIBC_2.2) |y1(GLIBC_2.2) | 3719 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |[1] |[1] | 3720 |[1] |[1] | | | | 3721 |------------+--------------+-----------------+---------------+---------------| 3722 |ccos |dremf |ilogbf(GLIBC_2.2)|pow10 |y1f(GLIBC_2.2) | 3723 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [2]|[2] | 3724 |[1] |[2] | | | | 3725 |------------+--------------+-----------------+---------------+---------------| 3726 |ccosf |dreml |ilogbl(GLIBC_2.2)|pow10f |y1l(GLIBC_2.2) | 3727 |(GLIBC_2.2) |(GLIBC_2.2) |[1] |(GLIBC_2.2) [2]|[2] | 3728 |[1] |[2] | | | | 3729 |------------+--------------+-----------------+---------------+---------------| 3730 |ccosh |erf(GLIBC_2.2)| |pow10l |yn(GLIBC_2.2) | 3731 |(GLIBC_2.2) |[1] |j0(GLIBC_2.2) [1]|(GLIBC_2.2) [2]|[1] | 3732 |[1] | | | | | 3733 |------------+--------------+-----------------+---------------+---------------| 3734 |ccoshf |erfc |j0f(GLIBC_2.2) |powf(GLIBC_2.2)|ynf(GLIBC_2.2) | 3735 |(GLIBC_2.2) |(GLIBC_2.2) |[2] |[1] |[2] | 3736 |[1] |[1] | | | | 3737 |------------+--------------+-----------------+---------------+---------------| 3738 |ccoshl |erfcf |j0l(GLIBC_2.2) |powl(GLIBC_2.2)|ynl(GLIBC_2.2) | 3739 |(GLIBC_2.2) |(GLIBC_2.2) |[2] |[1] |[2] | 3740 |[1] |[1] | | | | 3741 |------------+--------------+-----------------+---------------+---------------| 3742 |ccosl |erfcl | |remainder | | 3743 |(GLIBC_2.2) |(GLIBC_2.2) |j1(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| | 3744 |[1] |[1] | | | | 3745 |------------+--------------+-----------------+---------------+---------------| 3746 |ceil |erff |j1f(GLIBC_2.2) |remainderf | | 3747 |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) [1]| | 3748 |[1] |[1] | | | | 3749 |------------+--------------+-----------------+---------------+---------------| 3750 |ceilf |erfl |j1l(GLIBC_2.2) |remainderl | | 3751 |(GLIBC_2.2) |(GLIBC_2.2) |[2] |(GLIBC_2.2) [1]| | 3752 |[1] |[1] | | | | 3753 |------------+--------------+-----------------+---------------+---------------| 3754 |ceill |exp(GLIBC_2.2)| |remquo | | 3755 |(GLIBC_2.2) |[1] |jn(GLIBC_2.2) [1]|(GLIBC_2.2) [1]| | 3756 |[1] | | | | | 3757 +-----------------------------------------------------------------------------+ 3758 3759 Referenced Specification(s) 3760 3761 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3762 Specification(SUS) V3 3763 3764 [2]. ISO/IEC 9899: 1999, Programming Languages --C 3765 3766 [3]. CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 3767 5 (ISBN: 1-85912-181-0, C606) 3768 3769 An LSB conforming implementation shall provide the architecture specific data 3770 interfaces for Math specified in Table 1-30, with the full functionality as 3771 described in the referenced underlying specification. 3772 3773 Table 1-30. libm - Math Data Interfaces 3774 3775 +-------------------------------+ 3776 |signgam(GLIBC_2.2) [1] | | | | | 3777 +-------------------------------+ 3778 3779 Referenced Specification(s) 3780 3781 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3782 Specification(SUS) V3 3783 3784 ------------------------------------------------------------------------------- 3785 3786 Interfaces for libpthread 3787 3788 Table 1-31 defines the library name and shared object name for the libpthread 3789 library 3790 3791 Table 1-31. libpthread Definition 3792 3793 +-------------------------+ 3794 |Library:|libpthread | 3795 |--------+----------------| 3796 |SONAME: |libpthread.so.0 | 3797 +-------------------------+ 3798 3799 The behavior of the interfaces in this library is specified by the following 3800 specifications: 3801 3802 Large File Support 3803 Linux Standard Base 3804 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3805 Specification(SUS) V3 3806 3807 ------------------------------------------------------------------------------- 3808 3809 Realtime Threads 3810 3811 ------------------------------------------------------------------------------- 3812 3813 Interfaces for Realtime Threads 3814 3815 No external functions are defined for libpthread - Realtime Threads 3816 3817 ------------------------------------------------------------------------------- 3818 3819 Advanced Realtime Threads 3820 3821 ------------------------------------------------------------------------------- 3822 3823 Interfaces for Advanced Realtime Threads 3824 3825 No external functions are defined for libpthread - Advanced Realtime Threads 3826 3827 ------------------------------------------------------------------------------- 3828 3829 Posix Threads 3830 3831 ------------------------------------------------------------------------------- 3832 3833 Interfaces for Posix Threads 3834 3835 An LSB conforming implementation shall provide the architecture specific 3836 functions for Posix Threads specified in Table 1-32, with the full 3837 functionality as described in the referenced underlying specification. 3838 3839 Table 1-32. libpthread - Posix Threads Function Interfaces 3840 3841 +-----------------------------------------------------------------------------------------------------------------------------------------+ 3842 |_pthread_cleanup_pop |pthread_cancel(GLIBC_2.2) |pthread_join(GLIBC_2.2) [2] |pthread_rwlock_destroy |pthread_setconcurrency| 3843 |(GLIBC_2.2) [1] |[2] | |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | 3844 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3845 |_pthread_cleanup_push |pthread_cond_broadcast |pthread_key_create |pthread_rwlock_init |pthread_setspecific | 3846 |(GLIBC_2.2) [1] |(GLIBC_2.3.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | 3847 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3848 |pread(GLIBC_2.2) [2] |pthread_cond_destroy |pthread_key_delete |pthread_rwlock_rdlock |pthread_sigmask | 3849 | |(GLIBC_2.3.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | 3850 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3851 |pread64(GLIBC_2.2) [3] |pthread_cond_init |pthread_kill(GLIBC_2.2) [2] |pthread_rwlock_timedrdlock |pthread_testcancel | 3852 | |(GLIBC_2.3.2) [2] | |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | 3853 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3854 |pthread_attr_destroy |pthread_cond_signal |pthread_mutex_destroy |pthread_rwlock_timedwrlock |pwrite(GLIBC_2.2) [2] | 3855 |(GLIBC_2.2) [2] |(GLIBC_2.3.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | | 3856 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3857 |pthread_attr_getdetachstate|pthread_cond_timedwait |pthread_mutex_init |pthread_rwlock_tryrdlock |pwrite64(GLIBC_2.2) | 3858 |(GLIBC_2.2) [2] |(GLIBC_2.3.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[3] | 3859 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3860 |pthread_attr_getguardsize |pthread_cond_wait |pthread_mutex_lock |pthread_rwlock_trywrlock |sem_close(GLIBC_2.2) | 3861 |(GLIBC_2.2) [2] |(GLIBC_2.3.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[2] | 3862 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3863 |pthread_attr_getschedparam |pthread_condattr_destroy |pthread_mutex_trylock |pthread_rwlock_unlock |sem_destroy(GLIBC_2.2)| 3864 |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[2] | 3865 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3866 |pthread_attr_getstackaddr |pthread_condattr_getpshared|pthread_mutex_unlock |pthread_rwlock_wrlock |sem_getvalue | 3867 |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | 3868 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3869 |pthread_attr_getstacksize |pthread_condattr_init |pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_init(GLIBC_2.2) | 3870 |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[2] | 3871 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3872 |pthread_attr_init |pthread_condattr_setpshared|pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_open(GLIBC_2.2) | 3873 |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[2] | 3874 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3875 |pthread_attr_setdetachstate|pthread_create(GLIBC_2.2) |pthread_mutexattr_gettype |pthread_rwlockattr_init |sem_post(GLIBC_2.2) | 3876 |(GLIBC_2.2) [2] |[2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[2] | 3877 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3878 |pthread_attr_setguardsize |pthread_detach(GLIBC_2.2) |pthread_mutexattr_init |pthread_rwlockattr_setpshared|sem_timedwait | 3879 |(GLIBC_2.2) [2] |[2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] | 3880 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3881 |pthread_attr_setschedparam |pthread_equal(GLIBC_2.2) |pthread_mutexattr_setpshared|pthread_self(GLIBC_2.2) [2] |sem_trywait(GLIBC_2.2)| 3882 |(GLIBC_2.2) [2] |[2] |(GLIBC_2.2) [2] | |[2] | 3883 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3884 |pthread_attr_setstackaddr |pthread_exit(GLIBC_2.2) [2]|pthread_mutexattr_settype |pthread_setcancelstate |sem_unlink(GLIBC_2.2) | 3885 |(GLIBC_2.2) [2] | |(GLIBC_2.2) [2] |(GLIBC_2.2) [2] |[2] | 3886 |---------------------------+---------------------------+----------------------------+-----------------------------+----------------------| 3887 |pthread_attr_setstacksize |pthread_getspecific |pthread_once(GLIBC_2.2) [2] |pthread_setcanceltype |sem_wait(GLIBC_2.2) | 3888 |(GLIBC_2.3.3) [2] |(GLIBC_2.2) [2] | |(GLIBC_2.2) [2] |[2] | 3889 +-----------------------------------------------------------------------------------------------------------------------------------------+ 3890 3891 Referenced Specification(s) 3892 3893 [1]. Linux Standard Base 3894 3895 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 3896 Specification(SUS) V3 3897 3898 [3]. Large File Support 3899 3900 ------------------------------------------------------------------------------- 3901 3902 Interfaces for libgcc_s 3903 3904 Table 1-33 defines the library name and shared object name for the libgcc_s 3905 library 3906 3907 Table 1-33. libgcc_s Definition 3908 3909 +-----------------------+ 3910 |Library:|libgcc_s | 3911 |--------+--------------| 3912 |SONAME: |libgcc_s.so.1 | 3913 +-----------------------+ 3914 3915 The behavior of the interfaces in this library is specified by the following 3916 specifications: 3917 3918 Linux Standard Base 3919 3920 ------------------------------------------------------------------------------- 3921 3922 Unwind Library 3923 3924 ------------------------------------------------------------------------------- 3925 3926 Interfaces for Unwind Library 3927 3928 An LSB conforming implementation shall provide the architecture specific 3929 functions for Unwind Library specified in Table 1-34, with the full 3930 functionality as described in the referenced underlying specification. 3931 3932 Table 1-34. libgcc_s - Unwind Library Function Interfaces 3933 3934 +----------------------------------------------------------------------------------------------------------+ 3935 |_Unwind_DeleteException|_Unwind_GetGR|_Unwind_GetLanguageSpecificData|_Unwind_RaiseException|_Unwind_SetGR| 3936 |(GCC_3.0) [1] |(GCC_3.0) [1]|(GCC_3.0) [1] |(GCC_3.0) [1] |(GCC_3.0) [1]| 3937 |-----------------------+-------------+-------------------------------+----------------------+-------------| 3938 |_Unwind_ForcedUnwind |_Unwind_GetIP|_Unwind_GetRegionStart(GCC_3.0)|_Unwind_Resume |_Unwind_SetIP| 3939 |(GCC_3.0) [1] |(GCC_3.0) [1]|[1] |(GCC_3.0) [1] |(GCC_3.0) [1]| 3940 +----------------------------------------------------------------------------------------------------------+ 3941 3942 Referenced Specification(s) 3943 3944 [1]. Linux Standard Base 3945 3946 ------------------------------------------------------------------------------- 3947 3948 Interface Definitions for libgcc_s 3949 3950 Table of Contents 3951 _Unwind_DeleteException -- private C++ error handling method 3952 _Unwind_ForcedUnwind -- private C++ error handling method 3953 _Unwind_GetGR -- private C++ error handling method 3954 _Unwind_GetIP -- private C++ error handling method 3955 _Unwind_GetLanguageSpecificData -- private C++ error handling method 3956 _Unwind_GetRegionStart -- private C++ error handling method 3957 _Unwind_RaiseException -- private C++ error handling method 3958 _Unwind_Resume -- private C++ error handling method 3959 _Unwind_SetGR -- private C++ error handling method 3960 _Unwind_SetIP -- private C++ error handling method 3961 3962 The following interfaces are included in libgcc_s and are defined by this 3963 specification. Unless otherwise noted, these interfaces shall be included in 3964 the source standard. 3965 3966 Other interfaces listed above for libgcc_s shall behave as described in the 3967 referenced base document. 3968 3969 _Unwind_DeleteException 3970 3971 Name 3972 3973 _Unwind_DeleteException -- private C++ error handling method 3974 3975 Synopsis 3976 3977 void _Unwind_DeleteException((struct _Unwind_Exception *object)); 3978 3979 Description 3980 3981 _Unwind_DeleteException deletes the given exception object. If a given runtime 3982 resumes normal execution after catching a foreign exception, it will not know 3983 how to delete that exception. Such an exception shall be deleted by calling 3984 _Unwind_DeleteException. This is a convenience function that calls the function 3985 pointed to by the exception_cleanup field of the exception header. 3986 3987 _Unwind_ForcedUnwind 3988 3989 Name 3990 3991 _Unwind_ForcedUnwind -- private C++ error handling method 3992 3993 Synopsis 3994 3995 _Unwind_Reason_Code _Unwind_ForcedUnwind((struct _Unwind_Exception *object), 3996 _Unwind_Stop_Fn stop, void *stop_parameter); 3997 3998 Description 3999 4000 _Unwind_ForcedUnwind raises an exception for forced unwinding, passing along 4001 the given exception object, which should have its exception_class and 4002 exception_cleanup fields set. The exception object has been allocated by the 4003 language-specific runtime, and has a language-specific format, except that it 4004 shall contain an _Unwind_Exception struct. 4005 4006 Forced unwinding is a single-phase process. stop and stop_parameter control the 4007 termination of the unwind process instead of the usual personality routine 4008 query. stop is called for each unwind frame, with the parameteres described for 4009 the usual personality routine below, plus an additional stop_parameter. 4010 4011 Return Value 4012 4013 When stop identifies the destination frame, it transfers control to the user 4014 code as appropriate without returning, normally after calling 4015 _Unwind_DeleteException. If not, then it should return an _Unwind_Reason_Code 4016 value. 4017 4018 If stop returns any reason code other than _URC_NO_REASON, then the stack state 4019 is indeterminate from the point of view of the caller of _Unwind_ForcedUnwind. 4020 Rather than attempt to return, therefore, the unwind library should use the 4021 exception_cleanup entry in the exception, and then call abort. 4022 4023 _URC_NO_REASON 4024 4025 This is not the destination from. The unwind runtime will call frame's 4026 personality routine with the _UA_FORCE_UNWIND and _UA_CLEANUP_PHASE flag 4027 set in actions, and then unwind to the next frame and call the stop 4028 function again. 4029 4030 _URC_END_OF_STACK 4031 4032 In order to allow _Unwind_ForcedUnwind to perform special processing when 4033 it reaches the end of the stack, the unwind runtime will call it after the 4034 last frame is rejected, with a NULL stack pointer in the context, and the 4035 stop function shall catch this condition. It may return this code if it 4036 cannot handle end-of-stack. 4037 4038 _URC_FATAL_PHASE2_ERROR 4039 4040 The stop function may return this code for other fatal conditions like 4041 stack corruption. 4042 4043 _Unwind_GetGR 4044 4045 Name 4046 4047 _Unwind_GetGR -- private C++ error handling method 4048 4049 Synopsis 4050 4051 _Unwind_Word _Unwind_GetGR((struct _Unwind_Context *context), int index); 4052 4053 Description 4054 4055 _Unwind_GetGR returns data at index found in context. The register is 4056 identified by its index: 0 to 31 are for the fixed registers, and 32 to 127 are 4057 for the stacked registers. 4058 4059 During the two phases of unwinding, only GR1 has a guaranteed value, which is 4060 the global pointer of the frame referenced by the unwind context. If the 4061 register has its NAT bit set, the behavior is unspecified. 4062 4063 _Unwind_GetIP 4064 4065 Name 4066 4067 _Unwind_GetIP -- private C++ error handling method 4068 4069 Synopsis 4070 4071 _Unwind_Ptr _Unwind_GetIP((struct _Unwind_Context *context)); 4072 4073 Description 4074 4075 _Unwind_GetIP returns the instruction pointer value for the routine identified 4076 by the unwind context. 4077 4078 _Unwind_GetLanguageSpecificData 4079 4080 Name 4081 4082 _Unwind_GetLanguageSpecificData -- private C++ error handling method 4083 4084 Synopsis 4085 4086 _Unwind_Ptr _Unwind_GetLanguageSpecificData((struct _Unwind_Context *context), 4087 uint value); 4088 4089 Description 4090 4091 _Unwind_GetLanguageSpecificData returns the address of the language specific 4092 data area for the current stack frame. 4093 4094 _Unwind_GetRegionStart 4095 4096 Name 4097 4098 _Unwind_GetRegionStart -- private C++ error handling method 4099 4100 Synopsis 4101 4102 _Unwind_Ptr _Unwind_GetRegionStart((struct _Unwind_Context *context)); 4103 4104 Description 4105 4106 _Unwind_GetRegionStart routine returns the address (i.e., 0) of the beginning 4107 of the procedure or code fragment described by the current unwind descriptor 4108 block. 4109 4110 _Unwind_RaiseException 4111 4112 Name 4113 4114 _Unwind_RaiseException -- private C++ error handling method 4115 4116 Synopsis 4117 4118 _Unwind_Reason_Code _Unwind_RaiseException((struct _Unwind_Exception *object)); 4119 4120 Description 4121 4122 _Unwind_RaiseException raises an exception, passing along the given exception 4123 object, which should have its exception_class and exception_cleanup fields set. 4124 The exception object has been allocated by the language-specific runtime, and 4125 has a language-specific format, exception that it shall contain an 4126 _Unwind_Exception. 4127 4128 Return Value 4129 4130 _Unwind_RaiseException does not return unless an error condition is found. If 4131 an error condition occurs, an _Unwind_Reason_Code is returnd: 4132 4133 _URC_END_OF_STACK 4134 4135 The unwinder encountered the end of the stack during phase one without 4136 finding a handler. The unwind runtime will not have modified the stack. The 4137 C++ runtime will normally call uncaught_exception in this case. 4138 4139 _URC_FATAL_PHASE1_ERROR 4140 4141 The unwinder encountered an unexpected error during phase one, because of 4142 something like stack corruption. The unwind runtime will not have modified 4143 the stack. The C++ runtime will normally call terminate in this case. 4144 4145 _URC_FATAL_PHASE2_ERROR 4146 4147 The unwinder encountered an unexpected error during phase two. This is 4148 usually a throw, which will call terminate. 4149 4150 _Unwind_Resume 4151 4152 Name 4153 4154 _Unwind_Resume -- private C++ error handling method 4155 4156 Synopsis 4157 4158 void _Unwind_Resume((struct _Unwind_Exception *object)); 4159 4160 Description 4161 4162 _Unwind_Resume resumes propagation of an existing exception object. A call to 4163 this routine is inserted as the end of a landing pad that performs cleanup, but 4164 does not resume normal execution. It causes unwinding to proceed further. 4165 4166 _Unwind_SetGR 4167 4168 Name 4169 4170 _Unwind_SetGR -- private C++ error handling method 4171 4172 Synopsis 4173 4174 void _Unwind_SetGR((struct _Unwind_Context *context), int index, uint value); 4175 4176 Description 4177 4178 _Unwind_SetGR sets the value of the register indexed for the routine identified 4179 by the unwind context. 4180 4181 _Unwind_SetIP 4182 4183 Name 4184 4185 _Unwind_SetIP -- private C++ error handling method 4186 4187 Synopsis 4188 4189 void _Unwind_SetIP((struct _Unwind_Context *context), uint value); 4190 4191 Description 4192 4193 _Unwind_SetIP sets the value of the instruction pointer for the routine 4194 identified by the unwind context 4195 4196 ------------------------------------------------------------------------------- 4197 4198 Interfaces for libdl 4199 4200 Table 1-35 defines the library name and shared object name for the libdl 4201 library 4202 4203 Table 1-35. libdl Definition 4204 4205 +--------------------+ 4206 |Library:|libdl | 4207 |--------+-----------| 4208 |SONAME: |libdl.so.2 | 4209 +--------------------+ 4210 4211 The behavior of the interfaces in this library is specified by the following 4212 specifications: 4213 4214 Linux Standard Base 4215 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 4216 Specification(SUS) V3 4217 4218 ------------------------------------------------------------------------------- 4219 4220 Dynamic Loader 4221 4222 ------------------------------------------------------------------------------- 4223 4224 Interfaces for Dynamic Loader 4225 4226 An LSB conforming implementation shall provide the architecture specific 4227 functions for Dynamic Loader specified in Table 1-36, with the full 4228 functionality as described in the referenced underlying specification. 4229 4230 Table 1-36. libdl - Dynamic Loader Function Interfaces 4231 4232 +------------------------------------------------------------------------------+ 4233 |dladdr |dlclose |dlerror |dlopen |dlsym | 4234 |(GLIBC_2.0) [1]|(GLIBC_2.0) [2]|(GLIBC_2.0) [2]|(GLIBC_2.1) [1]|(GLIBC_2.0) | 4235 | | | | |[1] | 4236 +------------------------------------------------------------------------------+ 4237 4238 Referenced Specification(s) 4239 4240 [1]. Linux Standard Base 4241 4242 [2]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 4243 Specification(SUS) V3 4244 4245 ------------------------------------------------------------------------------- 4246 4247 Interfaces for libcrypt 4248 4249 Table 1-37 defines the library name and shared object name for the libcrypt 4250 library 4251 4252 Table 1-37. libcrypt Definition 4253 4254 +-----------------------+ 4255 |Library:|libcrypt | 4256 |--------+--------------| 4257 |SONAME: |libcrypt.so.1 | 4258 +-----------------------+ 4259 4260 The behavior of the interfaces in this library is specified by the following 4261 specifications: 4262 4263 ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 4264 Specification(SUS) V3 4265 4266 ------------------------------------------------------------------------------- 4267 4268 Encryption 4269 4270 ------------------------------------------------------------------------------- 4271 4272 Interfaces for Encryption 4273 4274 An LSB conforming implementation shall provide the architecture specific 4275 functions for Encryption specified in Table 1-38, with the full functionality 4276 as described in the referenced underlying specification. 4277 4278 Table 1-38. libcrypt - Encryption Function Interfaces 4279 4280 +---------------------------------------------------------------------+ 4281 |crypt(GLIBC_2.0) [1]|encrypt(GLIBC_2.0) [1]|setkey(GLIBC_2.0) [1]| | | 4282 +---------------------------------------------------------------------+ 4283 4284 Referenced Specification(s) 4285 4286 [1]. ISO/IEC 9945:2003 Portable Operating System(POSIX)and The Single UNIX 4287 Specification(SUS) V3 4288 4289 II. Utility Libraries 4290 4291 Table of Contents 4292 2. Libraries 4293 4294 ------------------------------------------------------------------------------- 4295 4296 Chapter 2. Libraries 4297 4298 The Utility libraries are those that are commonly used, but not part of the 4299 Single Unix Specification. 4300 4301 ------------------------------------------------------------------------------- 4302 4303 Interfaces for libz 4304 4305 Table 2-1 defines the library name and shared object name for the libz library 4306 4307 Table 2-1. libz Definition 4308 4309 +-------------------+ 4310 |Library:|libz | 4311 |--------+----------| 4312 |SONAME: |libz.so.1 | 4313 +-------------------+ 4314 4315 ------------------------------------------------------------------------------- 4316 4317 Compression Library 4318 4319 ------------------------------------------------------------------------------- 4320 4321 Interfaces for Compression Library 4322 4323 No external functions are defined for libz - Compression Library 4324 4325 ------------------------------------------------------------------------------- 4326 4327 Interfaces for libncurses 4328 4329 Table 2-2 defines the library name and shared object name for the libncurses 4330 library 4331 4332 Table 2-2. libncurses Definition 4333 4334 +-------------------------+ 4335 |Library:|libncurses | 4336 |--------+----------------| 4337 |SONAME: |libncurses.so.5 | 4338 +-------------------------+ 4339 4340 ------------------------------------------------------------------------------- 4341 4342 Curses 4343 4344 ------------------------------------------------------------------------------- 4345 4346 Interfaces for Curses 4347 4348 No external functions are defined for libncurses - Curses 4349 4350 ------------------------------------------------------------------------------- 4351 4352 Interfaces for libutil 4353 4354 Table 2-3 defines the library name and shared object name for the libutil 4355 library 4356 4357 Table 2-3. libutil Definition 4358 4359 +----------------------+ 4360 |Library:|libutil | 4361 |--------+-------------| 4362 |SONAME: |libutil.so.1 | 4363 +----------------------+ 4364 4365 The behavior of the interfaces in this library is specified by the following 4366 specifications: 4367 4368 Linux Standard Base 4369 4370 ------------------------------------------------------------------------------- 4371 4372 Utility Functions 4373 4374 ------------------------------------------------------------------------------- 4375 4376 Interfaces for Utility Functions 4377 4378 An LSB conforming implementation shall provide the architecture specific 4379 functions for Utility Functions specified in Table 2-4, with the full 4380 functionality as described in the referenced underlying specification. 4381 4382 Table 2-4. libutil - Utility Functions Function Interfaces 4383 4384 +--------------------------------------------------------------------------+ 4385 |forkpty(GLIBC_2.0) [1]|login_tty(GLIBC_2.0) [1]|logwtmp(GLIBC_2.0) [1]| | | 4386 |----------------------+------------------------+----------------------+-+-| 4387 |login(GLIBC_2.0) [1] |logout(GLIBC_2.0) [1] |openpty(GLIBC_2.0) [1]| | | 4388 +--------------------------------------------------------------------------+ 4389 4390 Referenced Specification(s) 4391 4392 [1]. Linux Standard Base 4393 4394 ------------------------------------------------------------------------------- 4395 4396 Appendix A. Alphabetical Listing of Interfaces 4397 4398 ------------------------------------------------------------------------------- 4399 4400 libgcc_s 4401 4402 The behaviour of the interfaces in this library is specified by the following 4403 Standards. 4404 4405 Linux Standard Base 4406 4407 Table A-1. libgcc_s Function Interfaces 4408 4409 +-----------------------------------------------------------------------------+ 4410 |_Unwind_DeleteException[1]|_Unwind_GetLanguageSpecificData |_Unwind_SetGR[1]| 4411 | |[1] | | 4412 |--------------------------+---------------------------------+----------------| 4413 |_Unwind_ForcedUnwind[1] |_Unwind_GetRegionStart[1] |_Unwind_SetIP[1]| 4414 |--------------------------+---------------------------------+----------------| 4415 |_Unwind_GetGR[1] |_Unwind_RaiseException[1] | | 4416 |--------------------------+---------------------------------+----------------| 4417 |_Unwind_GetIP[1] |_Unwind_Resume[1] | | 4418 +-----------------------------------------------------------------------------+ 4419 4420 Linux Packaging Specification 4421 4422 ------------------------------------------------------------------------------- 4423 4424 Table of Contents 4425 I. Package Format and Installation 4426 4427 1. Software Installation 4428 4429 Package Dependencies 4430 Package Architecture Considerations 4431 4432 I. Package Format and Installation 4433 4434 Table of Contents 4435 1. Software Installation 4436 4437 ------------------------------------------------------------------------------- 4438 4439 Chapter 1. Software Installation 4440 4441 ------------------------------------------------------------------------------- 4442 4443 Package Dependencies 4444 4445 The LSB runtime environment shall provde the following dependencies. 4446 4447 lsb-core-ia64 4448 4449 This dependency is used to indicate that the application is dependent on 4450 features contained in the LSB-Core specification. 4451 4452 Other LSB modules may add additional dependencies; such dependencies shall have 4453 the format lsb-module-ia64. 4454 4455 ------------------------------------------------------------------------------- 4456 4457 Package Architecture Considerations 4458 4459 All packages must specify an architecture of IA64. A LSB runtime environment 4460 must accept an architecture of IA64 even if the native architecture is 4461 different. 4462 4463 The archnum value in the Lead Section shall be 0x0009. 4464