User's Manual

Contents
About This Document...................................................................................13
Intended Audience..................................................................................................................13
Document conventions and symbols..........................................................................................13
Related Information.................................................................................................................13
HP Encourages Your Comments................................................................................................14
Document Organization..........................................................................................................14
1 Compiling and Linking Programs on HP-UX..................................................16
Compiling Programs on HP-UX: An Example..............................................................................16
Overview..........................................................................................................................16
Looking Inside a Compiler...................................................................................................18
What is an Object File?.................................................................................................18
Local Definitions.......................................................................................................19
Global Definitions....................................................................................................19
External References...................................................................................................19
Compiler-Linker Interaction..................................................................................................19
Linking Programs on HP-UX......................................................................................................21
The crt0.o Startup File........................................................................................................21
The Program's Entry Point...............................................................................................22
The a.out File....................................................................................................................22
Magic Numbers (PA-RISC ONLY).........................................................................................22
File Permissions..................................................................................................................23
Linking with Libraries...............................................................................................................23
Library Naming Conventions...............................................................................................24
Default Libraries.................................................................................................................24
The Default Library Search Path.......................................................................................24
Link Order........................................................................................................................24
Running the Program...............................................................................................................25
Loading Programs: exec......................................................................................................25
Binding Routines to a Program.............................................................................................25
Deferred Binding is the Default............................................................................................25
Linker Thread-Safe Features......................................................................................................26
Shared library loading and unloading in multi-threaded applications.......................................26
2 Determining How to Link Programs or Libraries (Linker Tasks)..........................27
Using the Compiler to Link.......................................................................................................28
Changing the Default Library Search Path with -Wl, -L.............................................................28
Example Using -Wl, -L....................................................................................................28
Getting Verbose Output with -v............................................................................................29
Passing Linker Options from the Compiler Command with -Wl..................................................29
Example Using -Wl........................................................................................................29
Renaming the Output File with -o..........................................................................................29
Specifying Libraries with -l...................................................................................................29
Linking with the crt0.o Startup File in 32-bit mode (PA-RISC)................................................30
Suppressing the Link-Edit Phase with -c..................................................................................30
Using Linker Commands..........................................................................................................30
Linking with the crt0.o Startup File........................................................................................30
Changing the Default Library Search Path with -L, LPATH, and $ORIGIN....................................30
Overriding the Default Linker Search Path with LPATH.........................................................30
Augmenting the Default Linker Search Path with -L..............................................................31
Augmenting the Default Linker Search Path with +origin......................................................31
Using $ORIGIN.................................................................................................................31
Contents 3