¿Cómo es que no puede habilitar “DEBUG_STACKOVERFLOW” al configurar un kernel de 64 bits?
Estoy usando menuconfig para configurar un kernel de Linux para la depuración, pero ¿por qué parece que DEBUG_STACKOVERFLOW solo funciona para sistemas de 32 bits?
Como puede ver en la captura de pantalla, habilitar HAVE_DEBUG_STACKOVERFLOW requiere que el sistema sea de 32 bits. ¿Esto se debe a que está habilitado de forma predeterminada al compilar para sistemas de 64 bits? Google no me está llevando a ninguna respuesta
Respuestas
x86_64 solía tener comprobaciones de desbordamiento de pila, pero se eliminaron una vez que se agregaron las páginas de protección a todos los tipos de pila . Las páginas de protección brindan una protección confiable contra el desbordamiento, sin necesidad de verificaciones adicionales, por lo que las verificaciones de desbordamiento de la pila eran redundantes.