SEÑAL

SEÑAL
Descripción Instrucción inválida
Defecto terminar con un volcado de memoria
Códigos SA_SIGINFO
ILL_ILLOPC código de operación no válido
ILL_ILLOPN operando inválido
ILL_ADR direccionamiento inválido
ILL_ILLTRP trampa inválida
ILL_PRVOPC operación privilegiada
ILL_PRVREG registro privilegiado
ILL_COPROC error del coprocesador
ILL_BADSTK error de pila

En los sistemas POSIX , SIGILL  es una señal enviada a un proceso cuando intenta ejecutar una instrucción incorrecta, inexistente o privilegiada.

SIGILL es una constante entera definida en el signal.h. Los nombres simbólicos de las señales se utilizan en lugar de los números, ya que los números de las señales pueden diferir en diferentes implementaciones.

Etimología

SIG  es un prefijo de señal común (del inglés  signal ), ILL  es una forma abreviada de inglés.   instrucción ilegal

Uso

Hay muchas razones para SIGILL. Una de las causas más comunes es una transferencia de control a una ubicación de memoria aleatoria, como resultado de la transferencia de control a través de un puntero no inicializado o dañado (o dirección de retorno en la pila). Otros casos incluyen errores del compilador, corrupción del sistema de archivos o un intento de ejecutar una instrucción que requiere privilegios especiales.

En muchas plataformas, a medida que el hardware evoluciona, se introducen nuevas instrucciones, registros y similares, y las aplicaciones creadas para el hardware moderno pueden contener instrucciones que no se reconocen en el hardware más antiguo. Por ejemplo, se producirá SIGILL al intentar ejecutar instrucciones MMX en un procesador i486 que no las admita.

SIGILL puede ser capturado o ignorado. Sin embargo, ignorar SIGILL puede, en algunos casos, conducir a resultados impredecibles.