unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



fixso(1)							     fixso(1)



NAME

  fixso	- Fixes	a shared object	so that	it can be quickstarted

SYNOPSIS

  fixso	[+i  | -i] [+w	| -w] [+d  | -d] [+n  |	-n] [-V] [-o outputobj]	[-p
  path]	inputobj

OPTIONS

  +i|-i
      Turns informational message reporting on and off,	respectively.  By
      default (-i), informational messages are not reported.

  +w|-w
      Turns warning message reporting on and off, respectively.	 By default
      (+w), warning messages are reported.

  +d|-d
      Turns debugging message reporting	on and off, respectively.  By default
      (-d), debugging messages are not reported.

  +n|-n
      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.

  -V  Displays the version of the fixso	command.

  -o outputobj
      Specifies	the file to which fixso	writes its output. By default, output
      is sent to a.out.

  -p path
      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
      environment 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 origi-
  nally	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 continues pro-
  cessing 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 generates 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:

  Increases in object size required in the conflict list
      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 symbol while traversing the object's library list.

  Movement in memory
      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.

  Discrepancies	in interface versions
      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	inpu-
      tobj was created by the linker.

  Changes to library path
      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.

  Discrepancies	in soname
      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 messages 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 check-
       sum mismatches, that fixso attempts to fix automatically.  The fixso
       utility generates warning messages by default.  You can turn them off
       by specifying the -w option.

    +  Informational and debug messages	that record the	fixso utility's	pro-
       gress. These messages are turned	off by default,	but you	can turn them
       on by using the +i and +d options, respectively.

FILES

  /usr/shlib
      Shared library directory.

  /usr/ccs/lib
      Shared library directory.

  /usr/lib/cmplrs/cc
      Shared library directory.

  /usr/lib
      Shared library directory.

  /usr/local/lib
      Shared library directory.

  /usr/bin/fixso, /usr/ccs/bin/fixso, /usr/ccs/lib/cmplrs/cc/fixso
      Fix quickstarted shared objects utility.

SEE ALSO

  ld(1), loader(5)

  Programmer's Guide