SETARCH
Section: System Administration (8)
Updated: December 2017
Index
Return to Main Contents
名前
setarch - 新しいプログラム環境で表示されるアーキテクチャを変更し、パーソナリティ (personality) フラグを設定する。
書式
setarch
[arch]
[options]
[program
[argument...]]
setarch
--list|-h|-V
arch
[options]
[program
[argument...]]
説明
setarch
は実行ドメインを変更し、パーソナリティフラグを扱う。
実行ドメインは現在のところ uname -m の出力にのみ影響する。
例えば、AMD64 システムで setarch i386 program を実行すると、
program はマシンタイプとして x86_64 ではなく i686 を参照するようになる。
これは様々なパーソナリティオプションの設定もできる。
デフォルトの program は /bin/sh である。
バージョン 2.33 以降では
arch
コマンドライン引き数はオプションであり、
setarch
は実行ドメインを変更せず、パーソナリティフラグ
(ADDR_LIMIT_*, SHORT_INODE, etc) を変更することができる。
オプション
- --list
-
setarch が理解できるアーキテクチャをリスト表示する。
setarch が各アーキテクチャを実際に設定できるかは、
実行されているカーネルに依存する。
- --uname-2.6
-
program に 2.6 で始まるカーネルバージョン番号を参照させる。
UNAME26 を有効にする。
- -v, --verbose
-
詳細な表示をさせる。
- -3, --3gb
-
program
が最大 3GB のアドレスを使えるように指定する。
x86 でサポートされる。
ADDR_LIMIT_3GB を有効にする。
- --4gb
-
このオプションは何の効果もない。
このオプションは後方互換のためにのみ保持されており、将来の
リリースで削除されるかもしれない。
- -B, --32bit
-
ハードウェアをエミュレートし、アドレス空間を 32 ビットに制限する。
ARM と Alpha でサポートされる。
ADDR_LIMIT_32BIT を有効にする。
- -F, --fdpic-funcptrs
-
シグナルハンドラへのユーザー空間関数ポインタを、アドレス
ディスクリプタへのポインタとして扱う。
このオプションは FDPIC ELF バイナリをサポートしていないアーキテクチャには効果がない。
カーネル v4.14 では、ARM, Blackfin,
Fujitsu FR-V, SuperH CPU アーキテクチャでのみサポートが制限されている。
- -I, --short-inode
-
廃れたバグエミュレーションのフラグ。
SHORT_INODE を有効にする。
- -L, --addr-compat-layout
-
古い仮想アドレス空間レイアウトを提供する。
program
バイナリに PT_GNU_STACK ELF ヘッダがない場合に使うこと。
ADDR_COMPAT_LAYOUT を有効にする。
- -R, --addr-no-randomize
-
仮想アドレス空間のランダム化を無効にする。
ADDR_NO_RANDOMIZE を有効にする。
- -S, --whole-seconds
-
廃れたバグエミュレーションのフラグ。
WHOLE_SECONDS を有効にする。
- -T, --sticky-timeouts
-
このオプションを指定すると、
select(2),
pselect(2),
ppoll(2)
システムコールはタイムアウト値を変更せずに保持する。
シグナルハンドラで割り込まれた場合、指定された時間スリープしない
ように反映される。
program
がこの挙動に依存している場合に使うこと。
詳細は
select(2)
マニュアルページのタイムアウトの説明を参照すること。
STICKY_TIMEOUTS を有効にする。
- -X, --read-implies-exec
-
このオプションを設定すると、
mmap(3)
PROT_READ で PROT_EXEC ビットも追加する - これは古い x86 バイナリで期待されている。
ELF ローダーは、古いバイナリに出会った場合、このビットを自動的に設定
する点に注意すること。
READ_IMPLIES_EXEC を有効にする。
- -Z, --mmap-page-zero
-
SVr4 バグエミュレーションで、
mmap(3)
のページ 0 を読み込みのみにする。
program
がこの挙動に依存していて、修正するためのソースコードが利用可能
でない場合に使うこと。
MMAP_PAGE_ZERO を有効にする。
- -V, --version
-
バージョン情報を表示して、終了する。
- -h, --help
-
ヘルプを表示して、終了する。
例
setarch --addr-no-randomize mytestprog
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
Karel Zak
関連項目
personality(2),
select(2)
入手方法
setarch コマンドは util-linux パッケージの一部であり、
Linux Kernel Archive
から入手できる。
Index
- 名前
-
- 書式
-
- 説明
-
- オプション
-
- 例
-
- 著者
-
- 関連項目
-
- 入手方法
-
This document was created by
man2html,
using the manual pages.
Time: 15:27:06 GMT, April 29, 2020