Tool Interface Standard (TIS) Executable And Linking .

2y ago
36 Views
2 Downloads
337.12 KB
106 Pages
Last View : 9d ago
Last Download : 3m ago
Upload by : Mya Leung
Transcription

Tool Interface Standard (TIS)Executable and Linking Format (ELF)SpecificationVersion 1.2TIS CommitteeMay 1995

The TIS Committee grants you a non-exclusive, worldwide, royalty-free license to use the information disclosed in this Specificationto make your software TIS-compliant; no other license, express or implied, is granted or intended hereby.The TIS Committee makes no warranty for the use of this standard.THE TIS COMMITTEE SPECIFICALLY DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, AND ALL LIABILITY, INCLUDING CONSEQUENTIAL AND OTHER INDIRECT DAMAGES, FOR THE USE OF THESE SPECIFICATION AND THE INFORMATION CONTAINED IN IT, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS. THE TIS COMMITTEEDOES NOT ASSUME ANY RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THE SPECIFICATION, NOR ANYRESPONSIBILITY TO UPDATE THE INFORMATION CONTAINED IN THEM.The TIS Committee retains the right to make changes to this specification at any time without notice.IBM is a registered trademark and OS/2 is a trademark of International Business Machines Corporation.The Intel logo is a registered trademark and i386 and Intel386 are trademarks of Intel Corporation and may be used only to identifyIntel products.Microsoft, Microsoft C, MS, MS-DOS, Windows, and XENIX are registered trademarks of Microsoft Corporation.Phoenix is a registered trademark of Phoenix Technologies, Ltd.UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited.* Other brands and names are the property of their respective owners.i

PrefaceThis Executable and Linking Format Specification, Version 1.2, is the result of the work of theTool Interface Standards (TIS) Committee--an association of members of the microcomputerindustry formed to work toward standardization of the software interfaces visible todevelopment tools for 32-bit Intel Architecture operating environments. Such interfacesinclude object module formats, executable file formats, and debug record information andformats.The goal of the committee is to help streamline the software development process throughoutthe microcomputer industry, currently concentrating on 32-bit operating environments. To thatend, the committee has developed specifications--some for file formats that are portable acrossleading industry operating systems, and others describing formats for 32-bit Windows*operating systems. Originally distributed collectively as the TIS Portable FormatsSpecifications Version 1.1, these specifications are now separated and distributed individually.TIS Committee members include representatives from Absoft, Autodesk, Borland InternationalCorporation, IBM Corporation, Intel Corporation, Lahey, Lotus Corporation, MetaWareCorporation, Microtec Research, Microsoft Corporation, Novell Corporation, The Santa CruzOperation, and WATCOM International Corporation. PharLap Software Incorporated andSymantec Corporation also participated in the specification definition efforts.This specification like the others in the TIS collection of specifications is based on existing,proven formats in keeping with the TIS Committee's goal to adopt, and when necessary, extendexisting standards rather than invent new ones.About ELF: Executable and Linking FormatThe Executable and Linking Format was originally developed and published by UNIX SystemLaboratories (USL) as part of the Application Binary Interface (ABI). The Tool InterfaceStandards committee (TIS) has selected the evolving ELF standard as a portable object fileformat that works on 32-bit Intel Architecture environments for a variety of operating systems.The ELF standard is intended to streamline software development by providing developerswith a set of binary interface definitions that extend across multiple operating environments.This should reduce the number of different interface implementations, thereby reducing theneed for recoding and recompiling code.About This DocumentThis document is intended for developers who are creating object or executable files on various32-bit environment operating systems. In order to extend ELf into different operating systems,the current ELF version 1.2 document has been reorganized based on operating system-specificinformation. It is divided into the following three books: Book I: Executable and Linking Format, describes the object file format called ELF. This bookalso contains an appendix that describes historical references and lists processor and operatingsystem reserved names and words. Book II: Processor Specific (Intel Achitecture), conveys hardware-specific ELF information,such as Intel Architecture information. Book III: Operating System Specific, describes ELF information that is operating systemdependent, such as System V Release 4 information. This book also contains an appendix thatdescribes ELF information that is both operating system and processor dependent.iii

ContentsPrefaceBook I: Executable and Linking Format (ELF)1. Object FilesIntroduction . 1-1File Format . 1-1ELF Header . 1-4ELF Identification . 1-6Sections . 1-9Special Sections . 1-15String Table . 1-18Symbol Table. 1-19Symbol Values. 1-22Relocation. 1-232. Program Loading and Dynamic LinkingIntroduction .Program Header .Program Loading .Dynamic Linking .2-12-22-72-8A. Reserved NamesIntroduction . A-1Special Sections Names. A-2Dynamic Section Names . A-3Pre-existing Extensions . A-4Book II: Processor Specific (Intel Architecture)1. Object FilesIntroduction . 1-1ELF Header . 1-2Relocation. 1-3Contentsv

ContentsBook III: Operating System Specific(UNIX System V Release 4)1. Object FilesIntroduction . 1-1Sections . 1-2Symbol Table. 1-52. Program Loading and Dynamic LinkingIntroduction . 2-7Program Header . 2-8Dynamic Linking . 2-123. Intel Architecture and System V Release 4 DependenciesIntroduction . A-1Sections . A-2Symbol Table. A-3Relocation. A-4Program Loading and Dynamic Linking. A-7vi

List of FiguresBook I: Executable and Linking Format (ELF)Figure 1-1. Object File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1Figure 1-2. 32-Bit Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Figure 1-3. ELF Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Figure 1-4. e ident[] Identification Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Figure 1-5. Data Encoding ELFDATA2LSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8Figure 1-6. Data Encoding ELFDATA2MSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8Figure 1-7. Special Section Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Figure 1-8. Section Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-10Figure 1-9. Section Types, sh type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-11Figure 1-10. Section Header Table Entry: Index 0 . . . . . . . . . . . . . . . . . . . . . . . . . 1-13Figure 1-11. Section Attribute Flags, sh flags . . . . . . . . . . . . . . . . . . . . . . . . . . 1-14Figure 1-12. sh link and sh info Interpretation . . . . . . . . . . . . . . . . . . . . . . . 1-14Figure 1-13. Special Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15Figure 1-14. String Table Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18Figure 1-15. Symbol Table Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19Figure 1-16. Symbol Binding, ELF32 ST BIND . . . . . . . . . . . . . . . . . . . . . . . . . . 1-20Figure 1-17. Symbol Types, ELF32 ST TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-21Figure 1-18. Symbol Table Entry: Index 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22Figure 1-19. Relocation Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-23Figure 2-1. Program Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Figure 2-2. Segment Types, p type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Figure 2-3. Note Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Figure 2-4. Example Note Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Figure A-1. Special Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Figure A-2. Dynamic Array Tags, d tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3Book II: Processor Specific (Intel Architecture)Figure 1-1. Intel Identification, e ident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Figure 1-2. Relocatable Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Figure 1-3. Relocation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Table of Contentsvii

Book III: Operating System Specific(UNIX System V Release 4)Figure 1-1. sh link and sh info Interpretation . . . . . . . . . . . . . . . . . . . . . . . 1-2Figure 1-2. Special Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Figure 2-1. Segment Types, p type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Figure 2-2. Segment Flag Bits, p flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Figure 2-3. Segment Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Figure 2-4. Text Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Figure 2-5. Data Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Figure 2-6. Dynamic Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8Figure 2-7. Dynamic Array Tags, d tag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9Figure 2-8. Symbol Hash Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Figure 2-9. Hashing Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Figure 2-10. Initialization Ordering Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16Figure A-1. Special Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Figure A-2. Relocatable Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4Figure A-3. Relocation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-5Figure A-4. Executable File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-7Figure A-5. Program Header Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-8Figure A-6. Process Image Segments Example. . . . . . . . . . . . . . . . . . . . . . . . . . . A-9Figure A-7. Shared Object Segment Addresses Example . . . . . . . . . . . . . . . . . . A-10Figure A-8. Global Offset Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-11Figure A-9. Absolute Procedure Linkage Table . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12Figure A-10. Position-Independent Procedure Linkage Table . . . . . . . . . . . . . . . . A-13viiiTable of Contents

Book I:Executable and Linking Format (ELF)

ContentsBook I: Executable and Linking Format (ELF)1Object FilesIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Data Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Character Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11-11-21-3ELF Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4ELF Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9Special Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15String Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-18Symbol Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-19Symbol Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-22Relocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-232Program Loading and Dynamic LinkingIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1Program Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2Note Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Program Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Dynamic Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8AReserved NamesIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1Special Sections Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2Dynamic Section Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3Pre-existing Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-4Table of Contentsxi

ContentsxiiBook I: Executable and Linking Format (ELF)

Figures1-1. Object File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-11-2. 32-Bit Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-21-3. ELF Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-41-4. e ident[] Identification Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-61-5. Data Encoding ELFDATA2LSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-81-6. Data Encoding ELFDATA2MSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-81-7. Special Section Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-91-8. Section Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-101-9. Section Types, sh type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-111-10. Section Header Table Entry: Index 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-131-11. Section Attribute Flags, sh flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-141-12. sh link and sh info Interpretation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-141-13. Special Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-151-14. String Table Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-181-15. Symbol Table Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-191-16. Symbol Binding, ELF32 ST BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-201-17. Symbol Types, ELF32 ST TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-211-18. Symbol Table Entry: Index 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-221-19. Relocation Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-232-1. Program Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-22-2. Segment Types, p type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-32-3. Note Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

TIS Committee members include representatives from Absoft, Autodesk, Borland International Corporation, IBM Corporation, Intel Corporation, Lahey, Lotus Corporation, MetaWare Corporation, Microtec Research, Microsoft Corporation, Novell Corporation, The Santa Cruz Operation, and WATCOM International Corporation

Related Documents:

CLASSIC COLORS CONTEMPORARY COLORS ACCENT COLORS CASUAL COLORS Cinnamon Stick TIS-007 Tulipwood TIS-046 National Park TIS-037 Bird House Brown TIS-008 Cantaloupe TIS-047 Alpine Meadows TIS-038 Caramel Nougat TIS-009 Pink Ivory TIS-048 Pineapple Green Tea TIS-039 Am

Pearson Edexcel Level 3 GCE Turn over . 2 *P52213A0236* DO NOT WRITE IN TIS AREA DO NOT WRITE IN TIS AREA DO NOT WRITE IN TIS AREA DO NOT WRITE IN TIS AREA DO NOT WRITE IN TIS AREA DO NOT WRITE IN TIS AREA Answer ALL questions

reduction of the generated executable size. In this paper, we aim to analyze the effects of optimizations of LLVM compiler on the reduction of executable size. Specifically, we take the size of the executable as a metric and attempt to divide the -Oz series into logical groups and study their individual effects; while also study the effect of .

e Adobe Illustrator CHEAT SHEET. Direct Selection Tool (A) Lasso Tool (Q) Type Tool (T) Rectangle Tool (M) Pencil Tool (N) Eraser Tool (Shi E) Scale Tool (S) Free Transform Tool (E) Perspective Grid Tool (Shi P) Gradient Tool (G) Blend Tool (W) Column Graph Tool (J) Slice Tool (Shi K) Zoom Tool (Z) Stroke Color

6 Track 'n Trade High Finance Chapter 4: Charting Tools 65 Introduction 67 Crosshair Tool 67 Line Tool 69 Multi-Line Tool 7 Arc Tool 7 Day Offset Tool 77 Tool 80 Head & Shoulders Tool 8 Dart/Blip Tool 86 Wedge and Triangle Tool 90 Trend Fan Tool 9 Trend Channel Tool 96 Horizontal Channel Tool 98 N% Tool 00

The executable copies the default FTDI driver to the PC’s driver store prior to the FTDI device being plugged into the PC. Figure 3.2 Setup Executable Location Download the setup.exe and right-click and select ‘Run as administrator’ as shown in Figure 3.3. Figure 3.3 Setup Executable Run as administrator

as 21 or 22). Refer to the applicable Repair Manual for details. Please review the Techstream and TIS screenshots in this bulletin to become familiar with the new management authorization process flow. Section 2: Reset Approval Request (TIS Pre-Approval) 1. Open TIS and enter the Diagnostics and Immobilizer Reset tabs. Login using your .

Paediatric Anatomy Paediatric ENT Conditions Paediatric Hearing Tests and Screening. 1 Basic Sciences HEAD AND NECK ANATOMY 3 SECTION 1 ESSENTIAL REVISION NOTES medial pterygoid plate lateral pterygoid plate styloid process mastoid process foramen ovale foramen spinosum jugular foramen stylomastoid foramen foramen magnum carotid canal hypoglossal canal Fig. 1 The cranial fossa and nerves .