lorder - find ordering relation for an object library
The input consists of one or more object or archive library files (see
ar(1)) placed on the command line or read from standard input. The
standard output is a list of pairs of object file names, meaning that
the first file of the pair refers to external identifiers defined in
the second. Output can be processed by tsort to find an ordering of a
library suitable for one-pass access by ld (see tsort(1) and ld(1)).
Note that the link editor ld is capable of multiple passes over an
archive in the archive format and does not require that lorder be used
when building an archive. Using the lorder command may, however,
allow for a slightly more efficient access of the archive during the
link edit process.
The symbol table maintained by ar allows ld to randomly access symbols
and files in the archive, making the use of lorder unnecessary when
building archive libraries (see ar(1)).
The following internationalization variables affect the execution of
LANG Determines the locale category for native language, local customs
and coded character set in the absence of LC_ALL and other LC_*
environment variables. If LANG is not specified or is set to the
empty string, a default of C (see lang(5)) is used instead of
Determines the values for all locale categories and has
precedence over LANG and other LC_* environment variables.
Determines the locale category for character collation.
Determines the locale category for character handling functions.
Determines the locale that should be used to affect the format
and contents of diagnostic messages written to standard error.
Determines the locale category for numeric formatting.
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
Determines the location of message catalogues for the processing
If any internationalization variable contains an invalid setting,
lorder behaves as if all internationalization variables are set to C.
International Code Set Support
Single- and multi-byte character code sets are supported.
Build a new library from existing .o files:
ar cr library `lorder *.o | tsort`
When creating libraries with so many objects that the shell cannot
properly handle the *.o expansion, the following technique may prove
ls | grep '.o$' | lorder | tsort | xargs ar cq library
Object files whose names do not end with .o are overlooked, even when
contained in library archives. Their global symbols and references
are attributed to some other file.
/var/tmp/*symref temporary files
ar(1) create archived libraries
ld(1) invoke the link editor
tsort(1) produce an ordered list of items (topological sort)
lorder: SVID2, SVID3, XPG2, XPG4
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000