unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

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



lorder(1)							    lorder(1)



NAME

  lorder - Finds the best order	for member files in an object library

SYNOPSIS

  lorder file...

DESCRIPTION

  The lorder command is	essentially obsolete.  Use the following command in
  its place:

       % ar -ts	file.a

  The lorder command reads one or more object or library archive files,	looks
  for external references, and writes a	list of	paired filenames to standard
  output.  The first of	each pair of files contains references to identifiers
  that are defined in the second file.	You can	send this list to the tsort
  command to find an ordering of a library member file suitable	for 1-pass
  access by ld.

  If object files do not end with .o, lorder overlooks them and	attributes
  their	global symbols and references to some other file.

EXAMPLES

  To create a subroutine library, enter:

       lorder charin.o scanfld.o scan.o	scanln.o |
	       tsort | xargs ar	qv libsubs.a

  (Enter this command entirely on one line, not	on two lines as	shown above.)

  This creates a subroutine library named libsubs.a that contains charin.o,
  scanfld.o, scan.o, and scanln.o. The ordering	of the object modules in the
  library is important.	The lorder and tsort commands together add the sub-
  routines to the library in the proper	order.

  Suppose that scan.o calls entry points in scanfld.o and scanln.o.
  scanfld.o also calls entry points in charin.o. First,	the lorder command
  creates a list of pairs that shows these dependencies:

       charin.o	charin.o
       scanfld.o scanfld.o
       scan.o scan.o
       scanln.o	scanln.o
       scanfld.o charin.o
       scanln.o	charin.o
       scan.o scanfld.o

  This list is piped to	the tsort command, which converts the list into	the
  ordering that	is needed:

       scan.o
       scanfld.o
       scanln.o
       charin.o

  Note that each module	precedes the module it calls.  charin.o, which does
  not call another module, is last. The	second list is then piped to xargs,
  which	constructs and runs the	following ar command:

       ar  qv  libsubs.a  scan.o  scanfld.o  scanln.o  charin.o

  This ar command creates the properly ordered library.

FILES

  /tmp/sym*
      Temporary	files

SEE ALSO

  Commands:  ar(1), as(1), cc(1), ld(1), make(1), nm(1), size(1), strip(1),
  tsort(1), xargs(1)

  Files:  a.out(4), ar(4)