fixso(1)fixso(1)NAMEfixso - Fixes a shared object so that it can be quickstarted
SYNOPSISfixso [+i | -i] [+w | -w] [+d | -d] [+n | -n] [-V] [-o outputobj]
[-p path] inputobj
OPTIONS
Turns informational message reporting on and off, respectively. By
default (-i), informational messages are not reported. Turns warning
message reporting on and off, respectively. By default (+w), warning
messages are reported. Turns debugging message reporting on and off,
respectively. By default (-d), debugging messages are not reported.
Turns output generation on and off, respectively. By default (+n),
fixso writes output to a.out or to the file specified by the -o option.
If you specify -n, fixso just analyzes the inputobj and generates no
output. Displays the version of the fixso command. Specifies the file
to which fixso writes its output. By default, output is sent to a.out.
Adds path to the beginning of the shared library search path. The
default library search path, as explained in loader(5), is used. The
fixso utility also honors any definition of the LD_LIBRARY_PATH envi‐
ronment variable.
DESCRIPTION
The fixso utility allows executables that depend on a shared library
registered in the so_locations database to continue to run quickstarted
even if the shared library changed after the time the executable was
originally linked against it. The fixso utility accomplishes this by
adjusting the object's checksum and timestamp, reconciling the object's
conflict table (the list of symbols that are multiply defined among the
entries in the object's library list), and resolving global symbols.
You specify one executable or shared object in the inputobj parameter.
The fixso utility opens the target object, scanning its library list
for dependencies on symbols defined in other objects. When it discovers
a dependency, it automatically opens the associated object and contin‐
ues processing it in the same manner, as long as it is located in the
default library search path, the path indicated by the LD_LIBRARY_PATH
environment variable, or specified by the -p option. Otherwise, it gen‐
erates a message advising you to run fixso on that object first.
The fixso utility examines each object's interface version, shared
object name (soname), timestamp, and checksum. Although it can adjust
timestamp and checksum discrepancies among the entries in the object's
library list, fixso has the following limitations: The fixso utility
does not change the size of the binary object; it will not expand the
size of the conflict table if it encounters a new multiply-defined sym‐
bol while traversing the object's library list. An object's actual
run-time memory location must match the quickstart location recorded in
the so_locations file. The fixso utility cannot make an object quick-
startable if the object has been moved from its quickstart location, or
if another object has been moved into its quickstart location. The
version of the run-time linker interface used by an object mapped in
the inputobj's library list must be the same version used when inputobj
was created by the linker. An object mapped in inputobj's library list
must be located in the same library search path it was in when inputobj
was created by the linker. The soname of an object mapped in
inputobj's library list must be the same as when inputobj was created
by the linker. By default, an object's soname is its filename (without
a prepended pathname).
ERRORS
The fixso utility generates the following types of messages: Error mes‐
sages that indicate when the current use of the tool violates one of
its limitations, as described previously. Error messages also help you
determine the correct order in which to run fixso on a series of
objects. You cannot turn off error messages. Warning messages that
indicate conflicts, such as timestamp and checksum mismatches, that
fixso attempts to fix automatically. The fixso utility generates warn‐
ing messages by default. You can turn them off by specifying the -w
option. Informational and debug messages that record the fixso util‐
ity's progress. These messages are turned off by default, but you can
turn them on by using the +i and +d options, respectively.
FILES
Shared library directory. Shared library directory. Shared library
directory. Shared library directory. Shared library directory. Fix
quickstarted shared objects utility.
SEE ALSOld(1), loader(5)
Programmer's Guide
fixso(1)