以 PDF 格式下载本书 (2021 KB)
PrefaceIn the SolarisTM Operating System (Solaris OS), application developers can create applications and libraries by using the link-editor ld(1), and execute these objects with the aid of the runtime linker ld.so.1(1). This manual is for engineers who want to understand more fully the concepts involved in using the Solaris OS link editors. Note – This Solaris release supports systems that use the SPARC® and x86 families of processor architectures: UltraSPARC®, SPARC64, AMD64, Pentium, and Xeon EM64T. The supported systems appear in the Solaris 10 Hardware Compatibility List at http://www.sun.com/bigadmin/hcl. This document cites any implementation differences between the platform types. In this document these x86 related terms mean the following:
For supported systems, see the Solaris 10 Hardware Compatibility List. About This ManualThis manual describes the operations of the Solaris OS link-editor and runtime linker. Special emphasis is placed on the generation and use of dynamic executables and shared objects because of their importance in a dynamic runtime environment. Intended AudienceThis manual is intended for a range of programmers who are interested in the Solaris OS link editors, from the curious beginner to the advanced user.
Most programmers should not need to read this manual from cover to cover. How This Book is OrganizationChapter 1, Introduction to the Solaris OS Link Editors provides an overview of the linking processes under the Solaris OS. This chapter is intended for all programmers. Chapter 2, Link-Editor describes the functions of the link-editor. This chapter is intended for all programmers. Chapter 3, Runtime Linker describes the execution environment and program-controlled runtime binding of code and data. This chapter is intended for all programmers. Chapter 4, Shared Objects provides definitions of shared objects, describes their mechanisms, and explains how to create and use them. This chapter is intended for all programmers. Chapter 5, Application Binary Interfaces and Versioning describes how to manage the evolution of an interface provided by a dynamic object. This chapter is intended for all programmers. Chapter 6, Support Interfaces describes interfaces for monitoring, and in some cases modifying, link-editor and runtime linker processing. This chapter is intended for advanced programmers. Chapter 7, Object File Format is a reference chapter on ELF files. This chapter is intended for advanced programmers. Chapter 8, Thread-Local Storage describes Thread-Local Storage. This chapter is intended for advanced programmers. Chapter 9, Mapfile Option describes the mapfile directives to the link-editor, which specify the layout of the output file. This chapter is intended for advanced programmers. Appendix A, Link-Editor Quick Reference provides an overview of the most commonly used link-editor options, and is intended for all programmers. Appendix B, Versioning Quick Reference provides naming conventions and guidelines for versioning shared objects, and is intended for all programmers. Appendix C, Establishing Dependencies with Dynamic String Tokens provides examples of how to use reserved dynamic string tokens to define dynamic dependencies, and is intended for all programmers. Appendix D, Direct Bindings describes the runtime symbol search model associated with direct bindings. This appendix is intended for advanced programmers. Appendix E, Linker and Libraries Updates and New Features provides an overview of new features and updates that have been added to the link-editors and indicates to which release they were added. Throughout this document, all command-line examples use sh(1) syntax. All programming examples are written in the C language. Documentation, Support, and TrainingThe Sun web site provides information about the following additional resources: Typographic ConventionsThe following table describes the typographic conventions that are used in this book. Table P–1 Typographic Conventions
Shell Prompts in Command ExamplesThe following table shows the default UNIX® system prompt and superuser prompt for the C shell, Bourne shell, and Korn shell. Table P–2 Shell Prompts
|
||||||||||||||||||||||||||