lorder — find ordering relation for an object library
The input consists of one or more object or archive library
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
to find an ordering of a library suitable for one-pass access by
Note that the link editor
is capable of multiple passes over an archive in the archive format
and does not require that
be used when building an archive.
command may, however, allow for a slightly more efficient access
of the archive during the link edit process.
The symbol table maintained by
to randomly access symbols and files in the archive, making the use of
unnecessary when building archive libraries (see
The following internationalization variables affect the execution of
Determines the locale category for native language, local customs and
coded character set in the absence of
is not specified or is set to the empty string,
a default of
is used instead of
Determines the values for all locale categories and has precedence over
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.
Determines the location of message catalogues for the processing
If any internationalization variable contains an invalid setting,
behaves as if all internationalization variables are set to
International Code Set Support
Single- and multi-byte character code sets are supported.
Build a new library from existing
ar cr library `lorder *.o | tsort`
When creating libraries with so many objects that the shell
cannot properly handle the
expansion, the following technique may prove useful:
ls | grep '.o$' | lorder | tsort | xargs ar cq library
Object files whose names do not end with
are overlooked, even when contained in library archives.
Their global symbols and references are attributed to some other file.
create archived libraries
invoke the link editor
produce an ordered list of items (topological sort)
lorder: SVID2, SVID3, XPG2, XPG4