diff options
Diffstat (limited to 'sys-utils/setarch.8')
-rw-r--r-- | sys-utils/setarch.8 | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/sys-utils/setarch.8 b/sys-utils/setarch.8 new file mode 100644 index 0000000..7276fdd --- /dev/null +++ b/sys-utils/setarch.8 @@ -0,0 +1,143 @@ +.TH SETARCH 8 "December 2017" "util-linux" "System Administration" +.SH NAME +setarch \- change reported architecture in new program environment and/or set personality flags +.SH SYNOPSIS +.B setarch +.RI [ arch ] +[options] +.RI [ program +.RI [ argument ...]] +.sp +.B setarch +.BR \-\-list | \-h | \-V +.sp +.B arch +[options] +.RI [ program +.RI [ argument ...]] +.SH DESCRIPTION +.B setarch +modifies execution domains and process personality flags. +.PP +The execution domains currently only affects the output of \fBuname \-m\fR. +For example, on an AMD64 system, running \fBsetarch i386 \fIprogram\fR +will cause \fIprogram\fR to see i686 instead of x86_64 as the machine type. +It can also be used to set various personality options. +The default \fIprogram\fR is \fB/bin/sh\fR. +.PP +Since version 2.33 the +.I arch +command line argument is optional and +.B setarch +may be used to change personality flags (ADDR_LIMIT_*, SHORT_INODE, etc) without +modification of the execution domain. +.SH OPTIONS +.TP +.B \-\-list +List the architectures that \fBsetarch\fR knows about. Whether \fBsetarch\fR +can actually set each of these architectures depends on the running kernel. +.TP +.B \-\-uname\-2.6 +Causes the \fIprogram\fR to see a kernel version number beginning with 2.6. +Turns on UNAME26. +.TP +.BR \-v , " \-\-verbose" +Be verbose. +.TP +\fB\-3\fR, \fB\-\-3gb\fR +Specifies +.I program +should use a maximum of 3GB of address space. Supported on x86. Turns on +ADDR_LIMIT_3GB. +.TP +\fB\-\-4gb\fR +This option has no effect. It is retained for backward compatibility only, +and may be removed in future releases. +.TP +\fB\-B\fR, \fB\-\-32bit\fR +Limit the address space to 32 bits to emulate hardware. Supported on ARM +and Alpha. Turns on ADDR_LIMIT_32BIT. +.TP +\fB\-F\fR, \fB\-\-fdpic\-funcptrs\fR +Treat user-space function pointers to signal handlers as pointers to address +descriptors. This option has no effect on architectures that do not support +FDPIC ELF binaries. In kernel v4.14 support is limited to ARM, Blackfin, +Fujitsu FR-V, and SuperH CPU architectures. +.TP +\fB\-I\fR, \fB\-\-short\-inode\fR +Obsolete bug emulation flag. Turns on SHORT_INODE. +.TP +\fB\-L\fR, \fB\-\-addr\-compat\-layout\fR +Provide legacy virtual address space layout. Use when the +.I program +binary does not have PT_GNU_STACK ELF header. Turns on +ADDR_COMPAT_LAYOUT. +.TP +\fB\-R\fR, \fB\-\-addr\-no\-randomize\fR +Disables randomization of the virtual address space. Turns on +ADDR_NO_RANDOMIZE. +.TP +\fB\-S\fR, \fB\-\-whole\-seconds\fR +Obsolete bug emulation flag. Turns on WHOLE_SECONDS. +.TP +\fB\-T\fR, \fB\-\-sticky\-timeouts\fR +This makes +.BR select (2), +.BR pselect (2), +and +.BR 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 +.I program +depends on this behavior. For more details see the timeout description in +.BR select (2) +manual page. Turns on STICKY_TIMEOUTS. +.TP +\fB\-X\fR, \fB\-\-read\-implies\-exec\fR +If this is set then +.BR mmap (3p) +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. +.TP +\fB\-Z\fR, \fB\-\-mmap\-page\-zero\fR +SVr4 bug emulation that will set +.BR mmap (3p) +page zero as read-only. Use when +.I program +depends on this behavior, and the source code is not available to be fixed. +Turns on MMAP_PAGE_ZERO. +.TP +.BR \-V , " \-\-version" +Display version information and exit. +.TP +.BR \-h , " \-\-help" +Display help text and exit. +.SH EXAMPLE +setarch \-\-addr-no-randomize mytestprog +.br +setarch ppc32 rpmbuild \-\-target=ppc \-\-rebuild foo.src.rpm +.br +setarch ppc32 \-v \-vL3 rpmbuild \-\-target=ppc \-\-rebuild bar.src.rpm +.br +setarch ppc32 \-\-32bit rpmbuild \-\-target=ppc \-\-rebuild foo.src.rpm +.SH AUTHORS +.MT sopwith@redhat.com +Elliot Lee +.ME +.br +.MT jnovy@redhat.com +Jindrich Novy +.ME +.br +.MT kzak@redhat.com +Karel Zak +.ME +.SH SEE ALSO +.BR personality (2), +.BR select (2) +.SH AVAILABILITY +The setarch command is part of the util-linux package and is available from +.UR https://\:www.kernel.org\:/pub\:/linux\:/utils\:/util-linux/ +Linux Kernel Archive +.UE . |