setarch man page

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

-v, --verbose

Be verbose.

-3, --3gb

Specifies that processes should use a maximum of 3GB of address space on systems where it is supported (ADDR_LIMIT_3GB).

--4gb

Ignored (for backward compatibility only).

-B, --32bit

Turns on ADDR_LIMIT_32BIT.

-F, --fdpic-funcptrs

Userspace function pointers point to descriptors (turns on FDPIC_FUNCPTRS).

-I, --short-inode

Turns on SHORT_INODE.

-L, --addr-compat-layout

Changes the way virtual memory is allocated (turns on the ADDR_COMPAT_LAYOUT).

-R, --addr-no-randomize

Disables randomization of the virtual address space (turns on ADDR_NO_RANDOMIZE).

-S, --whole-seconds

Turns on WHOLE_SECONDS.

-T, --sticky-timeouts

Turns on STICKY_TIMEOUTS.

-X, --read-implies-exec

Turns on READ_IMPLIES_EXEC.

-Z, --mmap-page-zero

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
Jindrich Novy

Availability

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

Referenced By

personality(2).

The man pages i386(8), linux32(8), linux64(8), uname26(8) and x86_64(8) are aliases of setarch(8).

December 2014 util-linux System Administration