1 Linux Standard Base Specification for the PPC32 Architecture 1.3 2 3 Copyright © 2002 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 were taken from other copyrighted documents in accordance 12 with the respective licenses of those documents. 13 14 Linux is a trademark of Linus Torvalds. 15 16 UNIX a registered trademark of the Open Group in the United States and other 17 countries. 18 19 LSB is a trademark of the Free Standards Group in the USA and other countries. 20 21 Intel386 and Itanium are trademarks of Intel Corporation. 22 23 OpenGL is a registered trademark of Silicon Graphics, Inc. 24 25 ------------------------------------------------------------------------------- 26 27 Table of Contents 28 I. Introduction 29 30 1. Introduction 31 32 Introduction 33 Purpose 34 Related Standards 35 Relevant Libraries 36 How to Use this Standard 37 Definitions 38 Terminology 39 40 II. Low Level System Information 41 42 2. Machine Interface 43 44 Processor Architecture 45 Data Representation 46 47 3. Function Calling Sequence 48 49 CPU Registers 50 Floating Point Registers 51 Stack Frame 52 Arguments 53 Return Values 54 55 4. Operating System Interface 56 57 Processor Execution Mode 58 Exception Interface 59 Signal Delivery 60 61 5. Process Initialization 62 63 Special Registers 64 Process Stack (on entry) 65 Auxiliary Vector 66 Environment 67 68 6. Coding Examples 69 70 Code Model Overview/Architecture Constraints 71 Position-Independent Function Prologue 72 Data Objects 73 Function Calls 74 Branching 75 76 7. C Stack Frame 77 78 Variable Argument List 79 Dynamic Allocation of Stack Space 80 81 8. Debug Information 82 83 III. Object Format 84 85 9. ELF Header 86 87 Machine Information 88 89 10. Sections 90 91 Special Sections 92 Linux Special Sections 93 Section Types 94 Section Attribute Flags 95 Special Section Types 96 97 11. Symbol Table 98 12. Relocation 99 100 Relocation Types 101 102 IV. Program Loading and Dynamic Linking 103 104 13. Program Header 105 106 Types 107 Flags 108 109 14. Program Loading 110 15. Dynamic Linking 111 112 Program Interpreter/Dynamic Linker 113 Dynamic Section 114 Global Offset Table 115 Shared Object Dependencies 116 Function Addresses 117 Procedure Linkage Table 118 Initialization and Termination Functions 119 120 V. Base Libraries 121 122 16. Libraries 123 124 Interfaces for libc 125 Data Definitions for libc 126 Interfaces for libm 127 Data Definitions for libm 128 Interfaces for libpthread 129 Data Definitions for libpthread 130 Interfaces for libdl 131 Data Definitions for libdl 132 Interfaces for libcrypt 133 Data Definitions for libcrypt 134 135 VI. Package Format and Installation 136 137 17. Software Installation 138 139 Package Architecture Considerations 140 141 A. Alphabetical Listing of Interfaces 142 B. GNU Free Documentation License 143 144 PREAMBLE 145 APPLICABILITY AND DEFINITIONS 146 VERBATIM COPYING 147 COPYING IN QUANTITY 148 MODIFICATIONS 149 COMBINING DOCUMENTS 150 COLLECTIONS OF DOCUMENTS 151 AGGREGATION WITH INDEPENDENT WORKS 152 TRANSLATION 153 TERMINATION 154 FUTURE REVISIONS OF THIS LICENSE 155 How to use this License for your documents 156 157 List of Tables 158 1-1. Related Standards 159 1-2. Standard Library Names 160 2-1. Scalar Types 161 5-1. Extra Auxiliary Types 162 10-1. ELF Special Sections 163 10-2. Additional Special Sections 164 16-1. libc Definition 165 16-2. libc - RPC Function Interfaces 166 16-3. libc - System Calls Function Interfaces 167 16-4. libc - System Calls Deprecated Function Interfaces 168 16-5. libc - Standard I/O Function Interfaces 169 16-6. libc - Standard I/O Deprecated Function Interfaces 170 16-7. libc - Standard I/O Data Interfaces 171 16-8. libc - Signal Handling Function Interfaces 172 16-9. libc - Signal Handling Data Interfaces 173 16-10. libc - Localization Functions Function Interfaces 174 16-11. libc - Localization Functions Deprecated Function Interfaces 175 16-12. libc - Localization Functions Data Interfaces 176 16-13. libc - Socket Interface Function Interfaces 177 16-14. libc - Wide Characters Function Interfaces 178 16-15. libc - String Functions Function Interfaces 179 16-16. libc - IPC Functions Function Interfaces 180 16-17. libc - Regular Expressions Function Interfaces 181 16-18. libc - Regular Expressions Data Interfaces 182 16-19. libc - Character Type Functions Function Interfaces 183 16-20. libc - Character Type Functions Data Interfaces 184 16-21. libc - Time Manipulation Function Interfaces 185 16-22. libc - Time Manipulation Data Interfaces 186 16-23. libc - Terminal Interface Functions Function Interfaces 187 16-24. libc - System Database Interface Function Interfaces 188 16-25. libc - System Database Interface Deprecated Function Interfaces 189 16-26. libc - Language Support Function Interfaces 190 16-27. libc - Large File Support Function Interfaces 191 16-28. libc - Large File Support Deprecated Function Interfaces 192 16-29. libc - Standard Library Function Interfaces 193 16-30. libc - Standard Library Data Interfaces 194 16-31. libm Definition 195 16-32. libm - Math Function Interfaces 196 16-33. libm - Math Data Interfaces 197 16-34. libpthread Definition 198 16-35. libpthread - Posix Threads Function Interfaces 199 16-36. libdl Definition 200 16-37. libcrypt Definition 201 202 List of Figures 203 5-1. Initial Process Stack 204 205 I. Introduction 206 207 Table of Contents 208 1. Introduction 209 210 ------------------------------------------------------------------------------- 211 212 Chapter 1. Introduction 213 214 Introduction 215 216 This is version 1.3 of the Linux Standard Base Specification for 32 bit 217 implementations of the PowerPCTM Architecture. An implementation of this 218 version of the specification may not claim to be an implementation of the Linux 219 Standard Base unless it has successfully completed the compliance process as 220 defined by the Free Standards Group. 221 222 ------------------------------------------------------------------------------- 223 224 Purpose 225 226 The Linux Standard Base (LSB) defines a system interface for compiled 227 applications and a minimal environment for support of installation scripts. Its 228 purpose is to enable a uniform industry standard environment for high-volume 229 applications conforming to the LSB. 230 231 The LSB defines a binary interface for application programs that are compiled 232 and packaged for LSB-conforming implementations on many different hardware 233 architectures. Since a binary specification must include information specific 234 to the computer processor architecture for which it is intended, it is not 235 possible for a single document to specify the interface for all possible 236 LSB-conforming implementations. Therefore, the LSB is a family of 237 specifications, rather than a single one. 238 239 The LSB is composed of two basic parts: A common part of the specification 240 describes those parts of the interface that remain constant across all hardware 241 implementations of the LSB, and an architecture-specific part of the 242 specification describes the parts of the specification that are specific to a 243 particular processor architecture. Together, the generic LSB and the 244 architecture-specific supplement for a single hardware architecture provide a 245 complete interface specification for compiled application programs on systems 246 that share a common hardware architecture. 247 248 This document is the architecture-specific supplement. It must be used in 249 conjunction with the generic LSB. This document provides architecture-specific 250 information that supplements the generic LSB as well as additional information 251 that is not found in the generic LSB. 252 253 This document should be used in conjunction with the documents it references. 254 This document enumerates the system components it includes, but descriptions of 255 those components may be included entirely or partly in this document, partly in 256 other documents, or entirely in other reference documents. For example, the 257 section that describes system service routines includes a list of the system 258 routines supported in this interface, formal declarations of the data 259 structures they use that are visible to applications, and a pointer to the 260 underlying referenced specification for information about the syntax and 261 semantics of each call. Only those routines not described in standards 262 referenced by this document, or extensions to those standards, are described in 263 the detail. Information referenced in this way is as much a part of this 264 document as is the information explicitly included here. 265 266 ------------------------------------------------------------------------------- 267 268 Related Standards 269 270 The specifications listed below are referenced in whole or in part by the Linux 271 Standard Base. Such references may be normative or non-normative; a reference 272 to specification shall only be considered normative if it is explicitly cited 273 as such. The LSB may make normative references to a portion of these 274 specifications (that is, to define a specific function or group of functions); 275 in such cases, only the explicitly referenced portion of the specification is 276 to be considered normative. 277 278 Table 1-1. Related Standards 279 280 +-----------------------------------------------------------------------------+ 281 |System V Application Binary Interface - DRAFT -|http://www.caldera.com/ | 282 |22 June 2000 |developers/gabi/2000-07-17/ | 283 | |contents.html | 284 |-----------------------------------------------+-----------------------------| 285 |DWARF Debugging Information Format, Revision | | 286 |2.0.0 (July 27, 1993) | | 287 |-----------------------------------------------+-----------------------------| 288 |Filesystem Hierarchy Standard (FHS) 2.2 |http://www.pathname.com/fhs/ | 289 |-----------------------------------------------+-----------------------------| 290 |IEEE Standard for Binary Floating-Point |http://www.ieee.org/ | 291 |Arithmetic | | 292 |-----------------------------------------------+-----------------------------| 293 |System V Application Binary Interface, Edition |http://www.caldera.com/ | 294 |4.1 |developers/devspecs/ | 295 | |gabi41.pdf | 296 |-----------------------------------------------+-----------------------------| 297 |ISO/IEC 9899: 1990, Programming Languages --C | | 298 |-----------------------------------------------+-----------------------------| 299 |ISO/IEC 9899: 1999, Programming Languages --C | | 300 |-----------------------------------------------+-----------------------------| 301 |ISO/IEC 14882: 1998(E) Programming languages | | 302 |--C++ | | 303 |-----------------------------------------------+-----------------------------| 304 |Linux Assigned Names And Numbers Authority |http://www.lanana.org/ | 305 |-----------------------------------------------+-----------------------------| 306 |Large File Support |http://www.UNIX-systems.org/ | 307 | |version2/whatsnew/ | 308 | |lfs20mar.html | 309 |-----------------------------------------------+-----------------------------| 310 |LI18NUX 2000 Globalization Specification, |http://www.li18nux.org/docs/ | 311 |Version 1.0 with Amendment 4 |html/LI18NUX-2000-amd4.htm | 312 |-----------------------------------------------+-----------------------------| 313 |Linux Standard Base |http://www.linuxbase.org/spec| 314 | |/ | 315 |-----------------------------------------------+-----------------------------| 316 |OpenGL® Application Binary Interface for Linux |http://oss.sgi.com/projects/ | 317 | |ogl-sample/ABI/ | 318 |-----------------------------------------------+-----------------------------| 319 |OSF-RFC 86.0 |http://www.opengroup.org/tech| 320 | |/rfc/mirror-rfc/rfc86.0.txt | 321 |-----------------------------------------------+-----------------------------| 322 |IEEE Std POSIX 1003.2-1992 (ISO/IEC |http://www.ieee.org/ | 323 |9945-2:1993) | | 324 |-----------------------------------------------+-----------------------------| 325 |System V Application Binary Interface PowerPC |http://www.esofta.com/pdfs/ | 326 |Processor Supplement |SVR4abippc.pdf | 327 |-----------------------------------------------+-----------------------------| 328 |The PowerPC TM Architecture: A Specification |http://www.austin.ibm.com | 329 |for a new family of RISC processors | | 330 |-----------------------------------------------+-----------------------------| 331 |The PowerPC Architecture Book I changes |http://www-1.ibm.com/servers/| 332 | |eserver/pseries/library/ | 333 | |ppc_chg1.html | 334 |-----------------------------------------------+-----------------------------| 335 |The PowerPC Architecture Book II changes |http://www-1.ibm.com/servers/| 336 | |eserver/pseries/library/ | 337 | |ppc_chg2.html | 338 |-----------------------------------------------+-----------------------------| 339 |The PowerPC Architecture Book III changes |http://www-1.ibm.com/servers/| 340 | |eserver/pseries/library/ | 341 | |ppc_chg3.html | 342 |-----------------------------------------------+-----------------------------| 343 |POSIX 1003.1c |http://www.ieee.org/ | 344 |-----------------------------------------------+-----------------------------| 345 |RFC 1952: GZIP file format specification |http://www.ietf.org/rfc/ | 346 |version 4.3 |rfc1952.txt | 347 |-----------------------------------------------+-----------------------------| 348 |RFC 2440: OpenPGP Message Format | | 349 |-----------------------------------------------+-----------------------------| 350 |CAE Specification, May 1996, X/Open Curses, |http://www.opengroup.org/ | 351 |Issue 4, Version 2 (ISBN: 1-85912-171-3, C610),|publications/catalog/un.htm | 352 |plus Corrigendum U018 | | 353 |-----------------------------------------------+-----------------------------| 354 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 355 |Interface Definitions (XBD),Issue 5 (ISBN: |publications/catalog/un.htm | 356 |1-85912-186-1, C605) | | 357 |-----------------------------------------------+-----------------------------| 358 |CAE Specification, January 1997, Commands and |http://www.opengroup.org/ | 359 |Utilities (XCU), Issue 5 (ISBN: 1-85912-191-8, |publications/catalog/un.htm | 360 |C604) | | 361 |-----------------------------------------------+-----------------------------| 362 |CAE Specification, February 1997, Networking |http://www.opengroup.org/ | 363 |Services (XNS), Issue 5(ISBN: 1-85912-165-9, | | 364 |C523) | | 365 |-----------------------------------------------+-----------------------------| 366 |CAE Specification, January 1997, System |http://www.opengroup.org/ | 367 |Interfaces and Headers (XSH),Issue 5 (ISBN: |publications/catalog/un.htm | 368 |1-85912-181-0, C606) | | 369 |-----------------------------------------------+-----------------------------| 370 |The Single UNIX® Specification(SUS) Version 1 |http://www.opengroup.org/ | 371 |(UNIX 95) System Interfaces & Headers |publications/catalog/un.htm | 372 |-----------------------------------------------+-----------------------------| 373 |The Single UNIX® Specification(SUS) Version 3 |http://www.unix.org/version3/| 374 |-----------------------------------------------+-----------------------------| 375 |System V Interface Definition, Issue 3 (ISBN | | 376 |0201566524) | | 377 |-----------------------------------------------+-----------------------------| 378 |System V Interface Definition,Fourth Edition | | 379 |-----------------------------------------------+-----------------------------| 380 |Double Buffer Extension Library |http://www.x.org/ | 381 |-----------------------------------------------+-----------------------------| 382 |X Display Power Management Signaling (DPMS) |http://www.x.org/ | 383 |Extension, Library Specification | | 384 |-----------------------------------------------+-----------------------------| 385 |X Record Extension Library |http://www.x.org/ | 386 |-----------------------------------------------+-----------------------------| 387 |Security Extension Specification, Version 7.1 |http://www.x.org/ | 388 |-----------------------------------------------+-----------------------------| 389 |X Nonrectangular Window Shape Extension Library|http://www.x.org/ | 390 |Version 1.0 | | 391 |-----------------------------------------------+-----------------------------| 392 |MIT-SHM--The MIT Shared Memory Extension |http://www.x.org/ | 393 |-----------------------------------------------+-----------------------------| 394 |X Synchronization Extension Library |http://www.x.org/ | 395 |-----------------------------------------------+-----------------------------| 396 |XTEST Extension Library |http://www.x.org/ | 397 |-----------------------------------------------+-----------------------------| 398 |X11R6.4 X Inter-Client Exchange (ICE) Protocol |http://www.x.org/ | 399 |-----------------------------------------------+-----------------------------| 400 |X11R6.4 X11 Input Extension Library |http://www.x.org/ | 401 |-----------------------------------------------+-----------------------------| 402 |X11R6.4 Xlib - C library |http://www.x.org/ | 403 |-----------------------------------------------+-----------------------------| 404 |X/Open Portability Guide, Issue 4 |http://www.opengroup.org/ | 405 |-----------------------------------------------+-----------------------------| 406 |X11R6.4 X Session Management Library |http://www.x.org/ | 407 |-----------------------------------------------+-----------------------------| 408 |X11R6.4 X Toolkit Intrinsics |http://www.x.org/ | 409 |-----------------------------------------------+-----------------------------| 410 |zlib 1.1.3 Manual |http://www.gzip.org/zlib/ | 411 +-----------------------------------------------------------------------------+ 412 ------------------------------------------------------------------------------- 413 414 Relevant Libraries 415 416 The libraries listed here shall be available on a Linux Standard Base system. 417 This list is an addition to the list in the general specification. 418 419 Table 1-2. Standard Library Names 420 421 +---------------------------------+ 422 |Library |Runtime Name | 423 |----------+----------------------| 424 |libm |libm.so.6 | 425 |----------+----------------------| 426 |libdl |libdl.so.2 | 427 |----------+----------------------| 428 |libcrypt |libcrypt.so.1 | 429 |----------+----------------------| 430 |libc |libc.so.6 | 431 |----------+----------------------| 432 |libpthread|libpthread.so.0 | 433 |----------+----------------------| 434 |proginterp|/lib/ld-lsb-ppc32.so.1| 435 +---------------------------------+ 436 437 These libraries will be in an implementation-dependent directory which the 438 dynamic linker will search by default. 439 440 ------------------------------------------------------------------------------- 441 442 How to Use this Standard 443 444 The complete LSB specification is composed of a generic LSB specification and 445 this supplemental processor-specific specification. These two documents 446 constitute a specification that should be used in conjunction with the 447 publicly-available standards documents it references. The LSB enumerates the 448 system components it includes, but descriptions of those components may be 449 included entirely in the LSB, partly in the LSB and partly in other documents, 450 or entirely in other reference documents. 451 452 ------------------------------------------------------------------------------- 453 454 Definitions 455 456 gLSB 457 458 The common part of the LSB Specification that describes those parts of the 459 interface that remain constant across all hardware implementations of the 460 LSB. 461 462 archLSB 463 464 The architectural part of the LSB Specification which describes the 465 specific parts of the interface that are platform specific. The archLSB is 466 complementary to the gLSB. 467 468 LSB Implementation Conformance 469 470 An implementation satisfying the following requirements: 471 472 1. The implementation shall implement fully the architecture described in 473 the hardware manual for the target processor architecture. 474 475 2. The implementation shall be capable of executing compiled applications 476 having the format and using the system interfaces described in this 477 document. 478 479 3. The implementation shall provide libraries containing the interfaces 480 specified by this document, and shall provide a dynamic linking 481 mechanism that allows these interfaces to be attached to applications 482 at runtime. All the interfaces shall behave as specified in this 483 document. 484 485 4. The map of virtual memory provided by the implementation shall conform 486 to the requirements of this document. 487 488 5. The implementation's low-level behavior with respect to function call 489 linkage, system traps, signals, and other such activities shall conform 490 to the formats described in this document. 491 492 6. The implementation shall provide all of the mandatory interfaces in 493 their entirety. 494 495 7. The implementation may provide one or more of the optional interfaces. 496 Each optional interface that is provided shall be provided in its 497 entirety. The product documentation shall state which optional 498 interfaces are provided. 499 500 8. The implementation shall provide all files and utilities specified as 501 part of this document in the format defined here and in other 502 referenced documents. All commands and utilities shall behave as 503 required by this document. The implementation shall also provide all 504 mandatory components of an application's runtime environment that are 505 included or referenced in this document. 506 507 9. The implementation, when provided with standard data formats and values 508 at a named interface, shall provide the behavior defined for those 509 values and data formats at that interface. However, a conforming 510 implementation may consist of components which are separately packaged 511 and/or sold. For example, a vendor of a conforming implementation might 512 sell the hardware, operating system, and windowing system as separately 513 packaged items. 514 515 10. The implementation may provide additional interfaces with different 516 names. It may also provide additional behavior corresponding to data 517 values outside the standard ranges, for standard named interfaces. 518 519 LSB Application Conformance 520 521 An application with the following characteristics: 522 523 1. Its executable files are either shell scripts or object files in the 524 format defined for the Object File Format system interface. 525 526 2. Its object files participate in dynamic linking as defined in the 527 Program Loading and Linking System interface. 528 529 3. It employs only the instructions, traps, and other low-level facilities 530 defined in the Low-Level System interface as being for use by 531 applications. 532 533 4. If it requires any optional interface defined in this document in order 534 to be installed or to execute successfully, the requirement for that 535 optional interface is stated in the application's documentation. 536 537 5. It does not use any interface or data format that is not required to be 538 provided by a conforming implementation, unless: 539 540 o If such an interface or data format is supplied by another 541 application through direct invocation of that application during 542 execution, that application is in turn an LSB conforming 543 application. 544 545 o The use of that interface or data format, as well as its source, is 546 identified in the documentation of the application. 547 548 6. It must not use any values for a named interface that are reserved for 549 vendor extensions. 550 551 A strictly conforming application does not require or use any interface, 552 facility, or implementation-defined extension that is not defined in this 553 document in order to be installed or to execute successfully. 554 555 Rationale 556 557 An LSB conforming application is expected to have no dependencies on any 558 vendor extensions to this document. The most common such extensions are 559 additional function entry points and additional libraries other than the 560 ones defined in this document. If an application requires such extensions, 561 it is not portable, since other LSB conforming implementations may not 562 provide those extensions. 563 564 An LSB conforming application is required to use system services on the 565 implementation on which it is running, rather than importing system 566 routines from some other implementation. Thus, it must link dynamically to 567 any routines in the implementation that perform system traps to kernel 568 services. 569 570 It is to be expected that some applications may be companion applications 571 to other applications. For example, a query application may be a companion 572 to a database application; a preprocessor may be an adjunct to one or more 573 compilers; a data reformatter may convert data from one document manager to 574 another. In such cases, the application may or may not be LSB conforming, 575 regardless of whether the other application on which it is dependent is LSB 576 conforming. If such an application merely uses data produced by another 577 application, the application's compliance is independent of the other 578 application's compliance. If such an application actually invokes another 579 application during execution (as, for example, a third-party math library), 580 the invoking application is LSB conforming only if it also constitutes a 581 LSB conforming application in combination with the invoked application. 582 583 Shell Script 584 585 A file that is read by an interpreter (e.g., awk). The first line of the 586 shell script includes a reference to its interpreter binary. 587 588 ------------------------------------------------------------------------------- 589 590 Terminology 591 592 can 593 594 Describes a permissible optional feature or behavior available to the user 595 or application. The feature or behavior is mandatory for an implementation 596 that conforms to this document. An application can rely on the existence of 597 the feature or behavior. 598 599 implementation-defined 600 601 Describes a value or behavior that is not defined by this document but is 602 selected by an implementor. The value or behavior may vary among 603 implementations that conform to this document. An application should not 604 rely on the existence of the value or behavior. An application that relies 605 on such a value or behavior cannot be assured to be portable across 606 conforming implementations. The implementor shall document such a value or 607 behavior so that it can be used correctly by an application. 608 609 may 610 611 Describes a feature or behavior that is optional for an implementation that 612 conforms to this document. An application should not rely on the existence 613 of the feature or behavior. An application that relies on such a feature or 614 behavior cannot be assured to be portable across conforming 615 implementations. 616 617 To avoid ambiguity, the opposite of may is expressed as need not, instead 618 of may not. 619 620 must 621 622 Describes a feature or behavior that is mandatory for an application or 623 user. An implementation that conforms to this document shall support this 624 feature or behavior. 625 626 shall 627 628 Describes a feature or behavior that is mandatory for an implementation 629 that conforms to this document. An application can rely on the existence of 630 the feature or behavior. 631 632 should 633 634 For an implementation that conforms to this document, describes a feature 635 or behavior that is recommended but not mandatory. An application should 636 not rely on the existence of the feature or behavior. An application that 637 relies on such a feature or behavior cannot be assured to be portable 638 across conforming implementations. 639 640 For an application, describes a feature or behavior that is recommended 641 programming practice for optimum portability. 642 643 undefined 644 645 Describes the nature of a value or behavior not defined by this document 646 which results from use of an invalid program construct or invalid data 647 input. The value or behavior may vary among implementations that conform to 648 this document. An application should not rely on the existence or validity 649 of the value or behavior. An application that relies on any particular 650 value or behavior cannot be assured to be portable across conforming 651 implementations. 652 653 unspecified 654 655 Describes the nature of a value or behavior not specified by this document 656 which results from use of a valid program construct or valid data input. 657 The value or behavior may vary among implementations that conform to this 658 document. An application should not rely on the existence or validity of 659 the value or behavior. An application that relies on any particular value 660 or behavior cannot be assured to be portable across conforming 661 implementations. 662 663 will 664 665 Same meaning as shall; shall is the preferred term. 666 667 II. Low Level System Information 668 669 Table of Contents 670 2. Machine Interface 671 3. Function Calling Sequence 672 4. Operating System Interface 673 5. Process Initialization 674 6. Coding Examples 675 7. C Stack Frame 676 8. Debug Information 677 678 ------------------------------------------------------------------------------- 679 680 Chapter 2. Machine Interface 681 682 Processor Architecture 683 684 The PowerPC Architecture is specified by the following documents: 685 686 * System V Application Binary Interface PowerPC Processor Supplement 687 688 * The PowerPC TM Architecture: A Specification for a new family of RISC 689 processors 690 691 * The PowerPC Architecture Book I changes 692 693 * The PowerPC Architecture Book II changes 694 695 * The PowerPC Architecture Book III changes 696 697 Only the features of the PowerPC processor instruction set may be assumed to 698 be present. An application is responsible for determining if any additional 699 instruction set features are available before using those additional features. 700 If a feature is not present, then the application may not use it. 701 702 An implementation must support the 32-bit computation mode as described in The 703 PowerPC TM Architecture: A Specification for a new family of RISC processors. 704 Conforming applications shall not use instructions provided only for the 64-bit 705 mode. 706 707 Applications conforming to this specification must provide feedback to the user 708 if a feature that is required for correct execution of the application is not 709 present. Applications conforming to this specification should attempt to 710 execute in a diminished capacity if a required feature is not present. 711 712 This specification does not provide any performance guarantees of a conforming 713 system. A system conforming to this specification may be implemented in either 714 hardware or software. 715 716 ------------------------------------------------------------------------------- 717 718 Data Representation 719 720 LSB-conforming applications shall use the data representation as defined in 721 Chapter 3 of the System V Application Binary Interface PowerPC Processor 722 Supplement. 723 724 ------------------------------------------------------------------------------- 725 726 Byte Ordering 727 728 LSB-conforming applications shall use big-endian byte ordering. LSB-conforming 729 implementations may support little-endian applications. 730 731 ------------------------------------------------------------------------------- 732 733 Fundamental Types 734 735 In addition to the fundamental types specified in Chapter 3 of the System V 736 Application Binary Interface PowerPC Processor Supplement, a 64 bit data type 737 is defined here. 738 739 Table 2-1. Scalar Types 740 741 +----------------------------------------------------------------------------+ 742 |Type |C |sizeof|Alignment (bytes)|IntelI386 Architecture| 743 |--------+-------------------+------+-----------------+----------------------| 744 | |long long | | | | 745 | |-------------------|8 |8 |signed double word | 746 |Integral|signed long long | | | | 747 | |-------------------+------+-----------------+----------------------| 748 | |unsigned long long |8 |8 |unsigned double word | 749 +----------------------------------------------------------------------------+ 750 751 LSB-conforming applications shall not use the long double fundamental type. 752 753 ------------------------------------------------------------------------------- 754 755 Aggregates and Unions 756 757 ------------------------------------------------------------------------------- 758 759 Bit Fields 760 761 ------------------------------------------------------------------------------- 762 763 Chapter 3. Function Calling Sequence 764 765 LSB-conforming applications shall use the function calling sequence as defined 766 in Chapter 3 of the System V Application Binary Interface PowerPC Processor 767 Supplement. 768 769 ------------------------------------------------------------------------------- 770 771 CPU Registers 772 773 ------------------------------------------------------------------------------- 774 775 Floating Point Registers 776 777 ------------------------------------------------------------------------------- 778 779 Stack Frame 780 781 ------------------------------------------------------------------------------- 782 783 Arguments 784 785 ------------------------------------------------------------------------------- 786 787 Return Values 788 789 LSB-conforming applications shall not return structures or unions in registers 790 as described in Section 3 of System V Application Binary Interface PowerPC 791 Processor Supplement. Instead they must use the alternative method of passing 792 the address of a buffer in a register as shown in the same section. 793 794 ------------------------------------------------------------------------------- 795 796 Chapter 4. Operating System Interface 797 798 LSB-conforming applications shall use the Operating System Interfaces as 799 defined in Chapter 3 of the System V Application Binary Interface PowerPC 800 Processor Supplement. 801 802 ------------------------------------------------------------------------------- 803 804 Processor Execution Mode 805 806 ------------------------------------------------------------------------------- 807 808 Exception Interface 809 810 ------------------------------------------------------------------------------- 811 812 Hardware Exception Types 813 814 ------------------------------------------------------------------------------- 815 816 Software Trap Types 817 818 ------------------------------------------------------------------------------- 819 820 Debugging Support 821 822 ------------------------------------------------------------------------------- 823 824 Process Startup 825 826 ------------------------------------------------------------------------------- 827 828 Signal Delivery 829 830 ------------------------------------------------------------------------------- 831 832 Signal Handler Interface 833 834 ------------------------------------------------------------------------------- 835 836 Chapter 5. Process Initialization 837 838 LSB-conforming applications shall use the Operating System Interfaces as 839 defined in Chapter 3 of the System V Application Binary Interface PowerPC 840 Processor Supplement. 841 842 ------------------------------------------------------------------------------- 843 844 Special Registers 845 846 Contrary to what is stated in the Registers part of Chapter 3 of the System V 847 Application Binary Interface PowerPC Processor Supplement there are no values 848 set in registers r3, r4, r5, r6 and r7. Instead the values specified to appear 849 in all of those registers except r7 are placed on the stack. The value to be 850 placed into register r7, the termination function pointer is not passed to the 851 process. 852 853 ------------------------------------------------------------------------------- 854 855 Process Stack (on entry) 856 857 Figure 3-31 in System V Application Binary Interface PowerPC Processor 858 Supplement is incorrect. The initial stack must look like the following. 859 860 861 862 Figure 5-1. Initial Process Stack 863 864 [initial_pr] 865 866 867 868 ------------------------------------------------------------------------------- 869 870 Auxiliary Vector 871 872 In addition to the types defined in Chapter 3 of the System V Application 873 Binary Interface PowerPC Processor Supplement the following are also supported: 874 875 Table 5-1. Extra Auxiliary Types 876 877 +-----------------------------------------------------------------------------+ 878 |Name |Value|Comment | 879 |--------------+-----+--------------------------------------------------------| 880 |AT_NOTELF |10 |Program is not ELF | 881 |--------------+-----+--------------------------------------------------------| 882 |AT_UID |11 |Real uid | 883 |--------------+-----+--------------------------------------------------------| 884 |AT_EUID |12 |Effective uid | 885 |--------------+-----+--------------------------------------------------------| 886 |AT_GID |13 |Real gid | 887 |--------------+-----+--------------------------------------------------------| 888 |AT_EGID |14 |Effective gid | 889 |--------------+-----+--------------------------------------------------------| 890 |AT_PLATFORM |15 |String identifying CPU for optimizations | 891 |--------------+-----+--------------------------------------------------------| 892 |AT_HWCAP |16 |Arch dependent hints at CPU capabilities | 893 |--------------+-----+--------------------------------------------------------| 894 |AT_CLKTCK |17 |Frequency at which times() increments | 895 |--------------+-----+--------------------------------------------------------| 896 |AT_DCACHEBSIZE|19 |The a_val member of this entry gives the data cache | 897 | | |block size for processors on the system on which this | 898 | | |program is running. If the processors have unified | 899 | | |caches, AT_DCACHEBSIZE is the same as AT_UCACHEBSIZE | 900 |--------------+-----+--------------------------------------------------------| 901 |AT_ICACHEBSIZE|20 |The a_val member of this entyr gives the instruction | 902 | | |cache block size for processors on the system on which | 903 | | |this program is running. If the processors have unified | 904 | | |caches, AT_DCACHEBSIZE is the same as AT_UCACHEBSIZE. | 905 |--------------+-----+--------------------------------------------------------| 906 |AT_UCACHEBSIZE|21 |The a_val member of this entry is zero if the processors| 907 | | |on the system on which this program is running do not | 908 | | |have a unified instruction and data cache. Otherwise it | 909 | | |gives the cache block size. | 910 |--------------+-----+--------------------------------------------------------| 911 |AT_IGNOREPPC |22 |All entries of this type should be ignored. | 912 +-----------------------------------------------------------------------------+ 913 914 The last three entries in the table above override the values specified in 915 System V Application Binary Interface PowerPC Processor Supplement. 916 917 ------------------------------------------------------------------------------- 918 919 Environment 920 921 ------------------------------------------------------------------------------- 922 923 Chapter 6. Coding Examples 924 925 LSB-conforming applications may implement fundamental operations using the 926 Coding Examples as defined in Chapter 3 of the System V Application Binary 927 Interface PowerPC Processor Supplement. 928 929 ------------------------------------------------------------------------------- 930 931 Code Model Overview/Architecture Constraints 932 933 ------------------------------------------------------------------------------- 934 935 Position-Independent Function Prologue 936 937 ------------------------------------------------------------------------------- 938 939 Data Objects 940 941 ------------------------------------------------------------------------------- 942 943 Absolute Load & Store 944 945 ------------------------------------------------------------------------------- 946 947 Position Relative Load & Store 948 949 ------------------------------------------------------------------------------- 950 951 Function Calls 952 953 ------------------------------------------------------------------------------- 954 955 Absolute Direct Function Call 956 957 ------------------------------------------------------------------------------- 958 959 Absolute Indirect Function Call 960 961 ------------------------------------------------------------------------------- 962 963 Position-Independent Direct Function Call 964 965 ------------------------------------------------------------------------------- 966 967 Position-Independent Indirect Function Call 968 969 ------------------------------------------------------------------------------- 970 971 Branching 972 973 ------------------------------------------------------------------------------- 974 975 Branch Instruction 976 977 ------------------------------------------------------------------------------- 978 979 Absolute switch() code 980 981 ------------------------------------------------------------------------------- 982 983 Position-Independent switch() code 984 985 ------------------------------------------------------------------------------- 986 987 Chapter 7. C Stack Frame 988 989 Variable Argument List 990 991 ------------------------------------------------------------------------------- 992 993 Dynamic Allocation of Stack Space 994 995 ------------------------------------------------------------------------------- 996 997 Chapter 8. Debug Information 998 999 The LSB does not currently specify the format of Debug information. 1000 1001 III. Object Format 1002 1003 LSB-conforming implementations shall support an object file , called 1004 Executable and Linking Format (ELF) as defined by the System V Application 1005 Binary Interface PowerPC Processor Supplement and as supplemented by the Linux 1006 Standard Base Specification and this document. LSB-conforming implementations 1007 need not support tags related functionality. LSB-conforming applications must 1008 not rely on tags related functionality. 1009 1010 Table of Contents 1011 9. ELF Header 1012 10. Sections 1013 11. Symbol Table 1014 12. Relocation 1015 1016 ------------------------------------------------------------------------------- 1017 1018 Chapter 9. ELF Header 1019 1020 Machine Information 1021 1022 LSB-conforming applications shall use the Machine Information as defined in 1023 System V Application Binary Interface PowerPC Processor Supplement, Chapter 4. 1024 1025 ------------------------------------------------------------------------------- 1026 1027 File Class 1028 1029 ------------------------------------------------------------------------------- 1030 1031 Data Encoding 1032 1033 ------------------------------------------------------------------------------- 1034 1035 OS Identification 1036 1037 ------------------------------------------------------------------------------- 1038 1039 Processor Identification 1040 1041 ------------------------------------------------------------------------------- 1042 1043 Processor Specific Flags 1044 1045 ------------------------------------------------------------------------------- 1046 1047 Chapter 10. Sections 1048 1049 ------------------------------------------------------------------------------- 1050 1051 Special Sections 1052 1053 The following sections are defined in the System V Application Binary Interface 1054 PowerPC Processor Supplement. 1055 1056 Table 10-1. ELF Special Sections 1057 1058 +-----------------------------------------------------+ 1059 | Name | Type | Attributes | 1060 |------+------------+---------------------------------| 1061 |.got |SHT_PROGBITS|SHF_ALLOC+SHF_WRITE+SHF_EXECINSTR| 1062 |------+------------+---------------------------------| 1063 |.plt |SHT_NOBITS |SHF_ALLOC+SHF_WRITE+SHF_EXECINSTR| 1064 |------+------------+---------------------------------| 1065 |.sdata|SHT_PROGBITS|SHF_ALLOC+SHF_WRITE | 1066 +-----------------------------------------------------+ 1067 1068 .got 1069 1070 This section holds the global offset table. See `Coding Examples' in 1071 Chapter 3, `Special Sections' in Chapter 4, and `Global Offset Table' in 1072 Chapter 5 of the processor supplement for more information. 1073 1074 .plt 1075 1076 This section holds the Procedure Linkage Table 1077 1078 .sdata 1079 1080 This section holds initialized small data that contribute to the program 1081 memory image 1082 1083 Note that the .tags, .taglist and .tagsym sections described in System V 1084 Application Binary Interface PowerPC Processor Supplement are not supported. 1085 1086 ------------------------------------------------------------------------------- 1087 1088 Linux Special Sections 1089 1090 The following Linux PPC32 specific sections are defined here. 1091 1092 Table 10-2. Additional Special Sections 1093 1094 +-------------------------------------------+ 1095 | Name | Type | Attributes | 1096 |----------+------------+-------------------| 1097 |.got2 |SHT_PROGBITS|SHF_ALLOC+SHF_WRITE| 1098 |----------+------------+-------------------| 1099 |.rela.bss |SHT_RELA |SHF_ALLOC | 1100 |----------+------------+-------------------| 1101 |.rela.dyn |SHT_RELA |SHF_ALLOC | 1102 |----------+------------+-------------------| 1103 |.rela.got |SHT_RELA |SHF_ALLOC | 1104 |----------+------------+-------------------| 1105 |.rela.got2|SHT_RELA |SHF_ALLOC | 1106 |----------+------------+-------------------| 1107 |.rela.plt |SHT_RELA |SHF_ALLOC | 1108 |----------+------------+-------------------| 1109 |.rela.sbss|SHT_RELA |SHF_ALLOC | 1110 +-------------------------------------------+ 1111 1112 .got2 1113 1114 This section holds the second level GOT 1115 1116 .rela.bss 1117 1118 This section holds RELA type relocation information for the BSS section of 1119 a shared library or dynamically linked application 1120 1121 .rela.dyn 1122 1123 This section holds RELA type relocation information for all sections of a 1124 shared library except the PLT 1125 1126 .rela.got 1127 1128 This section holds RELA type relocation information for the GOT section of 1129 a shared library or dynamically linked application 1130 1131 .rela.got2 1132 1133 This section holds RELA type relocation information for the second level 1134 GOT section of a shared library or dynamically linked application 1135 1136 .rela.plt 1137 1138 This section holds RELA type relocation information for the PLT section of 1139 a shared library or dynamically linked application 1140 1141 .rela.sbss 1142 1143 This section holds RELA type relocation information for the SBSS section of 1144 a shared library or dynamically linked application 1145 1146 1147 1148 ------------------------------------------------------------------------------- 1149 1150 Section Types 1151 1152 ------------------------------------------------------------------------------- 1153 1154 Section Attribute Flags 1155 1156 ------------------------------------------------------------------------------- 1157 1158 Special Section Types 1159 1160 ------------------------------------------------------------------------------- 1161 1162 Chapter 11. Symbol Table 1163 1164 LSB-conforming applications shall use the Symbol Table as defined in Chapter 4 1165 of the System V Application Binary Interface PowerPC Processor Supplement. 1166 1167 ------------------------------------------------------------------------------- 1168 1169 Chapter 12. Relocation 1170 1171 LSB-conforming applications shall use Relocations as defined in Chapter 4 of 1172 the System V Application Binary Interface PowerPC Processor Supplement. 1173 1174 ------------------------------------------------------------------------------- 1175 1176 Relocation Types 1177 1178 The relocation type R_PPC_ADDR30 as specified in Table 4-8 of System V 1179 Application Binary Interface PowerPC Processor Supplement is not supported. 1180 1181 IV. Program Loading and Dynamic Linking 1182 1183 LSB-conforming implementations shall support the object file information and 1184 system actions that create running programs as specified in the System V 1185 Application Binary Interface, Edition 4.1, System V Application Binary 1186 Interface PowerPC Processor Supplement and as supplemented by the Linux 1187 Standard Base Specification and this document. 1188 1189 Table of Contents 1190 13. Program Header 1191 14. Program Loading 1192 15. Dynamic Linking 1193 1194 ------------------------------------------------------------------------------- 1195 1196 Chapter 13. Program Header 1197 1198 ------------------------------------------------------------------------------- 1199 1200 Types 1201 1202 ------------------------------------------------------------------------------- 1203 1204 Flags 1205 1206 ------------------------------------------------------------------------------- 1207 1208 Chapter 14. Program Loading 1209 1210 See System V Application Binary Interface PowerPC Processor Supplement, Chapter 1211 5.1. 1212 1213 ------------------------------------------------------------------------------- 1214 1215 Chapter 15. Dynamic Linking 1216 1217 See System V Application Binary Interface PowerPC Processor Supplement, Chapter 1218 5.4. 1219 1220 ------------------------------------------------------------------------------- 1221 1222 Program Interpreter/Dynamic Linker 1223 1224 The LSB specifies the Program Interpreter to be /lib/ld-lsb-ppc32.so.1. 1225 1226 ------------------------------------------------------------------------------- 1227 1228 Dynamic Section 1229 1230 The following dynamic entries are defined in the System V Application Binary 1231 Interface PowerPC Processor Supplement, Chapter 5.4. 1232 1233 ------------------------------------------------------------------------------- 1234 1235 Global Offset Table 1236 1237 See System V Application Binary Interface PowerPC Processor Supplement, Chapter 1238 5.4. 1239 1240 ------------------------------------------------------------------------------- 1241 1242 Shared Object Dependencies 1243 1244 ------------------------------------------------------------------------------- 1245 1246 Function Addresses 1247 1248 ------------------------------------------------------------------------------- 1249 1250 Procedure Linkage Table 1251 1252 ------------------------------------------------------------------------------- 1253 1254 Initialization and Termination Functions 1255 1256 V. Base Libraries 1257 1258 Table of Contents 1259 16. Libraries 1260 1261 ------------------------------------------------------------------------------- 1262 1263 Chapter 16. Libraries 1264 1265 An LSB-conforming implementation shall support base libraries which provide 1266 interfaces for accessing the operating system, processor and other hardware in 1267 the system. 1268 1269 Only those interfaces that are unique to the PowerPC 32 platform are defined 1270 here. This section should be used in conjunction with the corresponding section 1271 in the Linux Standard Base Specification. 1272 1273 ------------------------------------------------------------------------------- 1274 1275 Interfaces for libc 1276 1277 Table 16-1. libc Definition 1278 1279 +-------------------+ 1280 |Library:|libc | 1281 |--------+----------| 1282 |SONAME: |libc.so.6 | 1283 +-------------------+ 1284 1285 The behavior of the interfaces in this library is specified by the following 1286 standards. 1287 1288 ISO/IEC 9899: 1999, Programming Languages --C[1] 1289 Large File Support[2] 1290 Linux Standard Base[3] 1291 IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996][4] 1292 CAE Specification, February 1997, Networking Services (XNS), Issue 5(ISBN: 1293 1-85912-165-9, C523)[5] 1294 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 1295 (ISBN: 1-85912-181-0, C606)[6] 1296 The Single UNIX® Specification(SUS) Version 3[7] 1297 System V Interface Definition, Issue 3 (ISBN 0201566524)[8] 1298 System V Interface Definition,Fourth Edition[9] 1299 1300 ------------------------------------------------------------------------------- 1301 1302 RPC 1303 1304 Table 16-2. libc - RPC Function Interfaces 1305 1306 +-----------------------------------------------------------------------------------+ 1307 |authnone_create |svc_getreqset |xdr_bytes |xdr_opaque_auth |xdr_union | 1308 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1309 | | |[8] | | | 1310 |------------------+------------------+-----------+------------------+--------------| 1311 |clnt_create |svcerr_auth |xdr_callhdr|xdr_pointer |xdr_vector | 1312 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1313 | | |[8] | | | 1314 |------------------+------------------+-----------+------------------+--------------| 1315 |clnt_pcreateerror |svcerr_decode |xdr_callmsg|xdr_reference |xdr_void | 1316 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1317 | | |[8] | | | 1318 |------------------+------------------+-----------+------------------+--------------| 1319 |clnt_perrno |svcerr_noproc |xdr_char |xdr_rejected_reply|xdr_wrapstring| 1320 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1321 | | |[8] | | | 1322 |------------------+------------------+-----------+------------------+--------------| 1323 |clnt_perror |svcerr_noprog |xdr_double |xdr_replymsg |xdrmem_create | 1324 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1325 | | |[8] | | | 1326 |------------------+------------------+-----------+------------------+--------------| 1327 |clnt_spcreateerror|svcerr_progvers |xdr_enum |xdr_short |xdrrec_create | 1328 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1329 | | |[8] | | | 1330 |------------------+------------------+-----------+------------------+--------------| 1331 |clnt_sperrno |svcerr_systemerr |xdr_float |xdr_string |xdrrec_eof | 1332 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] |(GLIBC_2.0)[8]| 1333 | | |[8] | | | 1334 |------------------+------------------+-----------+------------------+--------------| 1335 |clnt_sperror |svcerr_weakauth |xdr_free |xdr_u_char | | 1336 |(GLIBC_2.0)[9] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] | | 1337 | | |[8] | | | 1338 |------------------+------------------+-----------+------------------+--------------| 1339 |getdomainname |xdr_accepted_reply|xdr_int |xdr_u_int | | 1340 |(GLIBC_2.0)[3] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[3] | | 1341 | | |[8] | | | 1342 |------------------+------------------+-----------+------------------+--------------| 1343 |key_decryptsession|xdr_array |xdr_long |xdr_u_long | | 1344 |(GLIBC_2.1)[8] |(GLIBC_2.1)[8] |(GLIBC_2.1)|(GLIBC_2.1)[8] | | 1345 | | |[8] | | | 1346 |------------------+------------------+-----------+------------------+--------------| 1347 |setdomainname |xdr_bool |xdr_opaque |xdr_u_short | | 1348 |(GLIBC_2.0)[3] |(GLIBC_2.0)[8] |(GLIBC_2.0)|(GLIBC_2.0)[8] | | 1349 | | |[8] | | | 1350 +-----------------------------------------------------------------------------------+ 1351 ------------------------------------------------------------------------------- 1352 1353 System Calls 1354 1355 Table 16-3. libc - System Calls Function Interfaces 1356 1357 +-----------------------------------------------------------------------------+ 1358 |__fxstat |fchown |initgroups |read(GLIBC_2.0)[6] |setrlimit64 | 1359 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1360 |[3] |[6] |[3] | |[2] | 1361 |------------+-------------+-------------+----------------------+-------------| 1362 |__getpgid |fcntl |ioctl |readdir(GLIBC_2.0)[6] |setsid | 1363 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1364 |[3] |[3] |[3] | |[6] | 1365 |------------+-------------+-------------+----------------------+-------------| 1366 |__lxstat |fdatasync |kill |readdir_r(GLIBC_2.0) |setuid | 1367 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[6] |(GLIBC_2.0) | 1368 |[3] |[6] |[3] | |[6] | 1369 |------------+-------------+-------------+----------------------+-------------| 1370 |__xmknod |flock |killpg |readlink(GLIBC_2.0)[6]|sleep | 1371 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1372 |[3] |[3] |[6] | |[6] | 1373 |------------+-------------+-------------+----------------------+-------------| 1374 |__xstat |fork |lchown |readv(GLIBC_2.0)[6] |statfs | 1375 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1376 |[3] |[6] |[6] | |[3] | 1377 |------------+-------------+-------------+----------------------+-------------| 1378 |access |fstatfs |link |rename(GLIBC_2.0)[6] |statvfs | 1379 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1380 |[6] |[3] |[6] | |[6] | 1381 |------------+-------------+-------------+----------------------+-------------| 1382 |acct |fstatvfs |lockf |rmdir(GLIBC_2.0)[6] |stime | 1383 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1384 |[3] |[6] |[6] | |[3] | 1385 |------------+-------------+-------------+----------------------+-------------| 1386 |alarm |fsync |lseek |sbrk(GLIBC_2.0)[6] |symlink | 1387 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1388 |[6] |[6] |[6] | |[6] | 1389 |------------+-------------+-------------+----------------------+-------------| 1390 |brk |ftime |mkdir |sched_get_priority_max|sync | 1391 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1392 |[6] |[6] |[6] | |[6] | 1393 |------------+-------------+-------------+----------------------+-------------| 1394 |chdir |ftruncate |mkfifo |sched_get_priority_min|sysconf | 1395 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1396 |[6] |[6] |[6] | |[6] | 1397 |------------+-------------+-------------+----------------------+-------------| 1398 |chmod |getcontext |mlock |sched_getparam |time | 1399 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1400 |[6] |[6] |[6] | |[6] | 1401 |------------+-------------+-------------+----------------------+-------------| 1402 |chown |getegid |mlockall |sched_getscheduler |times | 1403 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[6] |(GLIBC_2.1) | 1404 |[6] |[6] |[6] | |[6] | 1405 |------------+-------------+-------------+----------------------+-------------| 1406 |chroot |geteuid |mmap |sched_rr_get_interval |truncate | 1407 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1408 |[6] |[6] |[6] | |[6] | 1409 |------------+-------------+-------------+----------------------+-------------| 1410 |clock |getgid |mprotect |sched_setparam |ulimit | 1411 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1412 |[6] |[6] |[6] | |[6] | 1413 |------------+-------------+-------------+----------------------+-------------| 1414 |close |getgroups |msync |sched_setscheduler |umask | 1415 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1416 |[6] |[6] |[6] | |[6] | 1417 |------------+-------------+-------------+----------------------+-------------| 1418 |closedir |getitimer |munlock |sched_yield(GLIBC_2.0)|uname | 1419 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[6] |(GLIBC_2.0) | 1420 |[6] |[6] |[6] | |[6] | 1421 |------------+-------------+-------------+----------------------+-------------| 1422 |creat |getloadavg |munlockall |select(GLIBC_2.0)[5] |unlink | 1423 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1424 |[6] |[3] |[6] | |[3] | 1425 |------------+-------------+-------------+----------------------+-------------| 1426 |dup |getpagesize |munmap |setcontext(GLIBC_2.0) |utime | 1427 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[6] |(GLIBC_2.0) | 1428 |[6] |[6] |[6] | |[6] | 1429 |------------+-------------+-------------+----------------------+-------------| 1430 |dup2 |getpgid |nanosleep |setegid(GLIBC_2.0)[3] |utimes | 1431 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1432 |[6] |[6] |[6] | |[6] | 1433 |------------+-------------+-------------+----------------------+-------------| 1434 |execl |getpgrp |nice |seteuid(GLIBC_2.0)[3] |vfork | 1435 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1436 |[6] |[6] |[3] | |[6] | 1437 |------------+-------------+-------------+----------------------+-------------| 1438 |execle |getpid |open |setgid(GLIBC_2.0)[6] |wait | 1439 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1440 |[6] |[6] |[6] | |[6] | 1441 |------------+-------------+-------------+----------------------+-------------| 1442 |execlp |getppid |opendir |setitimer(GLIBC_2.0) |wait3 | 1443 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[6] |(GLIBC_2.0) | 1444 |[6] |[6] |[6] | |[3] | 1445 |------------+-------------+-------------+----------------------+-------------| 1446 |execv |getpriority |pathconf |setpgid(GLIBC_2.0)[6] |wait4 | 1447 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1448 |[6] |[6] |[6] | |[3] | 1449 |------------+-------------+-------------+----------------------+-------------| 1450 |execve |getrlimit |pause |setpgrp(GLIBC_2.0)[6] |waitid | 1451 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1452 |[6] |[6] |[6] | |[3] | 1453 |------------+-------------+-------------+----------------------+-------------| 1454 |execvp |getrusage |pipe |setpriority(GLIBC_2.0)|waitpid | 1455 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[6] |(GLIBC_2.0) | 1456 |[6] |[6] |[6] | |[3] | 1457 |------------+-------------+-------------+----------------------+-------------| 1458 |exit |getsid |poll |setregid(GLIBC_2.0)[6]|write | 1459 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1460 |[6] |[6] |[6] | |[6] | 1461 |------------+-------------+-------------+----------------------+-------------| 1462 |fchdir |getuid |pread |setreuid(GLIBC_2.0)[6]|writev | 1463 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | |(GLIBC_2.0) | 1464 |[6] |[6] |[6] | |[6] | 1465 |------------+-------------+-------------+----------------------+-------------| 1466 |fchmod |getwd |pwrite |setrlimit(GLIBC_2.0) | | 1467 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |[6] | | 1468 |[6] |[6] |[6] | | | 1469 +-----------------------------------------------------------------------------+ 1470 1471 Table 16-4. libc - System Calls Deprecated Function Interfaces 1472 1473 +---------------------------------------------------------------------+ 1474 |fstatfs(GLIBC_2.0)[3] |statfs(GLIBC_2.0)[3]|waitid(GLIBC_2.0)[3] | | | 1475 +---------------------------------------------------------------------+ 1476 ------------------------------------------------------------------------------- 1477 1478 Standard I/O 1479 1480 Table 16-5. libc - Standard I/O Function Interfaces 1481 1482 +-----------------------------------------------------------------------------+ 1483 |_IO_feof |fgetc |fseeko |putc(GLIBC_2.0) |snprintf | 1484 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)| 1485 | | | | |[6] | 1486 |---------------+---------------+----------------+----------------+-----------| 1487 |_IO_getc |fgetpos |fsetpos |putc_unlocked |sprintf | 1488 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1489 | | | | |[6] | 1490 |---------------+---------------+----------------+----------------+-----------| 1491 |_IO_putc |fgets |ftell(GLIBC_2.0)|putchar |sscanf | 1492 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1493 | | | | |[6] | 1494 |---------------+---------------+----------------+----------------+-----------| 1495 |_IO_puts |fgetwc_unlocked|ftello |putchar_unlocked|telldir | 1496 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1497 | | | | |[6] | 1498 |---------------+---------------+----------------+----------------+-----------| 1499 |alphasort |fileno |fwrite |puts(GLIBC_2.0) |tempnam | 1500 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)| 1501 | | | | |[6] | 1502 |---------------+---------------+----------------+----------------+-----------| 1503 |asprintf |flockfile |getc(GLIBC_2.0) |putw(GLIBC_2.0) |ungetc | 1504 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |[6] |[6] |(GLIBC_2.0)| 1505 | | | | |[6] | 1506 |---------------+---------------+----------------+----------------+-----------| 1507 |clearerr |fopen |getc_unlocked |remove |vasprintf | 1508 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1509 | | | | |[3] | 1510 |---------------+---------------+----------------+----------------+-----------| 1511 |ctermid |fprintf |getchar |rewind |vdprintf | 1512 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1513 | | | | |[3] | 1514 |---------------+---------------+----------------+----------------+-----------| 1515 |fclose |fputc |getchar_unlocked|rewinddir |vfprintf | 1516 |(GLIBC_2.1)[6] |(GLIBC_2.1)[6] |(GLIBC_2.1)[6] |(GLIBC_2.1)[6] |(GLIBC_2.1)| 1517 | | | | |[6] | 1518 |---------------+---------------+----------------+----------------+-----------| 1519 |fdopen |fputs |gets(GLIBC_2.1) |scanf(GLIBC_2.1)|vprintf | 1520 |(GLIBC_2.1)[6] |(GLIBC_2.1)[6] |[3] |[6] |(GLIBC_2.1)| 1521 | | | | |[6] | 1522 |---------------+---------------+----------------+----------------+-----------| 1523 |feof(GLIBC_2.0)|fread |getw(GLIBC_2.0) |seekdir |vsnprintf | 1524 |[6] |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1525 | | | | |[6] | 1526 |---------------+---------------+----------------+----------------+-----------| 1527 |ferror |freopen |pclose |setbuf |vsprintf | 1528 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)| 1529 | | | | |[6] | 1530 |---------------+---------------+----------------+----------------+-----------| 1531 |fflush |fscanf |popen(GLIBC_2.0)|setbuffer | | 1532 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)[3] | | 1533 |---------------+---------------+----------------+----------------+-----------| 1534 |fflush_unlocked|fseek |printf |setvbuf | | 1535 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] | | 1536 +-----------------------------------------------------------------------------+ 1537 1538 Table 16-6. libc - Standard I/O Deprecated Function Interfaces 1539 1540 +--------------------------------+ 1541 |alphasort(GLIBC_2.0)[3] | | | | | 1542 +--------------------------------+ 1543 1544 Table 16-7. libc - Standard I/O Data Interfaces 1545 1546 +-------------------------------------------------------------------+ 1547 |stderr(GLIBC_2.0)[6] |stdin(GLIBC_2.0)[6]|stdout(GLIBC_2.0)[6] | | | 1548 +-------------------------------------------------------------------+ 1549 ------------------------------------------------------------------------------- 1550 1551 Signal Handling 1552 1553 Table 16-8. libc - Signal Handling Function Interfaces 1554 1555 +-----------------------------------------------------------------------------+ 1556 |__libc_current_sigrtmax|sigaddset |sighold |sigpause |sigsuspend | 1557 |(GLIBC_2.1)[3] |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) | 1558 | |[6] |[6] |[6] |[6] | 1559 |-----------------------+------------+-------------+------------+-------------| 1560 |__libc_current_sigrtmin|sigaltstack |sigignore |sigpending |sigtimedwait | 1561 |(GLIBC_2.1)[3] |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1) | 1562 | |[6] |[6] |[6] |[6] | 1563 |-----------------------+------------+-------------+------------+-------------| 1564 |__sigsetjmp(GLIBC_2.0) |sigandset |siginterrupt |sigprocmask |sigwait | 1565 |[3] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1566 | |[3] |[6] |[6] |[6] | 1567 |-----------------------+------------+-------------+------------+-------------| 1568 |__sysv_signal |sigblock |sigisemptyset|sigqueue |sigwaitinfo | 1569 |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1570 | |[3] |[3] |[6] |[6] | 1571 |-----------------------+------------+-------------+------------+-------------| 1572 |bsd_signal(GLIBC_2.0) |sigdelset |sigismember |sigrelse | | 1573 |[6] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1574 | |[6] |[6] |[6] | | 1575 |-----------------------+------------+-------------+------------+-------------| 1576 |psignal(GLIBC_2.0)[3] |sigemptyset |siglongjmp |sigreturn | | 1577 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1578 | |[6] |[6] |[3] | | 1579 |-----------------------+------------+-------------+------------+-------------| 1580 |raise(GLIBC_2.0)[6] |sigfillset |signal |sigset | | 1581 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1582 | |[6] |[6] |[6] | | 1583 |-----------------------+------------+-------------+------------+-------------| 1584 |sigaction(GLIBC_2.0)[6]|siggetmask |sigorset |sigstack | | 1585 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1586 | |[3] |[3] |[6] | | 1587 +-----------------------------------------------------------------------------+ 1588 1589 Table 16-9. libc - Signal Handling Data Interfaces 1590 1591 +-----------------------------------+ 1592 |_sys_siglist(GLIBC_2.1)[3] | | | | | 1593 +-----------------------------------+ 1594 ------------------------------------------------------------------------------- 1595 1596 Localization Functions 1597 1598 Table 16-10. libc - Localization Functions Function Interfaces 1599 1600 +-----------------------------------------------------------------------------+ 1601 |__dcgettext(GLIBC_2.0) |catgets |dgettext |iconv_close |nl_langinfo | 1602 |[3] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1603 | |[6] |[3] |[6] |[6] | 1604 |-----------------------+------------+------------+-------------+-------------| 1605 |bind_textdomain_codeset|catopen |dngettext |iconv_open |setlocale | 1606 |(GLIBC_2.2)[3] |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) |(GLIBC_2.2) | 1607 | |[6] |[3] |[6] |[6] | 1608 |-----------------------+------------+------------+-------------+-------------| 1609 |bindtextdomain |dcgettext |gettext |localeconv |textdomain | 1610 |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | 1611 | |[3] |[3] |[6] |[3] | 1612 |-----------------------+------------+------------+-------------+-------------| 1613 |catclose(GLIBC_2.0)[6] |dcngettext |iconv |ngettext | | 1614 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0) | | 1615 | |[3] |[6] |[3] | | 1616 +-----------------------------------------------------------------------------+ 1617 1618 Table 16-11. libc - Localization Functions Deprecated Function Interfaces 1619 1620 +----------------------------------+ 1621 |__dcgettext(GLIBC_2.0)[3] | | | | | 1622 +----------------------------------+ 1623 1624 Table 16-12. libc - Localization Functions Data Interfaces 1625 1626 +-----------------------------------------+ 1627 |_nl_msg_cat_cntr(GLIBC_2.0)[3] | | | | | 1628 +-----------------------------------------+ 1629 ------------------------------------------------------------------------------- 1630 1631 Socket Interface 1632 1633 Table 16-13. libc - Socket Interface Function Interfaces 1634 1635 +------------------------------------------------------------------------------+ 1636 |__h_errno_location|gethostbyname_r |getsockopt |send |socket | 1637 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0)[5]|(GLIBC_2.0) | 1638 | | |[5] | |[5] | 1639 |------------------+----------------+-------------+--------------+-------------| 1640 |accept(GLIBC_2.0) |gethostid |listen |sendmsg |socketpair | 1641 |[5] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[5]|(GLIBC_2.0) | 1642 | | |[5] | |[5] | 1643 |------------------+----------------+-------------+--------------+-------------| 1644 |bind(GLIBC_2.0)[5]|gethostname |recv |sendto | | 1645 | |(GLIBC_2.0)[5] |(GLIBC_2.0) |(GLIBC_2.0)[5]| | 1646 | | |[5] | | | 1647 |------------------+----------------+-------------+--------------+-------------| 1648 |bindresvport |getpeername |recvfrom |setsockopt | | 1649 |(GLIBC_2.0)[3] |(GLIBC_2.0)[5] |(GLIBC_2.0) |(GLIBC_2.0)[5]| | 1650 | | |[5] | | | 1651 |------------------+----------------+-------------+--------------+-------------| 1652 |connect(GLIBC_2.0)|getsockname |recvmsg |shutdown | | 1653 |[5] |(GLIBC_2.0)[5] |(GLIBC_2.0) |(GLIBC_2.0)[5]| | 1654 | | |[5] | | | 1655 +------------------------------------------------------------------------------+ 1656 ------------------------------------------------------------------------------- 1657 1658 Wide Characters 1659 1660 Table 16-14. libc - Wide Characters Function Interfaces 1661 1662 +-------------------------------------------------------------------------------+ 1663 |__wcstod_internal |mbsinit |vwscanf |wcsnlen |wcstoumax | 1664 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[1] |(GLIBC_2.0)[3]|(GLIBC_2.0) | 1665 | | | | |[1] | 1666 |-------------------+--------------+---------------+--------------+-------------| 1667 |__wcstof_internal |mbsnrtowcs |wcpcpy |wcsnrtombs |wcstouq | 1668 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3]|(GLIBC_2.0)[3] |(GLIBC_2.0)[3]|(GLIBC_2.0) | 1669 | | | | |[3] | 1670 |-------------------+--------------+---------------+--------------+-------------| 1671 |__wcstol_internal |mbsrtowcs |wcpncpy |wcspbrk |wcswcs | 1672 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3] |(GLIBC_2.0)[1]|(GLIBC_2.0) | 1673 | | | | |[6] | 1674 |-------------------+--------------+---------------+--------------+-------------| 1675 |__wcstold_internal |mbstowcs |wcrtomb |wcsrchr |wcswidth | 1676 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1677 | | | | |[6] | 1678 |-------------------+--------------+---------------+--------------+-------------| 1679 |__wcstoul_internal |mbtowc |wcscasecmp |wcsrtombs |wcsxfrm | 1680 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1681 | | | | |[6] | 1682 |-------------------+--------------+---------------+--------------+-------------| 1683 |btowc(GLIBC_2.0)[6]|putwc |wcscat |wcsspn |wctob | 1684 | |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1685 | | | | |[6] | 1686 |-------------------+--------------+---------------+--------------+-------------| 1687 |fgetwc(GLIBC_2.2) |putwchar |wcschr |wcsstr |wctomb | 1688 |[6] |(GLIBC_2.2)[1]|(GLIBC_2.2)[6] |(GLIBC_2.2)[6]|(GLIBC_2.2) | 1689 | | | | |[6] | 1690 |-------------------+--------------+---------------+--------------+-------------| 1691 |fgetws(GLIBC_2.2) |swprintf |wcscmp |wcstod |wctrans | 1692 |[1] |(GLIBC_2.2)[6]|(GLIBC_2.2)[6] |(GLIBC_2.2)[6]|(GLIBC_2.2) | 1693 | | | | |[6] | 1694 |-------------------+--------------+---------------+--------------+-------------| 1695 |fputwc(GLIBC_2.2) |swscanf |wcscoll |wcstof |wctype | 1696 |[1] |(GLIBC_2.2)[1]|(GLIBC_2.2)[6] |(GLIBC_2.2)[1]|(GLIBC_2.2) | 1697 | | | | |[6] | 1698 |-------------------+--------------+---------------+--------------+-------------| 1699 |fputws(GLIBC_2.2) |towctrans |wcscpy |wcstoimax |wcwidth | 1700 |[1] |(GLIBC_2.2)[6]|(GLIBC_2.2)[6] |(GLIBC_2.2)[1]|(GLIBC_2.2) | 1701 | | | | |[6] | 1702 |-------------------+--------------+---------------+--------------+-------------| 1703 |fwide(GLIBC_2.2)[1]|towlower |wcscspn |wcstok |wmemchr | 1704 | |(GLIBC_2.2)[1]|(GLIBC_2.2)[6] |(GLIBC_2.2)[6]|(GLIBC_2.2) | 1705 | | | | |[6] | 1706 |-------------------+--------------+---------------+--------------+-------------| 1707 |fwprintf(GLIBC_2.2)|towupper |wcsdup |wcstol |wmemcmp | 1708 |[6] |(GLIBC_2.2)[6]|(GLIBC_2.2)[3] |(GLIBC_2.2)[6]|(GLIBC_2.2) | 1709 | | | | |[6] | 1710 |-------------------+--------------+---------------+--------------+-------------| 1711 |fwscanf(GLIBC_2.2) |ungetwc |wcsftime |wcstold |wmemcpy | 1712 |[1] |(GLIBC_2.2)[1]|(GLIBC_2.2)[1] |(GLIBC_2.2)[1]|(GLIBC_2.2) | 1713 | | | | |[6] | 1714 |-------------------+--------------+---------------+--------------+-------------| 1715 |getwc(GLIBC_2.2)[1]|vfwprintf |wcslen |wcstoll |wmemmove | 1716 | |(GLIBC_2.2)[1]|(GLIBC_2.2)[6] |(GLIBC_2.2)[1]|(GLIBC_2.2) | 1717 | | | | |[6] | 1718 |-------------------+--------------+---------------+--------------+-------------| 1719 |getwchar(GLIBC_2.2)|vfwscanf |wcsncasecmp |wcstombs |wmemset | 1720 |[6] |(GLIBC_2.2)[1]|(GLIBC_2.2)[3] |(GLIBC_2.2)[6]|(GLIBC_2.2) | 1721 | | | | |[6] | 1722 |-------------------+--------------+---------------+--------------+-------------| 1723 |mblen(GLIBC_2.0)[6]|vswprintf |wcsncat |wcstoq |wprintf | 1724 | |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0)[3]|(GLIBC_2.0) | 1725 | | | | |[1] | 1726 |-------------------+--------------+---------------+--------------+-------------| 1727 |mbrlen(GLIBC_2.0) |vswscanf |wcsncmp |wcstoul |wscanf | 1728 |[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1729 | | | | |[1] | 1730 |-------------------+--------------+---------------+--------------+-------------| 1731 |mbrtowc(GLIBC_2.0) |vwprintf |wcsncpy |wcstoull | | 1732 |[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0)[1]| | 1733 +-------------------------------------------------------------------------------+ 1734 ------------------------------------------------------------------------------- 1735 1736 String Functions 1737 1738 Table 16-15. libc - String Functions Function Interfaces 1739 1740 +-------------------------------------------------------------------------------+ 1741 |__mempcpy |bzero |strcasestr |strncasecmp |strtoimax | 1742 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3]|(GLIBC_2.0)[6]|(GLIBC_2.0)[1]| 1743 |-------------------+--------------+--------------+--------------+--------------| 1744 |__rawmemchr |ffs(GLIBC_2.1)|strcat |strncat |strtok | 1745 |(GLIBC_2.1)[3] |[6] |(GLIBC_2.1)[6]|(GLIBC_2.1)[6]|(GLIBC_2.1)[6]| 1746 |-------------------+--------------+--------------+--------------+--------------| 1747 |__stpcpy(GLIBC_2.0)|index |strchr |strncmp |strtok_r | 1748 |[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[3]| 1749 |-------------------+--------------+--------------+--------------+--------------| 1750 |__strdup(GLIBC_2.0)|memccpy |strcmp |strncpy |strtold | 1751 |[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[1]| 1752 |-------------------+--------------+--------------+--------------+--------------| 1753 |__strtod_internal |memchr |strcoll |strndup |strtoll | 1754 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[3]|(GLIBC_2.0)[1]| 1755 |-------------------+--------------+--------------+--------------+--------------| 1756 |__strtof_internal |memcmp |strcpy |strnlen |strtoq | 1757 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[3]|(GLIBC_2.0)[3]| 1758 |-------------------+--------------+--------------+--------------+--------------| 1759 |__strtok_r |memcpy |strcspn |strpbrk |strtoull | 1760 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[1]| 1761 |-------------------+--------------+--------------+--------------+--------------| 1762 |__strtol_internal |memmove |strdup |strptime |strtoumax | 1763 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[3]|(GLIBC_2.0)[1]| 1764 |-------------------+--------------+--------------+--------------+--------------| 1765 |__strtold_internal |memrchr |strerror |strrchr |strtouq | 1766 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3]|(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[3]| 1767 |-------------------+--------------+--------------+--------------+--------------| 1768 |__strtoll_internal |memset |strerror_r |strsep |strverscmp | 1769 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3]|(GLIBC_2.0)[3]|(GLIBC_2.0)[3]| 1770 |-------------------+--------------+--------------+--------------+--------------| 1771 |__strtoul_internal |rindex |strfmon |strsignal |strxfrm | 1772 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[3]|(GLIBC_2.0)[6]| 1773 |-------------------+--------------+--------------+--------------+--------------| 1774 |__strtoull_internal|stpcpy |strfry |strspn |swab | 1775 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3]|(GLIBC_2.0)[3]|(GLIBC_2.0)[6]|(GLIBC_2.0)[6]| 1776 |-------------------+--------------+--------------+--------------+--------------| 1777 |bcmp(GLIBC_2.0)[6] |stpncpy |strftime |strstr | | 1778 | |(GLIBC_2.0)[3]|(GLIBC_2.0)[6]|(GLIBC_2.0)[6]| | 1779 |-------------------+--------------+--------------+--------------+--------------| 1780 |bcopy(GLIBC_2.0)[6]|strcasecmp |strlen |strtof | | 1781 | |(GLIBC_2.0)[6]|(GLIBC_2.0)[6]|(GLIBC_2.0)[1]| | 1782 +-------------------------------------------------------------------------------+ 1783 ------------------------------------------------------------------------------- 1784 1785 IPC Functions 1786 1787 Table 16-16. libc - IPC Functions Function Interfaces 1788 1789 +-----------------------------------------------------------------------------+ 1790 |ftok(GLIBC_2.0)[6]|msgrcv(GLIBC_2.0) |semget(GLIBC_2.0) |shmctl(GLIBC_2.0) | | 1791 | |[6] |[6] |[6] | | 1792 |------------------+------------------+------------------+------------------+-| 1793 |msgctl(GLIBC_2.2) |msgsnd(GLIBC_2.2) |semop(GLIBC_2.2) |shmdt(GLIBC_2.2) | | 1794 |[6] |[6] |[6] |[6] | | 1795 |------------------+------------------+------------------+------------------+-| 1796 |msgget(GLIBC_2.0) |semctl(GLIBC_2.0) |shmat(GLIBC_2.0) |shmget(GLIBC_2.0) | | 1797 |[6] |[6] |[6] |[6] | | 1798 +-----------------------------------------------------------------------------+ 1799 ------------------------------------------------------------------------------- 1800 1801 Regular Expressions 1802 1803 Table 16-17. libc - Regular Expressions Function Interfaces 1804 1805 +-----------------------------------------------------------------------------+ 1806 |advance(GLIBC_2.0)|re_exec(GLIBC_2.0)|regerror |regfree(GLIBC_2.0)| | 1807 |[6] |[6] |(GLIBC_2.0)[6] |[6] | | 1808 |------------------+------------------+------------------+------------------+-| 1809 |re_comp(GLIBC_2.0)|regcomp(GLIBC_2.0)|regexec(GLIBC_2.0)|step(GLIBC_2.0)[6]| | 1810 |[6] |[6] |[6] | | | 1811 +-----------------------------------------------------------------------------+ 1812 1813 Table 16-18. libc - Regular Expressions Data Interfaces 1814 1815 +---------------------------------------------------------------+ 1816 |loc1(GLIBC_2.0)[6] |loc2(GLIBC_2.0)[6] |locs(GLIBC_2.0)[6] | | | 1817 +---------------------------------------------------------------+ 1818 ------------------------------------------------------------------------------- 1819 1820 Character Type Functions 1821 1822 Table 16-19. libc - Character Type Functions Function Interfaces 1823 1824 +-----------------------------------------------------------------------------+ 1825 |__ctype_get_mb_cur_max|isdigit |iswalnum |iswlower |toascii | 1826 |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1827 | |[6] |[6] | |[6] | 1828 |----------------------+------------+-------------+--------------+------------| 1829 |_tolower(GLIBC_2.0)[6]|isgraph |iswalpha |iswprint |tolower | 1830 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1831 | |[6] |[6] | |[6] | 1832 |----------------------+------------+-------------+--------------+------------| 1833 |_toupper(GLIBC_2.0)[6]|islower |iswblank |iswpunct |toupper | 1834 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]|(GLIBC_2.0) | 1835 | |[6] |[7] | |[6] | 1836 |----------------------+------------+-------------+--------------+------------| 1837 |isalnum(GLIBC_2.0)[6] |isprint |iswcntrl |iswspace | | 1838 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]| | 1839 | |[6] |[6] | | | 1840 |----------------------+------------+-------------+--------------+------------| 1841 |isalpha(GLIBC_2.0)[6] |ispunct |iswctype |iswupper | | 1842 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]| | 1843 | |[6] |[3] | | | 1844 |----------------------+------------+-------------+--------------+------------| 1845 |isascii(GLIBC_2.0)[6] |isspace |iswdigit |iswxdigit | | 1846 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]| | 1847 | |[6] |[6] | | | 1848 |----------------------+------------+-------------+--------------+------------| 1849 |iscntrl(GLIBC_2.0)[6] |isupper |iswgraph |isxdigit | | 1850 | |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[6]| | 1851 | |[6] |[6] | | | 1852 +-----------------------------------------------------------------------------+ 1853 1854 Table 16-20. libc - Character Type Functions Data Interfaces 1855 1856 +------------------------------------------------------------------------------+ 1857 |__ctype_b(GLIBC_2.0)|__ctype_tolower(GLIBC_2.0)|__ctype_toupper(GLIBC_2.0)| | | 1858 |[3] |[3] |[3] | | | 1859 +------------------------------------------------------------------------------+ 1860 ------------------------------------------------------------------------------- 1861 1862 Time Manipulation 1863 1864 Table 16-21. libc - Time Manipulation Function Interfaces 1865 1866 +-------------------------------------------------------------------------------+ 1867 |adjtime |asctime_r |difftime |localtime |tzset | 1868 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1869 | | | | |[6] | 1870 |---------------+---------------+---------------+-----------------+-------------| 1871 |adjtimex |ctime |gmtime |localtime_r |ualarm | 1872 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) | 1873 | | | | |[6] | 1874 |---------------+---------------+---------------+-----------------+-------------| 1875 |asctime |ctime_r |gmtime_r |mktime(GLIBC_2.0)| | 1876 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |[6] | | 1877 +-------------------------------------------------------------------------------+ 1878 1879 Table 16-22. libc - Time Manipulation Data Interfaces 1880 1881 +-----------------------------------------------------------------------------+ 1882 |__daylight(GLIBC_2.0)[3] |__tzname(GLIBC_2.0)[3] |timezone(GLIBC_2.0)[6] | | | 1883 |-------------------------+-----------------------+-----------------------+-+-| 1884 |__timezone(GLIBC_2.0)[3] |daylight(GLIBC_2.0)[6] |tzname(GLIBC_2.0)[6] | | | 1885 +-----------------------------------------------------------------------------+ 1886 ------------------------------------------------------------------------------- 1887 1888 Terminal Interface Functions 1889 1890 Table 16-23. libc - Terminal Interface Functions Function Interfaces 1891 1892 +-------------------------------------------------------------------------------+ 1893 |cfgetispeed |cfsetispeed |tcdrain |tcgetattr |tcsendbreak | 1894 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] | 1895 | | |[6] | | | 1896 |----------------+----------------+-------------+--------------+----------------| 1897 |cfgetospeed |cfsetospeed |tcflow |tcgetpgrp |tcsetattr | 1898 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] | 1899 | | |[6] | | | 1900 |----------------+----------------+-------------+--------------+----------------| 1901 |cfmakeraw |cfsetspeed |tcflush |tcgetsid |tcsetpgrp | 1902 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] | 1903 | | |[6] | | | 1904 +-------------------------------------------------------------------------------+ 1905 ------------------------------------------------------------------------------- 1906 1907 System Database Interface 1908 1909 Table 16-24. libc - System Database Interface Function Interfaces 1910 1911 +-----------------------------------------------------------------------------+ 1912 |endgrent |getgrgid |getprotoent |getutent |setmntent | 1913 |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[3]| 1914 | | | |[3] | | 1915 |--------------+-----------------+---------------+-------------+--------------| 1916 |endhostent |getgrgid_r |getpwent |getutent_r |setnetent | 1917 |(GLIBC_2.0)[5]|(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[5]| 1918 | | | |[3] | | 1919 |--------------+-----------------+---------------+-------------+--------------| 1920 |endnetent |getgrnam |getpwnam |getutxent |setprotoent | 1921 |(GLIBC_2.0)[5]|(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[5]| 1922 | | | |[6] | | 1923 |--------------+-----------------+---------------+-------------+--------------| 1924 |endprotoent |getgrnam_r |getpwnam_r |getutxid |setpwent | 1925 |(GLIBC_2.0)[5]|(GLIBC_2.0)[6] |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0)[6]| 1926 | | | |[6] | | 1927 |--------------+-----------------+---------------+-------------+--------------| 1928 |endpwent |gethostbyaddr |getpwuid |getutxline |setservent | 1929 |(GLIBC_2.0)[6]|(GLIBC_2.0)[5] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[5]| 1930 | | | |[6] | | 1931 |--------------+-----------------+---------------+-------------+--------------| 1932 |endservent |gethostbyname |getpwuid_r |pututxline |setutent | 1933 |(GLIBC_2.0)[5]|(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0)[3]| 1934 | | | |[6] | | 1935 |--------------+-----------------+---------------+-------------+--------------| 1936 |endutent |getnetbyaddr |getservbyname |setgrent |setutxent | 1937 |(GLIBC_2.0)[6]|(GLIBC_2.0)[5] |(GLIBC_2.0)[3] |(GLIBC_2.0) |(GLIBC_2.0)[6]| 1938 | | | |[6] | | 1939 |--------------+-----------------+---------------+-------------+--------------| 1940 |endutxent |getprotobyname |getservbyport |setgroups | | 1941 |(GLIBC_2.1)[6]|(GLIBC_2.1)[6] |(GLIBC_2.1)[5] |(GLIBC_2.1) | | 1942 | | | |[3] | | 1943 |--------------+-----------------+---------------+-------------+--------------| 1944 |getgrent |getprotobynumber |getservent |sethostent | | 1945 |(GLIBC_2.0)[6]|(GLIBC_2.0)[5] |(GLIBC_2.0)[3] |(GLIBC_2.0) | | 1946 | | | |[5] | | 1947 +-----------------------------------------------------------------------------+ 1948 1949 Table 16-25. libc - System Database Interface Deprecated Function Interfaces 1950 1951 +-----------------------------------------------------------------------------+ 1952 |endhostent(GLIBC_2.0)[5]|sethostent(GLIBC_2.0)[5]|setmntent(GLIBC_2.0)[3]| | | 1953 +-----------------------------------------------------------------------------+ 1954 ------------------------------------------------------------------------------- 1955 1956 Language Support 1957 1958 Table 16-26. libc - Language Support Function Interfaces 1959 1960 +------------------------------------------------------------------------------+ 1961 |__libc_start_main |_obstack_begin |_obstack_newchunk |obstack_free | | 1962 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] | | 1963 +------------------------------------------------------------------------------+ 1964 ------------------------------------------------------------------------------- 1965 1966 Large File Support 1967 1968 Table 16-27. libc - Large File Support Function Interfaces 1969 1970 +----------------------------------------------------------------------------+ 1971 |__fxstat64 |fopen64 |ftello64 |mkstemp64 |readdir64 | 1972 |(GLIBC_2.2)[3] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2]| 1973 |---------------+--------------+---------------+--------------+--------------| 1974 |__lxstat64 |freopen64 |ftruncate64 |mmap64 |statvfs64 | 1975 |(GLIBC_2.2)[3] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2]| 1976 |---------------+--------------+---------------+--------------+--------------| 1977 |__xstat64 |fseeko64 |ftw64 |nftw64 |tmpfile64 | 1978 |(GLIBC_2.2)[3] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2]| 1979 |---------------+--------------+---------------+--------------+--------------| 1980 |alphasort64 |fsetpos64 |getrlimit64 |open64 |truncate64 | 1981 |(GLIBC_2.1)[3] |(GLIBC_2.1)[2]|(GLIBC_2.1)[2] |(GLIBC_2.1)[2]|(GLIBC_2.1)[2]| 1982 |---------------+--------------+---------------+--------------+--------------| 1983 |creat64 |fstatfs64 |lockf64 |pread64 | | 1984 |(GLIBC_2.1)[2] |(GLIBC_2.1)[3]|(GLIBC_2.1)[2] |(GLIBC_2.1)[2]| | 1985 |---------------+--------------+---------------+--------------+--------------| 1986 |fgetpos64 |fstatvfs64 |lseek64 |pwrite64 | | 1987 |(GLIBC_2.2)[2] |(GLIBC_2.2)[2]|(GLIBC_2.2)[2] |(GLIBC_2.2)[2]| | 1988 +----------------------------------------------------------------------------+ 1989 1990 Table 16-28. libc - Large File Support Deprecated Function Interfaces 1991 1992 +---------------------------------------------------------+ 1993 |alphasort64(GLIBC_2.1)[3] |fstatfs64(GLIBC_2.1)[3] | | | | 1994 +---------------------------------------------------------+ 1995 ------------------------------------------------------------------------------- 1996 1997 Standard Library 1998 1999 Table 16-29. libc - Standard Library Function Interfaces 2000 2001 +------------------------------------------------------------------------------+ 2002 |_Exit |div(GLIBC_2.1.1)|globfree64 |longjmp |srand | 2003 |(GLIBC_2.1.1)[1]|[6] |(GLIBC_2.1.1) |(GLIBC_2.1.1) |(GLIBC_2.1.1)| 2004 | | |[3] |[6] |[6] | 2005 |----------------+----------------+--------------+---------------+-------------| 2006 |__assert_fail |drand48 |grantpt |lrand48 |srand48 | 2007 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2008 | | | | |[6] | 2009 |----------------+----------------+--------------+---------------+-------------| 2010 |__cxa_atexit |ecvt |hcreate |lsearch |srandom | 2011 |(GLIBC_2.1.3)[3]|(GLIBC_2.1.3)[6]|(GLIBC_2.1.3) |(GLIBC_2.1.3) |(GLIBC_2.1.3)| 2012 | | |[6] |[6] |[6] | 2013 |----------------+----------------+--------------+---------------+-------------| 2014 |__errno_location|erand48 |hdestroy |makecontext |strtod | 2015 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2016 | | | | |[6] | 2017 |----------------+----------------+--------------+---------------+-------------| 2018 |__fpending |err(GLIBC_2.2) |hsearch |malloc |strtol | 2019 |(GLIBC_2.2)[3] |[3] |(GLIBC_2.2)[6]|(GLIBC_2.2)[6] |(GLIBC_2.2) | 2020 | | | | |[6] | 2021 |----------------+----------------+--------------+---------------+-------------| 2022 |__getpagesize |error(GLIBC_2.0)|htonl |memmem |strtoul | 2023 |(GLIBC_2.0)[3] |[3] |(GLIBC_2.0)[5]|(GLIBC_2.0)[3] |(GLIBC_2.0) | 2024 | | | | |[6] | 2025 |----------------+----------------+--------------+---------------+-------------| 2026 |__isinf |errx(GLIBC_2.0) |htons |mkstemp |swapcontext | 2027 |(GLIBC_2.0)[3] |[3] |(GLIBC_2.0)[5]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2028 | | | | |[6] | 2029 |----------------+----------------+--------------+---------------+-------------| 2030 |__isinff |fcvt(GLIBC_2.0) |imaxabs |mktemp |syslog | 2031 |(GLIBC_2.0)[3] |[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2032 | | | | |[6] | 2033 |----------------+----------------+--------------+---------------+-------------| 2034 |__isinfl |fmtmsg |imaxdiv |mrand48 |system | 2035 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2036 | | | | |[3] | 2037 |----------------+----------------+--------------+---------------+-------------| 2038 |__isnan |fnmatch |inet_addr |nftw(GLIBC_2.0)|tdelete | 2039 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[5]|[6] |(GLIBC_2.0) | 2040 | | | | |[6] | 2041 |----------------+----------------+--------------+---------------+-------------| 2042 |__isnanf |fpathconf |inet_aton |nrand48 |tfind | 2043 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[5]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2044 | | | | |[6] | 2045 |----------------+----------------+--------------+---------------+-------------| 2046 |__isnanl |free(GLIBC_2.0) |inet_ntoa |ntohl |tmpfile | 2047 |(GLIBC_2.0)[3] |[6] |(GLIBC_2.0)[5]|(GLIBC_2.0)[5] |(GLIBC_2.0) | 2048 | | | | |[6] | 2049 |----------------+----------------+--------------+---------------+-------------| 2050 |__sysconf |freeaddrinfo |inet_ntop |ntohs |tmpnam | 2051 |(GLIBC_2.2)[3] |(GLIBC_2.2)[7] |(GLIBC_2.2)[7]|(GLIBC_2.2)[5] |(GLIBC_2.2) | 2052 | | | | |[6] | 2053 |----------------+----------------+--------------+---------------+-------------| 2054 |_exit(GLIBC_2.0)|ftrylockfile |inet_pton |openlog |tsearch | 2055 |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[7]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2056 | | | | |[6] | 2057 |----------------+----------------+--------------+---------------+-------------| 2058 |_longjmp |ftw(GLIBC_2.0) |initstate |perror |ttyname | 2059 |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2060 | | | | |[6] | 2061 |----------------+----------------+--------------+---------------+-------------| 2062 |_setjmp |funlockfile |insque |posix_memalign |ttyname_r | 2063 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[4] |(GLIBC_2.0) | 2064 | | | | |[6] | 2065 |----------------+----------------+--------------+---------------+-------------| 2066 |a64l(GLIBC_2.0) |gai_strerror |isatty |ptsname |twalk | 2067 |[6] |(GLIBC_2.0)[7] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2068 | | | | |[6] | 2069 |----------------+----------------+--------------+---------------+-------------| 2070 |abort(GLIBC_2.0)|gcvt(GLIBC_2.0) |isblank |putenv |unlockpt | 2071 |[6] |[6] |(GLIBC_2.0)[7]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2072 | | | | |[6] | 2073 |----------------+----------------+--------------+---------------+-------------| 2074 |abs(GLIBC_2.0) |getaddrinfo |isinf |qsort |unsetenv | 2075 |[6] |(GLIBC_2.0)[7] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2076 | | | | |[3] | 2077 |----------------+----------------+--------------+---------------+-------------| 2078 |atexit |getcwd |isinff |rand(GLIBC_2.0)|usleep | 2079 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) |[6] |(GLIBC_2.0) | 2080 | | | | |[6] | 2081 |----------------+----------------+--------------+---------------+-------------| 2082 |atof(GLIBC_2.0) |getdate |isinfl |rand_r |verrx | 2083 |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2084 | | | | |[3] | 2085 |----------------+----------------+--------------+---------------+-------------| 2086 |atoi(GLIBC_2.0) |getenv |isnan |random |vfscanf | 2087 |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2088 | | | | |[1] | 2089 |----------------+----------------+--------------+---------------+-------------| 2090 |atol(GLIBC_2.0) |getlogin |isnanf |random_r |vscanf | 2091 |[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[3] |(GLIBC_2.0) | 2092 | | | | |[1] | 2093 |----------------+----------------+--------------+---------------+-------------| 2094 |atoll(GLIBC_2.0)|getnameinfo |isnanl |realloc |vsscanf | 2095 |[1] |(GLIBC_2.0)[7] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2096 | | | | |[1] | 2097 |----------------+----------------+--------------+---------------+-------------| 2098 |basename |getopt |jrand48 |realpath |vsyslog | 2099 |(GLIBC_2.0)[6] |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2100 | | | | |[3] | 2101 |----------------+----------------+--------------+---------------+-------------| 2102 |bsearch |getopt_long |l64a |remque |warn | 2103 |(GLIBC_2.0)[6] |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2104 | | | | |[3] | 2105 |----------------+----------------+--------------+---------------+-------------| 2106 |calloc |getopt_long_only|labs |seed48 |warnx | 2107 |(GLIBC_2.0)[6] |(GLIBC_2.0)[3] |(GLIBC_2.0)[6]|(GLIBC_2.0)[6] |(GLIBC_2.0) | 2108 | | | | |[3] | 2109 |----------------+----------------+--------------+---------------+-------------| 2110 |closelog |getsubopt |lcong48 |setenv |wordexp | 2111 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3] |(GLIBC_2.0) | 2112 | | | | |[6] | 2113 |----------------+----------------+--------------+---------------+-------------| 2114 |confstr |gettimeofday |ldiv |sethostid |wordfree | 2115 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3] |(GLIBC_2.0) | 2116 | | | | |[6] | 2117 |----------------+----------------+--------------+---------------+-------------| 2118 |cuserid |glob(GLIBC_2.0) |lfind |sethostname | | 2119 |(GLIBC_2.0)[6] |[6] |(GLIBC_2.0)[6]|(GLIBC_2.0)[3] | | 2120 |----------------+----------------+--------------+---------------+-------------| 2121 |daemon |glob64 |llabs |setlogmask | | 2122 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] | | 2123 |----------------+----------------+--------------+---------------+-------------| 2124 |dirname |globfree |lldiv |setstate | | 2125 |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0)[1]|(GLIBC_2.0)[6] | | 2126 +------------------------------------------------------------------------------+ 2127 2128 Table 16-30. libc - Standard Library Data Interfaces 2129 2130 +------------------------------------------------------------------------------+ 2131 |__environ |_sys_errlist |getdate_err |opterr |optopt | 2132 |(GLIBC_2.0)[3] |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0) |(GLIBC_2.0) | 2133 | | | |[3] |[3] | 2134 |---------------+-----------------+----------------+-------------+-------------| 2135 |_environ |environ |optarg |optind | | 2136 |(GLIBC_2.0)[3] |(GLIBC_2.0)[6] |(GLIBC_2.0)[6] |(GLIBC_2.0) | | 2137 | | | |[3] | | 2138 +------------------------------------------------------------------------------+ 2139 ------------------------------------------------------------------------------- 2140 2141 Data Definitions for libc 2142 2143 This section contains standard data definitions that describe system data. 2144 These definitions are organized into groups that correspond to system headers. 2145 This convention is used as a convenience for the reader, and does not imply the 2146 existence of these headers, or their content. 2147 2148 ISO C serves as the LSB reference programming language, and data definitions 2149 are specified in ISO C format. The C language is used here as a convenient 2150 notation. Using a C language description of these data objects does not 2151 preclude their use by other programming languages. 2152 2153 ------------------------------------------------------------------------------- 2154 2155 errno.h 2156 2157 2158 2159 2160 #define EDEADLOCK 58 2161 ------------------------------------------------------------------------------- 2162 2163 inttypes.h 2164 2165 2166 2167 2168 2169 2170 typedef unsigned long long uintmax_t; 2171 typedef long long intmax_t; 2172 typedef unsigned int uintptr_t; 2173 ------------------------------------------------------------------------------- 2174 2175 limits.h 2176 2177 #define ULONG_MAX 0xFFFFFFFFUL 2178 #define LONG_MAX 2147483647L 2179 2180 2181 2182 2183 2184 2185 #define CHAR_MIN 0 2186 #define CHAR_MAX 255 2187 ------------------------------------------------------------------------------- 2188 2189 setjmp.h 2190 2191 2192 2193 2194 2195 2196 typedef int __jmp_buf[58]; 2197 ------------------------------------------------------------------------------- 2198 2199 signal.h 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 struct sigaction 2225 { 2226 union 2227 { 2228 __sighandler_t _sa_handler; 2229 void (*_sa_sigaction) (int, siginfo_t *, void *); 2230 } 2231 __sigaction_handler; 2232 sigset_t sa_mask; 2233 unsigned long sa_flags; 2234 void (*sa_restorer) (void); 2235 } 2236 ; 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 struct sigcontext 2249 { 2250 long _unused[4]; 2251 int signal; 2252 unsigned long handler; 2253 unsigned long oldmask; 2254 struct pt_regs *regs; 2255 } 2256 ; 2257 ------------------------------------------------------------------------------- 2258 2259 stddef.h 2260 2261 2262 2263 typedef unsigned int size_t; 2264 typedef int ptrdiff_t; 2265 ------------------------------------------------------------------------------- 2266 2267 sys/ioctl.h 2268 2269 #define TIOCNOTTY 0x5422 2270 #define FIONREAD 1074030207 2271 ------------------------------------------------------------------------------- 2272 2273 sys/ipc.h 2274 2275 2276 2277 struct ipc_perm 2278 { 2279 key_t __key; 2280 uid_t uid; 2281 gid_t gid; 2282 uid_t cuid; 2283 uid_t cgid; 2284 mode_t mode; 2285 long __seq; 2286 int __pad1; 2287 unsigned long long __unused1; 2288 unsigned long long __unused2; 2289 } 2290 ; 2291 ------------------------------------------------------------------------------- 2292 2293 sys/mman.h 2294 2295 #define MCL_FUTURE 16384 2296 #define MCL_CURRENT 8192 2297 ------------------------------------------------------------------------------- 2298 2299 sys/msg.h 2300 2301 2302 2303 2304 2305 2306 typedef unsigned long msglen_t; 2307 typedef unsigned long msgqnum_t; 2308 2309 2310 struct msqid_ds 2311 { 2312 struct ipc_perm msg_perm; 2313 unsigned int __unused1; 2314 time_t msg_stime; 2315 unsigned int __unused2; 2316 time_t msg_rtime; 2317 unsigned int __unused3; 2318 time_t msg_ctime; 2319 unsigned long __msg_cbytes; 2320 msgqnum_t msg_qnum; 2321 msglen_t msg_qbytes; 2322 pid_t msg_lspid; 2323 pid_t msg_lrpid; 2324 unsigned long __unused4; 2325 unsigned long __unused5; 2326 } 2327 ; 2328 ------------------------------------------------------------------------------- 2329 2330 sys/sem.h 2331 2332 2333 2334 struct semid_ds 2335 { 2336 struct ipc_perm sem_perm; 2337 unsigned int __unused1; 2338 time_t sem_otime; 2339 unsigned int __unused2; 2340 time_t sem_ctime; 2341 unsigned long sem_nsems; 2342 unsigned long __unused3; 2343 unsigned long __unused4; 2344 } 2345 ; 2346 ------------------------------------------------------------------------------- 2347 2348 sys/shm.h 2349 2350 #define SHMLBA (__getpagesize()) 2351 2352 2353 2354 2355 2356 typedef unsigned long shmatt_t; 2357 2358 2359 struct shmid_ds 2360 { 2361 struct ipc_perm shm_perm; 2362 unsigned int __unused1; 2363 time_t shm_atime; 2364 unsigned int __unused2; 2365 time_t shm_dtime; 2366 unsigned int __unused3; 2367 time_t shm_ctime; 2368 unsigned int __unused4; 2369 size_t shm_segsz; 2370 pid_t shm_cpid; 2371 pid_t shm_lpid; 2372 shmatt_t shm_nattch; 2373 unsigned long __unused5; 2374 unsigned long __unused6; 2375 } 2376 ; 2377 ------------------------------------------------------------------------------- 2378 2379 sys/stat.h 2380 2381 #define _STAT_VER 3 2382 2383 2384 struct stat64 2385 { 2386 dev_t st_dev; 2387 ino64_t st_ino; 2388 mode_t st_mode; 2389 nlink_t st_nlink; 2390 uid_t st_uid; 2391 gid_t st_gid; 2392 dev_t st_rdev; 2393 unsigned short __pad2; 2394 off64_t st_size; 2395 blksize_t st_blksize; 2396 blkcnt64_t st_blocks; 2397 time_t st_atime; 2398 unsigned long __unused1; 2399 time_t st_mtime; 2400 unsigned long __unused2; 2401 time_t st_ctime; 2402 unsigned long __unused3; 2403 unsigned long __unused4; 2404 unsigned long __unused5; 2405 } 2406 ; 2407 struct stat 2408 { 2409 dev_t st_dev; 2410 unsigned short __pad1; 2411 ino_t st_ino; 2412 mode_t st_mode; 2413 nlink_t st_nlink; 2414 uid_t st_uid; 2415 gid_t st_gid; 2416 dev_t st_rdev; 2417 unsigned short __pad2; 2418 off_t st_size; 2419 blksize_t st_blksize; 2420 blkcnt_t st_blocks; 2421 time_t st_atime; 2422 unsigned long __unused1; 2423 time_t st_mtime; 2424 unsigned long __unused2; 2425 time_t st_ctime; 2426 unsigned long __unused3; 2427 unsigned long __unused4; 2428 unsigned long __unused5; 2429 } 2430 ; 2431 ------------------------------------------------------------------------------- 2432 2433 sys/statvfs.h 2434 2435 2436 2437 struct statvfs 2438 { 2439 unsigned long f_bsize; 2440 unsigned long f_frsize; 2441 fsblkcnt_t f_blocks; 2442 fsblkcnt_t f_bfree; 2443 fsblkcnt_t f_bavail; 2444 fsfilcnt_t f_files; 2445 fsfilcnt_t f_ffree; 2446 fsfilcnt_t f_favail; 2447 unsigned long f_fsid; 2448 int __f_unused; 2449 unsigned long f_flag; 2450 unsigned long f_namemax; 2451 int __f_spare[6]; 2452 } 2453 ; 2454 struct statvfs64 2455 { 2456 unsigned long f_bsize; 2457 unsigned long f_frsize; 2458 fsblkcnt64_t f_blocks; 2459 fsblkcnt64_t f_bfree; 2460 fsblkcnt64_t f_bavail; 2461 fsfilcnt64_t f_files; 2462 fsfilcnt64_t f_ffree; 2463 fsfilcnt64_t f_favail; 2464 unsigned long f_fsid; 2465 int __f_unused; 2466 unsigned long f_flag; 2467 unsigned long f_namemax; 2468 int __f_spare[6]; 2469 } 2470 ; 2471 ------------------------------------------------------------------------------- 2472 2473 sys/types.h 2474 2475 2476 2477 typedef int ssize_t; 2478 ------------------------------------------------------------------------------- 2479 2480 termios.h 2481 2482 #define TAB1 1024 2483 #define CR3 12288 2484 #define CRDLY 12288 2485 #define FF1 16384 2486 #define FFDLY 16384 2487 #define XCASE 16384 2488 #define ONLCR 2 2489 #define TAB2 2048 2490 #define TAB3 3072 2491 #define TABDLY 3072 2492 #define BS1 32768 2493 #define BSDLY 32768 2494 #define OLCUC 4 2495 #define CR1 4096 2496 #define IUCLC 4096 2497 #define VT1 65536 2498 #define VTDLY 65536 2499 #define NLDLY 768 2500 #define CR2 8192 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 #define VWERASE 10 2511 #define VREPRINT 11 2512 #define VSUSP 12 2513 #define VSTART 13 2514 #define VSTOP 14 2515 #define VDISCARD 16 2516 #define VMIN 5 2517 #define VEOL 6 2518 #define VEOL2 8 2519 #define VSWTC 9 2520 2521 2522 2523 #define IXOFF 1024 2524 #define IXON 512 2525 2526 2527 2528 2529 2530 2531 #define CSTOPB 1024 2532 #define HUPCL 16384 2533 #define CREAD 2048 2534 #define CS6 256 2535 #define CLOCAL 32768 2536 #define PARENB 4096 2537 #define CS7 512 2538 #define VTIME 7 2539 #define CS8 768 2540 #define CSIZE 768 2541 #define PARODD 8192 2542 2543 2544 2545 #define NOFLSH -2147483648 2546 #define ECHOKE 1 2547 #define IEXTEN 1024 2548 #define ISIG 128 2549 #define ECHONL 16 2550 #define ECHOE 2 2551 #define ICANON 256 2552 #define ECHOPRT 32 2553 #define ECHOK 4 2554 #define TOSTOP 4194304 2555 #define PENDIN 536870912 2556 #define ECHOCTL 64 2557 #define FLUSHO 8388608 2558 ------------------------------------------------------------------------------- 2559 2560 ucontext.h 2561 2562 2563 2564 struct pt_regs 2565 { 2566 unsigned long gpr[32]; 2567 unsigned long nip; 2568 unsigned long msr; 2569 unsigned long orig_gpr3; 2570 unsigned long ctr; 2571 unsigned long link; 2572 unsigned long xer; 2573 unsigned long ccr; 2574 unsigned long mq; 2575 unsigned long trap; 2576 unsigned long dar; 2577 unsigned long dsisr; 2578 unsigned long result; 2579 } 2580 ; 2581 2582 2583 2584 #define NGREG 48 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 typedef struct sigcontext mcontext_t; 2606 2607 2608 typedef struct ucontext 2609 { 2610 unsigned long uc_flags; 2611 struct ucontext *uc_link; 2612 stack_t uc_stack; 2613 mcontext_t uc_mcontext; 2614 sigset_t uc_sigmask; 2615 } 2616 ucontext_t; 2617 ------------------------------------------------------------------------------- 2618 2619 unistd.h 2620 2621 2622 2623 typedef int intptr_t; 2624 ------------------------------------------------------------------------------- 2625 2626 Interfaces for libm 2627 2628 Table 16-31. libm Definition 2629 2630 +-------------------+ 2631 |Library:|libm | 2632 |--------+----------| 2633 |SONAME: |libm.so.6 | 2634 +-------------------+ 2635 2636 The behavior of the interfaces in this library is specified by the following 2637 standards. 2638 2639 ISO/IEC 9899: 1999, Programming Languages --C[10] 2640 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 2641 (ISBN: 1-85912-181-0, C606)[11] 2642 2643 ------------------------------------------------------------------------------- 2644 2645 Math 2646 2647 Table 16-32. libm - Math Function Interfaces 2648 2649 +------------------------------------------------------------------------------+ 2650 |acos |ceill |erfl(GLIBC_2.0) |j1f(GLIBC_2.0) |remainder | 2651 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[10] |(GLIBC_2.0)[11]| 2652 |[11] |[10] | | | | 2653 |-------------+--------------+-----------------+---------------+---------------| 2654 |acosf |cexp |exp(GLIBC_2.0) |j1l(GLIBC_2.0) |remainderf | 2655 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |[10] |(GLIBC_2.0)[10]| 2656 |[10] |[10] | | | | 2657 |-------------+--------------+-----------------+---------------+---------------| 2658 |acosh |cexpf |expf(GLIBC_2.0) |jn(GLIBC_2.0) |remainderl | 2659 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[11] |(GLIBC_2.0)[10]| 2660 |[11] |[10] | | | | 2661 |-------------+--------------+-----------------+---------------+---------------| 2662 |acoshf |cexpl |expl(GLIBC_2.0) |jnf(GLIBC_2.0) |remquo | 2663 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[10] |(GLIBC_2.0)[10]| 2664 |[10] |[10] | | | | 2665 |-------------+--------------+-----------------+---------------+---------------| 2666 |acoshl |cimag |expm1(GLIBC_2.0) |jnl(GLIBC_2.0) |remquof | 2667 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |[10] |(GLIBC_2.0)[10]| 2668 |[10] |[10] | | | | 2669 |-------------+--------------+-----------------+---------------+---------------| 2670 |acosl |cimagf |fabs(GLIBC_2.0) |ldexp |remquol | 2671 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |(GLIBC_2.0)[11]|(GLIBC_2.0)[10]| 2672 |[10] |[10] | | | | 2673 |-------------+--------------+-----------------+---------------+---------------| 2674 |asin |cimagl |fabsf(GLIBC_2.0) |ldexpf |rint(GLIBC_2.0)| 2675 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|[11] | 2676 |[11] |[10] | | | | 2677 |-------------+--------------+-----------------+---------------+---------------| 2678 |asinf |clog |fabsl(GLIBC_2.0) |ldexpl |rintf | 2679 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2680 |[10] |[10] | | | | 2681 |-------------+--------------+-----------------+---------------+---------------| 2682 |asinh |clog10 |fdim(GLIBC_2.0) |lgamma |rintl | 2683 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[11]|(GLIBC_2.0)[10]| 2684 |[11] |[10] | | | | 2685 |-------------+--------------+-----------------+---------------+---------------| 2686 |asinhf |clog10f |fdimf(GLIBC_2.0) |lgamma_r |round | 2687 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2688 |[10] |[10] | | | | 2689 |-------------+--------------+-----------------+---------------+---------------| 2690 |asinhl |clog10l |fdiml(GLIBC_2.0) |lgammaf |roundf | 2691 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2692 |[10] |[10] | | | | 2693 |-------------+--------------+-----------------+---------------+---------------| 2694 |asinl |clogf |feclearexcept |lgammaf_r |roundl | 2695 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2696 |[10] |[10] | | | | 2697 |-------------+--------------+-----------------+---------------+---------------| 2698 |atan |clogl |fegetenv |lgammal |scalb | 2699 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[11]| 2700 |[11] |[10] | | | | 2701 |-------------+--------------+-----------------+---------------+---------------| 2702 |atan2 |conj |fegetexceptflag |lgammal_r |scalbf | 2703 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2704 |[11] |[10] | | | | 2705 |-------------+--------------+-----------------+---------------+---------------| 2706 |atan2f |conjf |fegetround |llrint |scalbl | 2707 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2708 |[10] |[10] | | | | 2709 |-------------+--------------+-----------------+---------------+---------------| 2710 |atan2l |conjl |feholdexcept |llrintf |scalbln | 2711 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2712 |[10] |[10] | | | | 2713 |-------------+--------------+-----------------+---------------+---------------| 2714 |atanf |copysign |feraiseexcept |llrintl |scalblnf | 2715 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2716 |[10] |[10] | | | | 2717 |-------------+--------------+-----------------+---------------+---------------| 2718 |atanh |copysignf |fesetenv |llround |scalblnl | 2719 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2720 |[11] |[10] | | | | 2721 |-------------+--------------+-----------------+---------------+---------------| 2722 |atanhf |copysignl |fesetexceptflag |llroundf |scalbn | 2723 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2724 |[10] |[10] | | | | 2725 |-------------+--------------+-----------------+---------------+---------------| 2726 |atanhl |cos(GLIBC_2.0)|fesetround |llroundl |scalbnf | 2727 |(GLIBC_2.0) |[11] |(GLIBC_2.0)[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2728 |[10] | | | | | 2729 |-------------+--------------+-----------------+---------------+---------------| 2730 |atanl |cosf |fetestexcept |log(GLIBC_2.0) |scalbnl | 2731 |(GLIBC_2.0) |(GLIBC_2.0) |(GLIBC_2.0)[10] |[11] |(GLIBC_2.0)[10]| 2732 |[10] |[10] | | | | 2733 |-------------+--------------+-----------------+---------------+---------------| 2734 |cabs |cosh |feupdateenv |log10 |significand | 2735 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[10] |(GLIBC_2.1)[11]|(GLIBC_2.1)[10]| 2736 |[11] |[11] | | | | 2737 |-------------+--------------+-----------------+---------------+---------------| 2738 |cabsf |coshf |finite(GLIBC_2.1)|log10f |significandf | 2739 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2740 |[10] |[10] | | | | 2741 |-------------+--------------+-----------------+---------------+---------------| 2742 |cabsl |coshl |finitef |log10l |significandl | 2743 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2744 |[10] |[10] | | | | 2745 |-------------+--------------+-----------------+---------------+---------------| 2746 |cacos |cosl |finitel |log1p |sin(GLIBC_2.1) | 2747 |(GLIBC_2.1) |(GLIBC_2.1) |(GLIBC_2.1)[10] |(GLIBC_2.1)[11]|[11] | 2748 |[10] |[10] | | | | 2749 |-------------+--------------+-----------------+---------------+---------------| 2750 |cacosf |cpow |floor(GLIBC_2.1) |logb(GLIBC_2.1)|sincos | 2751 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |[11] |(GLIBC_2.1)[10]| 2752 |[10] |[10] | | | | 2753 |-------------+--------------+-----------------+---------------+---------------| 2754 |cacosh |cpowf |floorf(GLIBC_2.1)|logf(GLIBC_2.1)|sincosf | 2755 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |(GLIBC_2.1)[10]| 2756 |[10] |[10] | | | | 2757 |-------------+--------------+-----------------+---------------+---------------| 2758 |cacoshf |cpowl |floorl(GLIBC_2.1)|logl(GLIBC_2.1)|sincosl | 2759 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |(GLIBC_2.1)[10]| 2760 |[10] |[10] | | | | 2761 |-------------+--------------+-----------------+---------------+---------------| 2762 |cacoshl |cproj |fma(GLIBC_2.1) |lrint |sinf(GLIBC_2.1)| 2763 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2764 |[10] |[10] | | | | 2765 |-------------+--------------+-----------------+---------------+---------------| 2766 |cacosl |cprojf |fmaf(GLIBC_2.1) |lrintf |sinh(GLIBC_2.1)| 2767 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[11] | 2768 |[10] |[10] | | | | 2769 |-------------+--------------+-----------------+---------------+---------------| 2770 |carg |cprojl |fmal(GLIBC_2.1) |lrintl |sinhf | 2771 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2772 |[10] |[10] | | | | 2773 |-------------+--------------+-----------------+---------------+---------------| 2774 |cargf |creal |fmax(GLIBC_2.1) |lround |sinhl | 2775 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2776 |[10] |[10] | | | | 2777 |-------------+--------------+-----------------+---------------+---------------| 2778 |cargl |crealf |fmaxf(GLIBC_2.1) |lroundf |sinl(GLIBC_2.1)| 2779 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2780 |[10] |[10] | | | | 2781 |-------------+--------------+-----------------+---------------+---------------| 2782 |casin |creall |fmaxl(GLIBC_2.1) |lroundl |sqrt(GLIBC_2.1)| 2783 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[11] | 2784 |[10] |[10] | | | | 2785 |-------------+--------------+-----------------+---------------+---------------| 2786 |casinf |csin |fmin(GLIBC_2.1) |matherr |sqrtf | 2787 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2788 |[10] |[10] | | | | 2789 |-------------+--------------+-----------------+---------------+---------------| 2790 |casinh |csinf |fminf(GLIBC_2.1) |modf(GLIBC_2.1)|tan(GLIBC_2.1) | 2791 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[11] |[11] | 2792 |[10] |[10] | | | | 2793 |-------------+--------------+-----------------+---------------+---------------| 2794 |casinhf |csinh |fminl(GLIBC_2.1) |modff |tanf(GLIBC_2.1)| 2795 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2796 |[10] |[10] | | | | 2797 |-------------+--------------+-----------------+---------------+---------------| 2798 |casinhl |csinhf |fmod(GLIBC_2.1) |modfl |tanh(GLIBC_2.1)| 2799 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|[11] | 2800 |[10] |[10] | | | | 2801 |-------------+--------------+-----------------+---------------+---------------| 2802 |casinl |csinhl |fmodf(GLIBC_2.1) |nan(GLIBC_2.1) |tanhf | 2803 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |(GLIBC_2.1)[10]| 2804 |[10] |[10] | | | | 2805 |-------------+--------------+-----------------+---------------+---------------| 2806 |catan |csinl |fmodl(GLIBC_2.1) |nanf(GLIBC_2.1)|tanhl | 2807 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |(GLIBC_2.1)[10]| 2808 |[10] |[10] | | | | 2809 |-------------+--------------+-----------------+---------------+---------------| 2810 |catanf |csqrt |frexp(GLIBC_2.1) |nanl(GLIBC_2.1)|tanl(GLIBC_2.1)| 2811 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |[10] |[10] | 2812 |[10] |[10] | | | | 2813 |-------------+--------------+-----------------+---------------+---------------| 2814 |catanh |csqrtf |frexpf(GLIBC_2.1)|nearbyint |tgamma | 2815 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2816 |[10] |[10] | | | | 2817 |-------------+--------------+-----------------+---------------+---------------| 2818 |catanhf |csqrtl |frexpl(GLIBC_2.1)|nearbyintf |tgammaf | 2819 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2820 |[10] |[10] | | | | 2821 |-------------+--------------+-----------------+---------------+---------------| 2822 |catanhl |ctan |gamma(GLIBC_2.1) |nearbyintl |tgammal | 2823 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|(GLIBC_2.1)[10]| 2824 |[10] |[10] | | | | 2825 |-------------+--------------+-----------------+---------------+---------------| 2826 |catanl |ctanf |gammaf(GLIBC_2.1)|nextafter |trunc | 2827 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[11]|(GLIBC_2.1)[10]| 2828 |[10] |[10] | | | | 2829 |-------------+--------------+-----------------+---------------+---------------| 2830 |cbrt |ctanh |gammal(GLIBC_2.0)|nextafterf |truncf | 2831 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2832 |[11] |[10] | | | | 2833 |-------------+--------------+-----------------+---------------+---------------| 2834 |cbrtf |ctanhf |hypot(GLIBC_2.0) |nextafterl |truncl | 2835 |(GLIBC_2.0) |(GLIBC_2.0) |[11] |(GLIBC_2.0)[10]|(GLIBC_2.0)[10]| 2836 |[10] |[10] | | | | 2837 |-------------+--------------+-----------------+---------------+---------------| 2838 |cbrtl |ctanhl |hypotf(GLIBC_2.0)|nexttoward |y0(GLIBC_2.0) | 2839 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |(GLIBC_2.0)[10]|[11] | 2840 |[10] |[10] | | | | 2841 |-------------+--------------+-----------------+---------------+---------------| 2842 |ccos |ctanl |hypotl(GLIBC_2.1)|nexttowardf |y0f(GLIBC_2.1) | 2843 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[10] | 2844 |[10] |[10] | | | | 2845 |-------------+--------------+-----------------+---------------+---------------| 2846 |ccosf |dremf |ilogb(GLIBC_2.1) |nexttowardl |y0l(GLIBC_2.1) | 2847 |(GLIBC_2.1) |(GLIBC_2.1) |[11] |(GLIBC_2.1)[10]|[10] | 2848 |[10] |[10] | | | | 2849 |-------------+--------------+-----------------+---------------+---------------| 2850 |ccosh |dreml |ilogbf(GLIBC_2.1)|pow(GLIBC_2.1) |y1(GLIBC_2.1) | 2851 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |[10] |[11] | 2852 |[10] |[10] | | | | 2853 |-------------+--------------+-----------------+---------------+---------------| 2854 |ccoshf |erf(GLIBC_2.1)|ilogbl(GLIBC_2.1)|pow10 |y1f(GLIBC_2.1) | 2855 |(GLIBC_2.1) |[11] |[10] |(GLIBC_2.1)[10]|[10] | 2856 |[10] | | | | | 2857 |-------------+--------------+-----------------+---------------+---------------| 2858 |ccoshl |erfc |j0(GLIBC_2.1)[11]|pow10f |y1l(GLIBC_2.1) | 2859 |(GLIBC_2.1) |(GLIBC_2.1) | |(GLIBC_2.1)[10]|[10] | 2860 |[10] |[11] | | | | 2861 |-------------+--------------+-----------------+---------------+---------------| 2862 |ccosl |erfcf |j0f(GLIBC_2.1) |pow10l |yn(GLIBC_2.1) | 2863 |(GLIBC_2.1) |(GLIBC_2.1) |[10] |(GLIBC_2.1)[10]|[11] | 2864 |[10] |[10] | | | | 2865 |-------------+--------------+-----------------+---------------+---------------| 2866 |ceil |erfcl |j0l(GLIBC_2.0) |powf(GLIBC_2.0)|ynf(GLIBC_2.0) | 2867 |(GLIBC_2.0) |(GLIBC_2.0) |[10] |[10] |[10] | 2868 |[11] |[10] | | | | 2869 |-------------+--------------+-----------------+---------------+---------------| 2870 |ceilf |erff |j1(GLIBC_2.0)[11]|powl(GLIBC_2.0)|ynl(GLIBC_2.0) | 2871 |(GLIBC_2.0) |(GLIBC_2.0) | |[10] |[10] | 2872 |[10] |[10] | | | | 2873 +------------------------------------------------------------------------------+ 2874 2875 Table 16-33. libm - Math Data Interfaces 2876 2877 +-------------------------------+ 2878 |signgam(GLIBC_2.0)[11] | | | | | 2879 +-------------------------------+ 2880 ------------------------------------------------------------------------------- 2881 2882 Data Definitions for libm 2883 2884 This section contains standard data definitions that describe system data. 2885 These definitions are organized into groups that correspond to system headers. 2886 This convention is used as a convenience for the reader, and does not imply the 2887 existence of these headers, or their content. 2888 2889 ISO C serves as the LSB reference programming language, and data definitions 2890 are specified in ISO C format. The C language is used here as a convenient 2891 notation. Using a C language description of these data objects does not 2892 preclude their use by other programming languages. 2893 2894 ------------------------------------------------------------------------------- 2895 2896 Interfaces for libpthread 2897 2898 Table 16-34. libpthread Definition 2899 2900 +-------------------------+ 2901 |Library:|libpthread | 2902 |--------+----------------| 2903 |SONAME: |libpthread.so.0 | 2904 +-------------------------+ 2905 2906 The behavior of the interfaces in this library is specified by the following 2907 standards. 2908 2909 Linux Standard Base[12] 2910 CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 5 2911 (ISBN: 1-85912-181-0, C606)[13] 2912 2913 ------------------------------------------------------------------------------- 2914 2915 Posix Threads 2916 2917 Table 16-35. libpthread - Posix Threads Function Interfaces 2918 2919 +----------------------------------------------------------------------------------------------------------------------------------------+ 2920 |pthread_attr_destroy |pthread_attr_setstackaddr|pthread_getspecific |pthread_once(GLIBC_2.0)[13] |pthread_setcanceltype | 2921 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | |(GLIBC_2.0)[13] | 2922 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2923 |pthread_attr_getdetachstate |pthread_attr_setstacksize|pthread_join(GLIBC_2.0)[13] |pthread_rwlock_destroy |pthread_setconcurrency| 2924 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2925 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2926 |pthread_attr_getguardsize |pthread_cancel(GLIBC_2.1)|pthread_key_create |pthread_rwlock_init |pthread_setschedparam | 2927 |(GLIBC_2.1)[13] |[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] | 2928 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2929 |pthread_attr_getinheritsched|pthread_cond_broadcast |pthread_key_delete |pthread_rwlock_rdlock |pthread_setspecific | 2930 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2931 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2932 |pthread_attr_getschedparam |pthread_cond_destroy |pthread_kill(GLIBC_2.0)[13] |pthread_rwlock_timedrdlock |pthread_sigmask | 2933 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2934 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2935 |pthread_attr_getschedpolicy |pthread_cond_init |pthread_mutex_destroy |pthread_rwlock_timedwrlock |pthread_testcancel | 2936 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] | 2937 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2938 |pthread_attr_getscope |pthread_cond_signal |pthread_mutex_init |pthread_rwlock_tryrdlock |sem_close(GLIBC_2.0) | 2939 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2940 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2941 |pthread_attr_getstackaddr |pthread_cond_timedwait |pthread_mutex_lock |pthread_rwlock_trywrlock |sem_destroy(GLIBC_2.1)| 2942 |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |[13] | 2943 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2944 |pthread_attr_getstacksize |pthread_cond_wait |pthread_mutex_trylock |pthread_rwlock_unlock |sem_getvalue | 2945 |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] | 2946 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2947 |pthread_attr_init(GLIBC_2.1)|pthread_condattr_destroy |pthread_mutex_unlock |pthread_rwlock_wrlock |sem_init(GLIBC_2.1) | 2948 |[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |[13] | 2949 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2950 |pthread_attr_setdetachstate |pthread_condattr_init |pthread_mutexattr_destroy |pthread_rwlockattr_destroy |sem_open(GLIBC_2.0) | 2951 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2952 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2953 |pthread_attr_setguardsize |pthread_create(GLIBC_2.1)|pthread_mutexattr_getpshared|pthread_rwlockattr_getpshared|sem_post(GLIBC_2.1) | 2954 |(GLIBC_2.1)[13] |[13] |(GLIBC_2.1)[13] |(GLIBC_2.1)[13] |[13] | 2955 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2956 |pthread_attr_setinheritsched|pthread_detach(GLIBC_2.0)|pthread_mutexattr_gettype |pthread_rwlockattr_init |sem_timedwait | 2957 |(GLIBC_2.0)[13] |[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[12] | 2958 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2959 |pthread_attr_setschedparam |pthread_equal(GLIBC_2.0) |pthread_mutexattr_init |pthread_rwlockattr_setpshared|sem_trywait(GLIBC_2.0)| 2960 |(GLIBC_2.0)[13] |[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2961 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2962 |pthread_attr_setschedpolicy |pthread_exit(GLIBC_2.0) |pthread_mutexattr_setpshared|pthread_self(GLIBC_2.0)[13] |sem_unlink(GLIBC_2.0) | 2963 |(GLIBC_2.0)[13] |[13] |(GLIBC_2.0)[13] | |[13] | 2964 |----------------------------+-------------------------+----------------------------+-----------------------------+----------------------| 2965 |pthread_attr_setscope |pthread_getschedparam |pthread_mutexattr_settype |pthread_setcancelstate |sem_wait(GLIBC_2.0) | 2966 |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |(GLIBC_2.0)[13] |[13] | 2967 +----------------------------------------------------------------------------------------------------------------------------------------+ 2968 ------------------------------------------------------------------------------- 2969 2970 Data Definitions for libpthread 2971 2972 This section contains standard data definitions that describe system data. 2973 These definitions are organized into groups that correspond to system headers. 2974 This convention is used as a convenience for the reader, and does not imply the 2975 existence of these headers, or their content. 2976 2977 ISO C serves as the LSB reference programming language, and data definitions 2978 are specified in ISO C format. The C language is used here as a convenient 2979 notation. Using a C language description of these data objects does not 2980 preclude their use by other programming languages. 2981 2982 ------------------------------------------------------------------------------- 2983 2984 Interfaces for libdl 2985 2986 Table 16-36. libdl Definition 2987 2988 +--------------------+ 2989 |Library:|libdl | 2990 |--------+-----------| 2991 |SONAME: |libdl.so.2 | 2992 +--------------------+ 2993 2994 ------------------------------------------------------------------------------- 2995 2996 Dynamic Loader 2997 2998 ------------------------------------------------------------------------------- 2999 3000 Data Definitions for libdl 3001 3002 This section contains standard data definitions that describe system data. 3003 These definitions are organized into groups that correspond to system headers. 3004 This convention is used as a convenience for the reader, and does not imply the 3005 existence of these headers, or their content. 3006 3007 ISO C serves as the LSB reference programming language, and data definitions 3008 are specified in ISO C format. The C language is used here as a convenient 3009 notation. Using a C language description of these data objects does not 3010 preclude their use by other programming languages. 3011 3012 ------------------------------------------------------------------------------- 3013 3014 Interfaces for libcrypt 3015 3016 Table 16-37. libcrypt Definition 3017 3018 +-----------------------+ 3019 |Library:|libcrypt | 3020 |--------+--------------| 3021 |SONAME: |libcrypt.so.1 | 3022 +-----------------------+ 3023 3024 ------------------------------------------------------------------------------- 3025 3026 Encryption 3027 3028 ------------------------------------------------------------------------------- 3029 3030 Data Definitions for libcrypt 3031 3032 This section contains standard data definitions that describe system data. 3033 These definitions are organized into groups that correspond to system headers. 3034 This convention is used as a convenience for the reader, and does not imply the 3035 existence of these headers, or their content. 3036 3037 ISO C serves as the LSB reference programming language, and data definitions 3038 are specified in ISO C format. The C language is used here as a convenient 3039 notation. Using a C language description of these data objects does not 3040 preclude their use by other programming languages. 3041 3042 VI. Package Format and Installation 3043 3044 Table of Contents 3045 17. Software Installation 3046 3047 ------------------------------------------------------------------------------- 3048 3049 Chapter 17. Software Installation 3050 3051 ------------------------------------------------------------------------------- 3052 3053 Package Architecture Considerations 3054 3055 All packages must specify an architecture of ppc. A LSB runtime environment 3056 must accept an architecture of ppc even if the native architecture is 3057 different. 3058 3059 The archnum value in the Lead Section shall be 0x0005. 3060 3061 ------------------------------------------------------------------------------- 3062 3063 Appendix A. Alphabetical Listing of Interfaces 3064 3065 ------------------------------------------------------------------------------- 3066 3067 Appendix B. GNU Free Documentation License 3068 3069 Version 1.1, March 2000 3070 3071 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 3072 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute 3073 verbatim copies of this license document, but changing it is not allowed. 3074 3075 ------------------------------------------------------------------------------- 3076 3077 PREAMBLE 3078 3079 The purpose of this License is to make a manual, textbook, or other written 3080 document "free" in the sense of freedom: to assure everyone the effective 3081 freedom to copy and redistribute it, with or without modifying it, either 3082 commercially or noncommercially. Secondarily, this License preserves for the 3083 author and publisher a way to get credit for their work, while not being 3084 considered responsible for modifications made by others. 3085 3086 This License is a kind of "copyleft", which means that derivative works of the 3087 document must themselves be free in the same sense. It complements the GNU 3088 General Public License, which is a copyleft license designed for free software. 3089 3090 We have designed this License in order to use it for manuals for free software, 3091 because free software needs free documentation: a free program should come with 3092 manuals providing the same freedoms that the software does. But this License is 3093 not limited to software manuals; it can be used for any textual work, 3094 regardless of subject matter or whether it is published as a printed book. We 3095 recommend this License principally for works whose purpose is instruction or 3096 reference. 3097 3098 ------------------------------------------------------------------------------- 3099 3100 APPLICABILITY AND DEFINITIONS 3101 3102 This License applies to any manual or other work that contains a notice placed 3103 by the copyright holder saying it can be distributed under the terms of this 3104 License. The "Document", below, refers to any such manual or work. Any member 3105 of the public is a licensee, and is addressed as "you". 3106 3107 A "Modified Version" of the Document means any work containing the Document or 3108 a portion of it, either copied verbatim, or with modifications and/or 3109 translated into another language. 3110 3111 A "Secondary Section" is a named appendix or a front-matter section of the 3112 Document that deals exclusively with the relationship of the publishers or 3113 authors of the Document to the Document's overall subject (or to related 3114 matters) and contains nothing that could fall directly within that overall 3115 subject. (For example, if the Document is in part a textbook of mathematics, a 3116 Secondary Section may not explain any mathematics.) The relationship could be a 3117 matter of historical connection with the subject or with related matters, or of 3118 legal, commercial, philosophical, ethical or political position regarding them. 3119 3120 The "Invariant Sections" are certain Secondary Sections whose titles are 3121 designated, as being those of Invariant Sections, in the notice that says that 3122 the Document is released under this License. 3123 3124 The "Cover Texts" are certain short passages of text that are listed, as 3125 Front-Cover Texts or Back-Cover Texts, in the notice that says that the 3126 Document is released under this License. 3127 3128 A "Transparent" copy of the Document means a machine-readable copy, represented 3129 in a format whose specification is available to the general public, whose 3130 contents can be viewed and edited directly and straightforwardly with generic 3131 text editors or (for images composed of pixels) generic paint programs or (for 3132 drawings) some widely available drawing editor, and that is suitable for input 3133 to text formatters or for automatic translation to a variety of formats 3134 suitable for input to text formatters. A copy made in an otherwise Transparent 3135 file format whose markup has been designed to thwart or discourage subsequent 3136 modification by readers is not Transparent. A copy that is not "Transparent" is 3137 called "Opaque". 3138 3139 Examples of suitable formats for Transparent copies include plain ASCII without 3140 markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly 3141 available DTD, and standard-conforming simple HTML designed for human 3142 modification. Opaque formats include PostScript, PDF, proprietary formats that 3143 can be read and edited only by proprietary word processors, SGML or XML for 3144 which the DTD and/or processing tools are not generally available, and the 3145 machine-generated HTML produced by some word processors for output purposes 3146 only. 3147 3148 The "Title Page" means, for a printed book, the title page itself, plus such 3149 following pages as are needed to hold, legibly, the material this License 3150 requires to appear in the title page. For works in formats which do not have 3151 any title page as such, "Title Page" means the text near the most prominent 3152 appearance of the work's title, preceding the beginning of the body of the 3153 text. 3154 3155 ------------------------------------------------------------------------------- 3156 3157 VERBATIM COPYING 3158 3159 You may copy and distribute the Document in any medium, either commercially or 3160 noncommercially, provided that this License, the copyright notices, and the 3161 license notice saying this License applies to the Document are reproduced in 3162 all copies, and that you add no other conditions whatsoever to those of this 3163 License. You may not use technical measures to obstruct or control the reading 3164 or further copying of the copies you make or distribute. However, you may 3165 accept compensation in exchange for copies. If you distribute a large enough 3166 number of copies you must also follow the conditions in section 3. 3167 3168 You may also lend copies, under the same conditions stated above, and you may 3169 publicly display copies. 3170 3171 ------------------------------------------------------------------------------- 3172 3173 COPYING IN QUANTITY 3174 3175 If you publish printed copies of the Document numbering more than 100, and the 3176 Document's license notice requires Cover Texts, you must enclose the copies in 3177 covers that carry, clearly and legibly, all these Cover Texts: Front-Cover 3178 Texts on the front cover, and Back-Cover Texts on the back cover. Both covers 3179 must also clearly and legibly identify you as the publisher of these copies. 3180 The front cover must present the full title with all words of the title equally 3181 prominent and visible. You may add other material on the covers in addition. 3182 Copying with changes limited to the covers, as long as they preserve the title 3183 of the Document and satisfy these conditions, can be treated as verbatim 3184 copying in other respects. 3185 3186 If the required texts for either cover are too voluminous to fit legibly, you 3187 should put the first ones listed (as many as fit reasonably) on the actual 3188 cover, and continue the rest onto adjacent pages. 3189 3190 If you publish or distribute Opaque copies of the Document numbering more than 3191 100, you must either include a machine-readable Transparent copy along with 3192 each Opaque copy, or state in or with each Opaque copy a publicly-accessible 3193 computer-network location containing a complete Transparent copy of the 3194 Document, free of added material, which the general network-using public has 3195 access to download anonymously at no charge using public-standard network 3196 protocols. If you use the latter option, you must take reasonably prudent 3197 steps, when you begin distribution of Opaque copies in quantity, to ensure that 3198 this Transparent copy will remain thus accessible at the stated location until 3199 at least one year after the last time you distribute an Opaque copy (directly 3200 or through your agents or retailers) of that edition to the public. 3201 3202 It is requested, but not required, that you contact the authors of the Document 3203 well before redistributing any large number of copies, to give them a chance to 3204 provide you with an updated version of the Document. 3205 3206 ------------------------------------------------------------------------------- 3207 3208 MODIFICATIONS 3209 3210 You may copy and distribute a Modified Version of the Document under the 3211 conditions of sections 2 and 3 above, provided that you release the Modified 3212 Version under precisely this License, with the Modified Version filling the 3213 role of the Document, thus licensing distribution and modification of the 3214 Modified Version to whoever possesses a copy of it. In addition, you must do 3215 these things in the Modified Version: 3216 3217 A. Use in the Title Page (and on the covers, if any) a title distinct from 3218 that of the Document, and from those of previous versions (which should, if 3219 there were any, be listed in the History section of the Document). You may 3220 use the same title as a previous version if the original publisher of that 3221 version gives permission. 3222 3223 B. List on the Title Page, as authors, one or more persons or entities 3224 responsible for authorship of the modifications in the Modified Version, 3225 together with at least five of the principal authors of the Document (all 3226 of its principal authors, if it has less than five). 3227 3228 C. State on the Title page the name of the publisher of the Modified Version, 3229 as the publisher. 3230 3231 D. Preserve all the copyright notices of the Document. 3232 3233 E. Add an appropriate copyright notice for your modifications adjacent to the 3234 other copyright notices. 3235 3236 F. Include, immediately after the copyright notices, a license notice giving 3237 the public permission to use the Modified Version under the terms of this 3238 License, in the form shown in the Addendum below. 3239 3240 G. Preserve in that license notice the full lists of Invariant Sections and 3241 required Cover Texts given in the Document's license notice. 3242 3243 H. Include an unaltered copy of this License. 3244 3245 I. Preserve the section entitled "History", and its title, and add to it an 3246 item stating at least the title, year, new authors, and publisher of the 3247 Modified Version as given on the Title Page. If there is no section 3248 entitled "History" in the Document, create one stating the title, year, 3249 authors, and publisher of the Document as given on its Title Page, then add 3250 an item describing the Modified Version as stated in the previous sentence. 3251 3252 J. Preserve the network location, if any, given in the Document for public 3253 access to a Transparent copy of the Document, and likewise the network 3254 locations given in the Document for previous versions it was based on. 3255 These may be placed in the "History" section. You may omit a network 3256 location for a work that was published at least four years before the 3257 Document itself, or if the original publisher of the version it refers to 3258 gives permission. 3259 3260 K. In any section entitled "Acknowledgements" or "Dedications", preserve the 3261 section's title, and preserve in the section all the substance and tone of 3262 each of the contributor acknowledgements and/or dedications given therein. 3263 3264 L. Preserve all the Invariant Sections of the Document, unaltered in their 3265 text and in their titles. Section numbers or the equivalent are not 3266 considered part of the section titles. 3267 3268 M. Delete any section entitled "Endorsements". Such a section may not be 3269 included in the Modified Version. 3270 3271 N. Do not retitle any existing section as "Endorsements" or to conflict in 3272 title with any Invariant Section. 3273 3274 If the Modified Version includes new front-matter sections or appendices that 3275 qualify as Secondary Sections and contain no material copied from the Document, 3276 you may at your option designate some or all of these sections as invariant. To 3277 do this, add their titles to the list of Invariant Sections in the Modified 3278 Version's license notice. These titles must be distinct from any other section 3279 titles. 3280 3281 You may add a section entitled "Endorsements", provided it contains nothing but 3282 endorsements of your Modified Version by various parties--for example, 3283 statements of peer review or that the text has been approved by an organization 3284 as the authoritative definition of a standard. 3285 3286 You may add a passage of up to five words as a Front-Cover Text, and a passage 3287 of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts 3288 in the Modified Version. Only one passage of Front-Cover Text and one of 3289 Back-Cover Text may be added by (or through arrangements made by) any one 3290 entity. If the Document already includes a cover text for the same cover, 3291 previously added by you or by arrangement made by the same entity you are 3292 acting on behalf of, you may not add another; but you may replace the old one, 3293 on explicit permission from the previous publisher that added the old one. 3294 3295 The author(s) and publisher(s) of the Document do not by this License give 3296 permission to use their names for publicity for or to assert or imply 3297 endorsement of any Modified Version. 3298 3299 ------------------------------------------------------------------------------- 3300 3301 COMBINING DOCUMENTS 3302 3303 You may combine the Document with other documents released under this License, 3304 under the terms defined in section 4 above for modified versions, provided that 3305 you include in the combination all of the Invariant Sections of all of the 3306 original documents, unmodified, and list them all as Invariant Sections of your 3307 combined work in its license notice. 3308 3309 The combined work need only contain one copy of this License, and multiple 3310 identical Invariant Sections may be replaced with a single copy. If there are 3311 multiple Invariant Sections with the same name but different contents, make the 3312 title of each such section unique by adding at the end of it, in parentheses, 3313 the name of the original author or publisher of that section if known, or else 3314 a unique number. Make the same adjustment to the section titles in the list of 3315 Invariant Sections in the license notice of the combined work. 3316 3317 In the combination, you must combine any sections entitled "History" in the 3318 various original documents, forming one section entitled "History"; likewise 3319 combine any sections entitled "Acknowledgements", and any sections entitled 3320 "Dedications". You must delete all sections entitled "Endorsements." 3321 3322 ------------------------------------------------------------------------------- 3323 3324 COLLECTIONS OF DOCUMENTS 3325 3326 You may make a collection consisting of the Document and other documents 3327 released under this License, and replace the individual copies of this License 3328 in the various documents with a single copy that is included in the collection, 3329 provided that you follow the rules of this License for verbatim copying of each 3330 of the documents in all other respects. 3331 3332 You may extract a single document from such a collection, and distribute it 3333 individually under this License, provided you insert a copy of this License 3334 into the extracted document, and follow this License in all other respects 3335 regarding verbatim copying of that document. 3336 3337 ------------------------------------------------------------------------------- 3338 3339 AGGREGATION WITH INDEPENDENT WORKS 3340 3341 A compilation of the Document or its derivatives with other separate and 3342 independent documents or works, in or on a volume of a storage or distribution 3343 medium, does not as a whole count as a Modified Version of the Document, 3344 provided no compilation copyright is claimed for the compilation. Such a 3345 compilation is called an "aggregate", and this License does not apply to the 3346 other self-contained works thus compiled with the Document, on account of their 3347 being thus compiled, if they are not themselves derivative works of the 3348 Document. 3349 3350 If the Cover Text requirement of section 3 is applicable to these copies of the 3351 Document, then if the Document is less than one quarter of the entire 3352 aggregate, the Document's Cover Texts may be placed on covers that surround 3353 only the Document within the aggregate. Otherwise they must appear on covers 3354 around the whole aggregate. 3355 3356 ------------------------------------------------------------------------------- 3357 3358 TRANSLATION 3359 3360 Translation is considered a kind of modification, so you may distribute 3361 translations of the Document under the terms of section 4. Replacing Invariant 3362 Sections with translations requires special permission from their copyright 3363 holders, but you may include translations of some or all Invariant Sections in 3364 addition to the original versions of these Invariant Sections. You may include 3365 a translation of this License provided that you also include the original 3366 English version of this License. In case of a disagreement between the 3367 translation and the original English version of this License, the original 3368 English version will prevail. 3369 3370 ------------------------------------------------------------------------------- 3371 3372 TERMINATION 3373 3374 You may not copy, modify, sublicense, or distribute the Document except as 3375 expressly provided for under this License. Any other attempt to copy, modify, 3376 sublicense or distribute the Document is void, and will automatically terminate 3377 your rights under this License. However, parties who have received copies, or 3378 rights, from you under this License will not have their licenses terminated so 3379 long as such parties remain in full compliance. 3380 3381 ------------------------------------------------------------------------------- 3382 3383 FUTURE REVISIONS OF THIS LICENSE 3384 3385 The Free Software Foundation may publish new, revised versions of the GNU Free 3386 Documentation License from time to time. Such new versions will be similar in 3387 spirit to the present version, but may differ in detail to address new problems 3388 or concerns. See http://www.gnu.org/copyleft/. 3389 3390 Each version of the License is given a distinguishing version number. If the 3391 Document specifies that a particular numbered version of this License "or any 3392 later version" applies to it, you have the option of following the terms and 3393 conditions either of that specified version or of any later version that has 3394 been published (not as a draft) by the Free Software Foundation. If the 3395 Document does not specify a version number of this License, you may choose any 3396 version ever published (not as a draft) by the Free Software Foundation. 3397 3398 ------------------------------------------------------------------------------- 3399 3400 How to use this License for your documents 3401 3402 To use this License in a document you have written, include a copy of the 3403 License in the document and put the following copyright and license notices 3404 just after the title page: 3405 3406 Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and 3407 /or modify this document under the terms of the GNU Free Documentation 3408 License, Version 1.1 or any later version published by the Free Software 3409 Foundation; with the Invariant Sections being LIST THEIR TITLES, with the 3410 Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A 3411 copy of the license is included in the section entitled "GNU Free 3412 Documentation License". 3413 3414 If you have no Invariant Sections, write "with no Invariant Sections" instead 3415 of saying which ones are invariant. If you have no Front-Cover Texts, write "no 3416 Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for 3417 Back-Cover Texts. 3418 3419 If your document contains nontrivial examples of program code, we recommend 3420 releasing these examples in parallel under your choice of free software 3421 license, such as the GNU General Public License, to permit their use in free 3422 software. 3423 3424 Notes 3425 3426 [1] ISO/IEC 9899: 1999, Programming Languages --C 3427 3428 [2] Large File Support 3429 3430 [3] Linux Standard Base 3431 3432 [4] IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996] 3433 3434 [5] CAE Specification, February 1997, Networking Services (XNS), Issue 5(ISBN: 3435 1-85912-165-9, C523) 3436 3437 [6] CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 3438 5 (ISBN: 1-85912-181-0, C606) 3439 3440 [7] The Single UNIX® Specification(SUS) Version 3 3441 3442 [8] System V Interface Definition, Issue 3 (ISBN 0201566524) 3443 3444 [9] System V Interface Definition,Fourth Edition 3445 3446 [10] ISO/IEC 9899: 1999, Programming Languages --C 3447 3448 [11] CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 3449 5 (ISBN: 1-85912-181-0, C606) 3450 3451 [12] Linux Standard Base 3452 3453 [13] CAE Specification, January 1997, System Interfaces and Headers (XSH),Issue 3454 5 (ISBN: 1-85912-181-0, C606) 3455