Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

setarch(8) [bsd man page]

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 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 run- ning 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 compatibility only, and may be removed in future releases. -B, --32bit Limit the address space to 32 bits to emulate hardware. Supported on ARM and Alpha. Turns on ADDR_LIMIT_32BIT. -F, --fdpic-funcptrs Treat user-space function pointers to signal handlers as pointers to address descriptors. This option has no effect on architec- tures 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 program binary does not have PT_GNU_STACK ELF header. Turns on ADDR_COM- PAT_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 preserve 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 time- out 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 encounters 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)

Check Out this Related Man Page

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 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 run- ning 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 compatibility only, and may be removed in future releases. -B, --32bit Limit the address space to 32 bits to emulate hardware. Supported on ARM and Alpha. Turns on ADDR_LIMIT_32BIT. -F, --fdpic-funcptrs Treat user-space function pointers to signal handlers as pointers to address descriptors. This option has no effect on architec- tures 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 program binary does not have PT_GNU_STACK ELF header. Turns on ADDR_COM- PAT_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 preserve 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 time- out 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 encounters 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 Page