User Commands moe(1)
NAME
moe - manifest the optimal expansion of a pathname
SYNOPSIS
moe [-c] [-32 | -64] [-s | -v] path
DESCRIPTION
The moe utility manifests the optimal expansion of a path-
name containing reserved runtime linker tokens. These tokens can be used to define dependencies, filtees and runpaths within dynamic objects. The expansion of these tokens at runtime, provides a flexible mechanism for selecting objects and search paths that perform best on this machine. See ld.so.1(1).For example, the token $HWCAP can be employed to represent
filters and dependencies. The runtime interpretation of this token can result in a family of objects that are analyzed to determine their applicability for loading with a process. The objects are sorted based on the hardware capabilitiesthat each object requires to execute. moe returns the name
of the object optimally suited for execution on the current platform.moe analyzes a pathname by passing the supplied path to
dlmopen(3C), together with the RTLD_FIRST flag. Reserved
token expansion is therefore carried out by ld.so.1 as theexpansion would occur in an executing process. Although mul-
tiple objects can be analyzed as a result of the dlmopen()call, the RTLD_FIRST flag insures only the optimal object is
processed.By default, moe analyzes the specified path twice. The first
analysis looks for 32-bit objects. The second analysis, if
applicable, looks for 64-bit objects. Typically, 32-bit
objects and 64-bit objects are isolated to different direc-
tories. These directories are frequently named to reflect the class of object the directory contains. The multiplepasses of moe catch any instances where 32-bit objects and
64-bit objects occupy the same directory. Multiple passes
also provide flexibility when the pathname that is specifieddoes not convey to the user the class of object the direc-
tory might contain. For a complete description of the reserved token expansion carried out by the runtime linker, refer to the Linker and Libraries Guide.SunOS 5.11 Last change: 2 Feb 2005 1
User Commands moe(1)
OPTIONS The following options are supported:-32 Only analyze 32-bit objects.
-64 Only analyze 64-bit objects.
-c Prefix each pathname with the class of the object.
-s Silent. No optimal name, or error diagnostics are
displayed. Only an error return is made available.This option is only meaningful with the -32 and -64
options. The -s option can not be used with the -v
option.-v Verbose. If no optimal expansion name can be deter-
mined, an error diagnostic is written to standarderror. The -v option can not be used with the -s
option. OPERANDS The following operand is supported: path The pathname to be expanded.EXAMPLES
The following example uses moe to display the optimal expan-
sion of objects in the directory /usr/lib/libc. This direc-
tory contains a family of Intel objects that are built to use various hardware capabilities.% moe '/usr/lib/libc/$HWCAP'
/usr/lib/libc/libc_hwcap.so.1
The -c option can be used to clarify the class of the
optimal object.% moe -c '/usr/lib/libc/$HWCAP'
32-bit: /usr/lib/libc/libc_hwcap.so.1
SunOS 5.11 Last change: 2 Feb 2005 2
User Commands moe(1)
The following example uses moe to display the optimal expan-
sion of objects under the /opt/ISV/cpu directory hierarchy. These directories contain a family of SPARC objects that are built for various platforms.
% moe -c -64 '/opt/ISV/$ISALIST/isa.so.1'
64-bit: /opt/ISV/sparcv9/isa.so.1
The -v can be used to diagnose the instance where an optimal
name is not returned. An attempt to inspect the previouspathname as a 32-bit object, would result in the following
diagnostic being produced.% moe -c -v -32 '/opt/ISV/$ISALIST/isa.so.1'
32-bit: /opt/ISV/sparcv9/isa.so.1: wrong ELF class: ELFCLASS64
EXIT STATUSWhen the -32 or -64 options are in effect, a successful
optimal expansion returns 0, otherwise non-zero. Without the
-32 or -64 options in effect, the return value is always 0.
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcs ||_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
SEE ALSO
ld.so.1(1), optisa(1), isalist(1), dlmopen(3C), attri-
butes(5) Linker and Libraries GuideSunOS 5.11 Last change: 2 Feb 2005 3