SIGILL

SIGILL
Popis Neplatný pokyn
Výchozí končí výpisem paměti
SA_SIGINFO kódy
ILL_ILLOPC neplatný operační kód
ILL_ILLOPN neplatný operand
ILL_ADR neplatné adresování
ILL_ILLTRP neplatná past
ILL_PRVOPC privilegovaný provoz
ILL_PRVREG privilegovaný rejstřík
ILL_COPROC chyba koprocesoru
ILL_BADSTK chyba zásobníku

Na systémech POSIX  je SIGILL signál odeslaný procesu, když se pokouší provést chybnou, neexistující nebo privilegovanou instrukci.

SIGILL je celočíselná konstanta definovaná v signal.h. Místo čísel se používají symbolické názvy signálů, protože čísla signálů se mohou v různých implementacích lišit.

Etymologie

SIG  je běžná signální předpona (z anglického  signal ), ILL  je zkrácený pravopis angličtiny.  nezákonné  poučení

Použití

Existuje mnoho důvodů pro SIGILL. Jednou z nejčastějších příčin je přenos řízení do náhodného paměťového místa - jako výsledek přenosu řízení přes neinicializovaný nebo poškozený ukazatel (nebo návratovou adresu na zásobníku). Mezi další případy patří chyby kompilátoru, poškození souborového systému nebo pokus o provedení instrukce, která vyžaduje zvláštní oprávnění.

Na mnoha platformách se s vývojem hardwaru zavádějí nové instrukce, registry a podobně a aplikace vytvořené pro moderní hardware mohou obsahovat instrukce, které na starším hardwaru nejsou rozpoznány. SIGILL se například objeví při pokusu o provedení instrukcí MMX na procesoru i486 , který je nepodporuje.

SIGILL může být zachycen nebo ignorován. Ignorování SIGILL však může v některých případech vést k nepředvídatelným výsledkům.