System V Application Binary Interface
Total Page:16
File Type:pdf, Size:1020Kb
SYSTEM V APPLICATION BINARY INTERFACE Edition 4.1 Copyright 1990−1996 The Santa Cruz Operation, Inc. All rights reserved. Copyright 1990−1992 AT&T. All rights reserved. No part of this publication may be reproduced, transmitted, stored in a retrieval system, nor translated into any human or computer language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or otherwise, without the prior written permission of the copyright owner, The Santa Cruz Operation, Inc., 400 Encinal Street, Santa Cruz, California, 95060, USA. Copyright infringement is a serious matter under the United States and foreign Copyright Laws. Information in this document is subject to change without notice and does not represent a commitment on the part of The Santa Cruz Operation, Inc. SCO, the SCO logo, The Santa Cruz Operation, and UnixWare are trademarks or registered trademarks of The Santa Cruz Operation, Inc. in the USA and other countries. UNIX is a registered trademark in the USA and other countries, licensed exclusively through X/Open Company Limited. NeWS is a registered trademark of Sun Microsystems, Inc. X11 and X Window System are trademarks of Massachusetts Institute of Technology All other brand and product names are or may be trademarks of, and are used to identify products or services of, their respective owners. SCO UnixWare is commercial computer software and, together with any related documentation, is subject to the restrictions on US Government use as set forth below. If this procurement is for a DOD agency, the following DFAR Restricted Rights Legend applies: RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of Rights in Technical Data and Computer Software Clause at DFARS 252.227-7013. Contractor/Manufacturer is The Santa Cruz Operation, Inc., 400 Encinal Street, Santa Cruz, CA 95060. If this procurement is for a civilian government agency, this FAR Restricted Rights Legend applies: RESTRICTED RIGHTS LEGEND: This computer software is submitted with restricted rights under Government Contract No. _________ (and Subcontract No. ________, if appropriate). It may not be used, reproduced, or disclosed by the Government except as provided in paragraph (g)(3)(i) of FAR Clause 52.227-14 alt III or as otherwise expressly stated in the contract. Contractor/Manufacturer is The Santa Cruz Operation, Inc., 400 Encinal Street, Santa Cruz, CA 95060. If any copyrighted software accompanies this publication, it is licensed to the End User only for use in strict accordance with the End User License Agreement, which should be read carefully before commencing use of the software. ACKNOWLEDGEMENTS "We acknowledge the contributions of the 88OPEN Consortium Ltd., portions of whose System V ABI Implementation Guide for the M88000 Processor and the System V ABI M88000 Processor Networking Supplement have been incorporated in this section of the ABI with permission." DRAFT COPY March 18, 1997 File: copyright 386:adm.book:sum Page: 2 Contents Table of Contents INTRODUCTION SOFTWARE INSTALLATION LOW-LEVEL SYSTEM INFORMATION OBJECT FILES PROGRAM LOADING AND DYNAMIC LINKING LIBRARIES FORMATS AND PROTOCOLS SYSTEM COMMANDS EXECUTION ENVIRONMENT WINDOWING AND TERMINAL INTERFACES DEVELOPMENT ENVIRONMENTS FOR AN ABI SYSTEM NETWORKING Index INTRODUCTION 1 System V Application Binary Interface 1-1 Foundations and Structure of the ABI 1-2 How to Use the System V ABI 1-4 De®nitions of Terms 1-8 SOFTWARE INSTALLATION 2 Software Installation and Packaging 2-1 File Formats 2-7 File Tree for Add-on Software 2-15 Commands That Install, Remove and Access Packages 2-16 Table of Contents i DRAFT COPY March 18, 1997 File: MasterToc 386:adm.book:sum Page: 3 LOW-LEVEL SYSTEM INFORMATION 3 Introduction 3-1 Character Representations 3-2 Machine Interface (Processor-Speci®c) 3-3 Function Calling Sequence (Processor-Speci®c) 3-4 Operating System Interface (Processor-Speci®c) 3-5 Coding Examples (Processor-Speci®c) 3-6 OBJECT FILES 4 Introduction 4-1 ELF Header 4-4 Sections 4-10 String Table 4-21 Symbol Table 4-22 Relocation 4-27 PROGRAM LOADING AND DYNAMIC 5 LINKING Introduction 5-1 Program Header 5-2 Program Loading (Processor-Speci®c) 5-11 Dynamic Linking 5-12 LIBRARIES 6 Introduction 6-1 C Library 6-5 Threads Library 6-15 Dynamic Linking Library 6-17 Network Services Library 6-18 Socket Library 6-21 Curses Library 6-22 X Window System Library 6-26 X11 Nonrectangular Window Shape Extension Library 6-33 ii Table of Contents DRAFT COPY March 18, 1997 File: MasterToc 386:adm.book:sum Page: 4 X Toolkit Intrinsics Library 6-34 Motif Libraries 6-38 System Data Interfaces 6-46 FORMATS AND PROTOCOLS 7 Introduction 7-1 Archive File 7-2 Other Archive Formats 7-6 Terminfo Data Base 7-7 Formats and Protocols for Networking 7-10 SYSTEM COMMANDS 8 Commands for Application Programs 8-1 EXECUTION ENVIRONMENT 9 Application Environment 9-1 File System Structure and Contents 9-3 WINDOWING AND TERMINAL INTERFACES 10 The System V Window System 10-1 System V Window System Components 10-3 DEVELOPMENT ENVIRONMENTS FOR AN 11 ABI SYSTEM Development Environments 11-1 NETWORKING 12 Networking 12-1 Table of Contents iii DRAFT COPY March 18, 1997 File: MasterToc 386:adm.book:sum Page: 5 Required STREAMS Devices and Modules 12-2 Required Interprocess Communication Support 12-3 Required Transport Layer Support 12-4 Required Transport Loopback Support 12-7 Optional Internet Transport Support 12-8 Index IN Index IN-1 iv Table of Contents DRAFT COPY March 18, 1997 File: MasterToc 386:adm.book:sum Page: 6 Figures and Tables Figure 2-1: Package File Tree Organization 2-2 Figure 2-2: Data Stream File Layout for Distribution Media 2-4 Figure 4-1: Object File Format 4-1 Figure 4-2: 32-Bit Data Types 4-3 Figure 4-3: ELF Header 4-4 Figure 4-4: e_ i d e n t [ ] Identi®cation Indexes 4-7 Figure 4-5: Data Encoding EL F D A T A 2 L S B 4-9 Figure 4-6: Data Encoding EL F D A T A 2 M S B 4-9 Figure 4-7: Special Section Indexes 4-10 Figure 4-8: Section Header 4-12 Figure 4-9: Section Types, sh _ t y p e 4-13 Figure 4-10: Section Header Table Entry: Index 0 4-15 Figure 4-11: Section Attribute Flags, sh _ f l a g s 4-16 Figure 4-12: sh _ l i n k and sh _ i n f o Interpretation 4-17 Figure 4-13: Special Sections 4-17 Figure 4-14: String Table Indexes 4-21 Figure 4-15: Symbol Table Entry 4-22 Figure 4-16: Symbol Binding, EL F 3 2 _ S T _ B I N D 4-23 Figure 4-17: Symbol Types, EL F 3 2 _ S T _ T Y P E 4-24 Figure 4-18: Symbol Table Entry: Index 0 4-26 Figure 4-19: Relocation Entries 4-27 Figure 5-1: Program Header 5-2 Figure 5-2: Segment Types, p_ t y p e 5-3 Figure 5-3: Segment Flag Bits, p_ f l a g s 5-6 Figure 5-4: Segment Permissions 5-6 Figure 5-5: Text Segment 5-7 Figure 5-6: Data Segment 5-7 Figure 5-7: Note Information 5-8 Figure 5-8: Example Note Segment 5-9 Figure 5-9: Dynamic Structure 5-15 Figure 5-10: Dynamic Array Tags, d_ t a g 5-15 Figure 5-11: Symbol Hash Table 5-21 Figure 5-12: Hashing Function 5-22 Figure 5-13: Initialization Ordering Example 5-25 Figure 6-1: Shared Library Names 6-3 Table of Contents v DRAFT COPY March 18, 1997 File: MasterToc 386:adm.book:sum Page: 7 Figure 6-2: li b c Contents, Names without Synonyms 6-5 Figure 6-3: li b c Contents, Names with Synonyms 6-6 Figure 6-4: li b c Contents from XSH4.2, Names with Synonyms 6-8 Figure 6-5: li b c Contents, Internal Names without Synonyms 6-9 Figure 6-6: li b c Contents, Additional Services 6-11 Figure 6-7: li b c Contents, Global External Data Symbols 6-12 Figure 6-8: li b t h r e a d Contents *, Part 1 of 2 6-15 Figure 6-9: li b t h r e a d Contents *, Part 2 of 2 6-16 Figure 6-10: li b d l Contents * 6-17 Figure 6-11: li b n s l Contents, Part 1 of 3 6-18 Figure 6-12: li b n s l Contents *, Part 2 of 3 6-18 Figure 6-13: li b n s l Contents, Part 3 of 3 6-19 Figure 6-14: li b n s l Contents, Global External Data Symbols 6-20 Figure 6-15: li b s o c k e t Contents, Part 1 of 2 6-21 Figure 6-17: li b s o c k e t Contents, Part 2 of 2 6-21 Figure 6-18: li b c u r s e s Contents 6-22 Figure 6-19: li b c u r s e s Contents, Global External Data Symbols 6-25 Figure 6-20: li b X Contents 6-27 Figure 6-21: li b X Contents, Callback Function Names 6-32 Figure 6-22: li b X Contents *, Global External Data Symbols 6-32 Figure 6-23: li b X e x t Contents * 6-33 Figure 6-24: li b X t Contents 6-35 Figure 6-25: li b X t Contents, Global External Data Symbols 6-37 Figure 6-26: li b X m Contents * 6-39 Figure 6-27: li b X m Contents *, Global External Data Symbols 6-44 Figure 6-28: li b M r m Contents * 6-45 Figure 6-29: Minimum Sizes of Fundamental Data Objects 6-47 Figure 7-1: <a r .