SETARCH(8)                   System Administration                  SETARCH(8)

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

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

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

       setarch --list|-h|-V

       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.

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

              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

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

       -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

       -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.

       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

       Elliot Lee <>
       Jindrich Novy <>

       personality(2), select(2)

       The setarch command is part of the util-linux package and is  available
       from Linux Kernel Archive <

util-linux                       December 2017                      SETARCH(8)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2022 Hurricane Electric. All Rights Reserved.