HP-UX Linker and Libraries User's Guide
2 Determining How to Link Programs or Libraries (Linker
Tasks)
You have a great deal of control over how the linker links your program or library by using ld
command-line options. This chapter describes the tasks you can perform to determine how programs
and libraries must link by using the Compiler commands and Linker commands.
• “Using the Compiler to Link” (page 28)
“Changing the Default Library Search Path with -Wl, -L” (page 28)◦
◦ “Getting Verbose Output with -v” (page 29)
◦ “Passing Linker Options from the Compiler Command with -Wl” (page 29)
◦ “Renaming the Output File with -o” (page 29)
◦ “Specifying Libraries with -l” (page 29)
◦ “Suppressing the Link-Edit Phase with -c” (page 30)
• “Using Linker Commands” (page 30)
“Linking with the crt0.o Startup File” (page 30)◦
◦ “Changing the Default Library Search Path with -L, LPATH, and $ORIGIN” (page 30)
◦ “Using $ORIGIN” (page 31)
◦ “Changing the Default Shared Library Binding with -B” (page 32)
◦ “Improving Shared Library Performance with -B symbolic” (page 34)
◦ “Choosing Archive or Shared Libraries with -a” (page 36)
◦ “Linking Shared Libraries with -dynamic” (page 36)
◦ “Linking Archived Libraries with -noshared” (page 37)
◦ “Exporting Symbols with +e” (page 37)
◦ “Exporting Symbols with +ee” (page 38)
◦ “Exporting Symbols from main with -E” (page 38)
◦ “Hiding Symbols from Export with +hideallsymbols” (page 39)
◦ “Hiding Symbols with -h” (page 39)
◦ “ Not Recording Link Time Paths with +nodefaultrapth” (page 41)
◦ “Moving Libraries after Linking with +b” (page 41)
◦ “Moving Libraries After Linking with +s and SHLIB_PATH” (page 43)
◦ “Ignoring Dynamic Path Environment Variables with +noenvvar” (page 43)
◦ “Controlling Archive Library Loading with +[no]forceload” (page 44)
◦ “Passing Linker Options in a file with -c” (page 44)
◦ “Passing Linker Options with LDOPTS” (page 44)
27