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