Invoking the fastbind Tool
To invoke fastbind on an incomplete executable file, verify that your executable has write access (because fastbindwrites to the file) and then run fastbind.
$ ls
The fastbind tool generates fastbind information for main and rewrites main to contain this information.
Invoking fastbind from the Linker
To invoke fastbind from ld, pass the request to the linker from your compiler by using the
Example 21 Example
$ ld | //Build the shared library. |
$ cc | //Link main to the shared |
libunits.s | library. //Perform fastbind. |
The linker performs fastbind after it creates the executable file.
How to Tell if fastbind Information is Current
By default, when the dynamic loader detects
To view if an executable file has
$ export
/usr/lib/hpux32/dld.so: Fastbind data out of date for ./libapp59.so.
/usr/lib/hpux32/dld.so: Fastbind data cannot be used for ./libapp60.so.
/usr/lib/hpux32/dld.so: Fastbind data cannot be used for ./libm.so.
/usr/lib/hpux32/dld.so: Fastbind data cannot be used for ./libc.so.1.
/usr/lib/hpux32/dld.so: Fastbind data cannot be used for /usr/lib/hpux32/libdl.so.1
In this example, the “"Fastbind data out of date"” messages indicate that libapp59.so was modified after fastbind was run on the application, app, and dld reverts to using the normal symbol lookup for resolving the symbols in the libapp59.so library.
The “"Fastbind data cannot be used"” messages indicate that the change to libapp59.so includes one or more symbols, which were added or removed from the library export list. This can change the symbol bindings in the application for the library dependencies, which follow libapp59.so in the library search order.
It is recommended that the applications link with the application libraries first and the system libraries last. If the application in this example is linked with libm before linking with the application libraries, a libm patch will invalidate the fastbind data for all the 60 application libraries. Careful arrangement of library dependencies will minimize the need for rerunning fastbind to restore startup time improvements.
In IA and PA64 applications, the fastbind data is outdated on a
Improving Shared Library