Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

lorder(1) [freebsd man page]

LORDER(1)						    BSD General Commands Manual 						 LORDER(1)

NAME
lorder -- list dependencies for object files SYNOPSIS
lorder file ... DESCRIPTION
The lorder utility uses nm(1) to determine interdependencies in the list of object files and library archives specified on the command line. The lorder utility outputs a list of file names where the first file contains a symbol which is defined by the second file. The output is normally used with tsort(1) when a library is created to determine the optimum ordering of the object modules so that all ref- erences may be resolved in a single pass of the loader. When linking static binaries, lorder and tsort(1) can be used to properly order library archives automatically. ENVIRONMENT
NM Path to the nm(1) binary, defaults to ``nm''. EXAMPLES
ar cr library.a `lorder ${OBJS} | tsort` cc -o foo ${OBJS} `lorder ${STATIC_LIBS} | tsort` SEE ALSO
ar(1), ld(1), nm(1), ranlib(1), tsort(1) HISTORY
A lorder utility appeared in Version 7 AT&T UNIX. BSD
October 25, 2006 BSD

Check Out this Related Man Page

lorder(1)						      General Commands Manual							 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 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 mod- ules in the library is important. The lorder and tsort commands together add the subroutines 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
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) lorder(1)
Man Page