linux32(1)



SETARCH(8)                   System Administration                  SETARCH(8)

NAME
       setarch  -  change reported architecture in new program environment and
       set personality flags

SYNOPSIS
       setarch arch [options] [program [argument...]]

       arch [options] [program [argument...]]

       setarch --list|-h|-V

DESCRIPTION
       setarch currently only affects the output of uname -m.  For example, on
       an AMD64 system, running setarch i386 program will cause program to see
       i686 instead of x86_64 as the machine type.  It also allows to set var-
       ious personality options.  The default program is /bin/sh.

OPTIONS
       --list List  the  architectures  that  setarch  knows  about.   Whether
              setarch can actually set each of these architectures depends  on
              the running kernel.

       --uname-2.6
              Causes the program to see a kernel version number beginning with
              2.6.  Turns on UNAME26.

       -v, --verbose
              Be verbose.

       -3, --3gb
              Specifies program should use a maximum of 3GB of address  space.
              Supported on x86.  Turns on ADDR_LIMIT_3GB.

       --4gb  This option has no effect.  It is retained for backward compati-
              bility only, and may be removed in future releases.

       -B, --32bit
              Limit the address space to 32 bits to  emulate  hardware.   Sup-
              ported on ARM and Alpha.  Turns on ADDR_LIMIT_32BIT.

       -F, --fdpic-funcptrs
              Treat  user-space function pointers to signal handlers as point-
              ers to address descriptors.  This option has no effect on archi-
              tectures  that  do  not  support  FDPIC ELF binaries.  In kernel
              v4.14 support is limited to ARM,  Blackfin,  Fujitsu  FR-V,  and
              SuperH CPU architectures.

       -I, --short-inode
              Obsolete bug emulation flag.  Turns on SHORT_INODE.

       -L, --addr-compat-layout
              Provide  legacy virtual address space layout.  Use when the pro-
              gram binary does not have PT_GNU_STACK  ELF  header.   Turns  on
              ADDR_COMPAT_LAYOUT.

       -R, --addr-no-randomize
              Disables  randomization  of the virtual address space.  Turns on
              ADDR_NO_RANDOMIZE.

       -S, --whole-seconds
              Obsolete bug emulation flag.  Turns on WHOLE_SECONDS.

       -T, --sticky-timeouts
              This makes select(2), pselect(2), and ppoll(2) system calls pre-
              serve  the  timeout value instead of modifying it to reflect the
              amount of time not slept when interrupted by a  signal  handler.
              Use when program depends on this behavior.  For more details see
              the timeout description in  select(2)  manual  page.   Turns  on
              STICKY_TIMEOUTS.

       -X, --read-implies-exec
              If  this  is  set  then  mmap(3)  PROT_READ  will  also  add the
              PROT_EXEC bit - as expected by legacy x86 binaries.  Notice that
              the  ELF  loader will automatically set this bit when it encoun-
              ters a legacy binary.  Turns on READ_IMPLIES_EXEC.

       -Z, --mmap-page-zero
              SVr4 bug emulation that will set mmap(3) page zero as read-only.
              Use  when  program depends on this behavior, and the source code
              is not available to be fixed.  Turns on MMAP_PAGE_ZERO.

       -V, --version
              Display version information and exit.

       -h, --help
              Display help text and exit.

EXAMPLES
       setarch ppc32 rpmbuild --target=ppc --rebuild foo.src.rpm
       setarch ppc32 -v -vL3 rpmbuild --target=ppc --rebuild bar.src.rpm
       setarch ppc32 --32bit rpmbuild --target=ppc --rebuild foo.src.rpm

AUTHOR
       Elliot Lee <sopwith@redhat.com>
       Jindrich Novy <jnovy@redhat.com>

SEE ALSO
       personality(2), select(2)

AVAILABILITY
       The setarch command is part of the util-linux package and is  available
       from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-
       linux/>.

util-linux                       December 2017                      SETARCH(8)

Man(1) output converted with man2html
list of all man pages