unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

moe(1)                           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 pathname contain-
       ing reserved runtime linker tokens. These tokens can be used to  define
       dependencies,  filtees  and runpaths within dynamic objects. The expan-
       sion 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 hard-
       ware capabilities that each object requires to execute. moe returns the
       name  of the object optimally suited for execution on the current plat-
       form.

       moe analyzes a pathname by passing the  supplied  path  to  dlopen(3C),
       together  with  the RTLD_FIRST flag. Reserved token expansion is there-
       fore carried out by ld.so.1 as the expansion would occur in an  execut-
       ing  process.  Although multiple objects can be analyzed as a result of
       the dlopen() 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 iso-
       lated to different directories. These directories are frequently  named
       to  reflect  the  class  of object the directory contains. The multiple
       passes of moe catch any  instances  where  32-bit  objects  and  64-bit
       objects  occupy the same directory. Multiple passes also provide flexi-
       bility when the pathname that is specified does not convey to the  user
       the class of object the directory might contain.

       For  a complete description of the reserved token expansion carried out
       by the runtime linker, refer to the Linker and Libraries Guide.

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 determined, an
                error diagnostic is written to standard error. 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 expansion of
       objects in the directory /usr/lib/libc. This directory contains a  fam-
       ily  of  Intel objects that are built to use various hardware capabili-
       ties.

       % 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

       The following example uses moe to  display  the  optimal  expansion  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 previous pathname 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 STATUS
       When the -32 or -64 options are in effect, a successful optimal  expan-
       sion  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 attributes:


       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).    ATTRIBUTE   TYPEATTRIBUTE  VALUE  AvailabilitySUNWcsu
       Interface StabilityStable


SEE ALSO
       ld.so.1(1), optisa(1), isalist(1), dlopen(3C), attributes(5)

       Linker and Libraries Guide



SunOS 5.10                        8 June 2004                           moe(1)