SETARCH(8)

NUME
setarch - schimbă arhitectura raportată în noul mediu de program și/sau stabilește fanioanele de personalitate

REZUMAT

setarch [arhitectura] [opțiuni] [program [argument...]]

arhitectura [opțiuni] [program [argument...]]

DESCRIERE

setarch modifică domeniile de execuție și fanioanele de personalitate ale procesului.

Domeniile de execuție afectează în prezent numai rezultatul uname -m. De exemplu, pe un sistem AMD64, rularea setarch i386 program va face ca program să vadă i686 în loc de x86_64 ca tip de mașină. programul implicit este /bin/sh.

Începând cu versiunea 2.33, argumentul arhitectura din linia de comandă este opțional, iar setarch poate fi utilizat pentru a schimba fanioanele de personalitate (ADDR_LIMIT_3GB, SHORT_INODE, etc.) fără a modifica domeniul de execuție.

OPȚIUNI

--list
    Listează arhitecturile pe care setarch le cunoaște. Faptul că setarch poate stabili efectiv fiecare dintre aceste arhitecturi depinde de nucleul care rulează.

--show[=personalitatea]
    Afișează personalitatea și fanioanele active în prezent. Dacă este furnizat argumentul personalitatea, această personalitate este afișată în locul celei curente. personalitatea este un număr hexazecimal cu valorile care sunt descrise în sys/personality.h.

-p, --pid=pid
    Când este utilizată cu --show, afișează personalitatea și fanioanele procesului specificat.

--uname-2.6
    Determină ca programul specificat să vadă un număr de versiune de nucleu care începe cu 2.6. Activează UNAME26.

-v, --verbose
    Oferă informații detaliate la ieșire.

-3, --3gb
    programul specificat trebuie să utilizeze maximum 3Go de spațiu de adresare. Compatibilă cu x86. Activează ADDR_LIMIT_3GB.

--4gb
    Această opțiune nu are niciun efect. Este păstrată doar pentru compatibilitate retroactivă și poate fi eliminată în versiunile viitoare.

-B, --32bit
    Limitează spațiul de adrese la 32 de biți pentru a emula hardware-ul. Compatibil cu ARM și Alpha. Activează ADDR_LIMIT_32BIT.

-F, --fdpic-funcptrs
    Tratează indicatorii de funcție din spațiul utilizatorului către gestionarii de semnal ca indicatori către descriptori de adresă. Această opțiune nu are niciun efect asupra arhitecturilor care nu acceptă binare ELF FDPIC. În nucleul v4.14, suportul este limitat la arhitecturile de procesoare ARM, Blackfin, Fujitsu FR-V și SuperH.

-I, --short-inode
    Fanion de emulare a erorilor învechit. Activează SHORT_INODE.

-L, --addr-compat-layout
    Furnizează o dispunere a spațiului de adrese virtuale moștenit. Se utilizează atunci când programul binar nu are antetul ELF PT_GNU_STACK. Activează ADDR_COMPAT_LAYOUT.

-R, --addr-no-randomize
    Dezactivează generarea aleatorie a spațiului de adrese virtuale. Activează ADDR_NO_RANDOMIZE.

-S, --whole-seconds
    Fanion de emulare a erorilor învechit. Activează WHOLE_SECONDS.

-T, --sticky-timeouts
    Acest lucru face ca apelurile de sistem select(2), pselect(2) și ppoll(2) să păstreze valoarea de așteptare, în loc să o modifice pentru a reflecta perioada de timp nelucrată atunci când este întreruptă de un gestionar de semnal. Se utilizează atunci când program depinde de acest comportament. Pentru mai multe detalii, consultați descrierea „timeout” (așteptare) în pagina de manual select(2). Activează STICKY_TIMEOUTS.

-X, --read-implies-exec
    Dacă această opțiune este stabilită, atunci mmap(2) PROT_READ va adăuga și bitul PROT_EXEC - așa cum se așteaptă binarele x86 tradiționale. Rețineți că încărcătorul ELF va activa automat acest bit atunci când întâlnește un binar vechi. Activează READ_IMPLIES_EXEC.

-Z, --mmap-page-zero
    Emulare eroare SVr4 care va stabili pagina zero mmap(2) ca fiind numai-pentru-citire. Se utilizează atunci când program depinde de acest comportament, iar codul sursă nu este disponibil pentru a fi corectat. Activează MMAP_PAGE_ZERO.

-h, --help
    Afișează acest mesaj de ajutor și iese.

-V, --version
    Afișează versiunea și iese.

EXEMPLE

    setarch --addr-no-randomize programulmeudetestare
    setarch ppc32 rpmbuild --target=ppc --rebuild foo.src.rpm
    setarch ppc32 -vL3 rpmbuild --target=ppc --rebuild bar.src.rpm
    setarch ppc32 --32bit rpmbuild --target=ppc --rebuild foo.src.rpm
    setarch --show
    setarch --show=$(cat /proc/9284/personality)
    setarch --show --pid 9284

AUTORI

CONSULTAȚI ȘI

personality(2), select(2) *proc_pid_personality(5)

RAPORTAREA ERORILOR

Pentru rapoarte de eroare, folosiți

DISPONIBILITATE

Comanda setarch face parte din pachetul util-linux care poate fi descărcat de la