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