What are Shared Libraries?

91

The Dynamic Loader

91

Default Behavior When Searching for Libraries at Run Time

91

Caution on Using Dynamic Library Searching

92

Running setuid Programs

92

Example Program Comparing Shared and Archive Libraries

92

Shared Libraries with Debuggers, Profilers, and Static Analysis

94

Profiling Shared Libraries with gprof(1)

94

Creating Archive Libraries

94

Overview of Creating an Archive Library

95

Contents of an Archive File

95

Example of Creating an Archive Library

96

Replacing, Adding, and Deleting an Object Module

97

Replacing or Adding an Object Module

97

Deleting an Object Module

97

Summary of Keys to the ar(1) Command

97

Useful ar Keys

97

crt0.o

98

Archive Library Location (IPF)

98

Using /usr/lib and /usr/lib/pa20_64

98

Using /usr/local/lib or /usr/contrib/lib

98

Creating Shared Libraries

98

Creating Position-Independent Code (PIC)

99

Example Using +z

99

Comparing +z and +Z

99

Compiler Support for +z and +Z

99

Creating the Shared Library with ld

99

Shared Library Dependencies

100

The Order in Which Libraries are Loaded (Load Graph)

100

Placing Loaded Libraries in the Search List

101

Updating a Shared Library

102

Incompatible Changes to a Shared Library

102

Shared Library Location (IPF)

102

Improving Shared Library Performance

102

Loading Shared Libraries with the LD_PRELOAD Environment Variable

103

LD_PRELOAD Example

103

LD_PRELOAD Example (PA-RISC)

104

64-bit Behavior

104

32-bit Behavior

105

Loading Shared Libraries with the LD_PRELOAD_ONCE Environment Variable

106

Using Profile-Based Optimization on Shared Libraries

106

Exporting Only the Required Symbols

106

Placing Frequently-Called Routines Together

106

Making Shared Libraries Non-Writable

107

Using the +ESlit/+Olit=all Option to cc

107

+cond_rodata Command-Line Option

108

Using Filtered Shared Libraries (32-bit Mode Only)

108

Building Filtered Shared Libraries

108

Building application programs linked to filtered shared libraries

109

Run time behavior of filtered shared libraries

109

Initializers

109

Dynamic Path Lookup

110

Thread-Private Data (TLS)

110

Maintaining filtered shared libraries

110

Function Level Versioning

110

6Contents

Page 6
Image 6
HP UX Software Transition Kit (STK) manual Contents