es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Iniciando xv6 con qemu

Estoy intentando iniciar xv6 con qemu pero cada vez que ejecuto make qemu, obtengo el siguiente error:

usertests.c: En la función 'sbrktest':
usertests.c:1461:13: error: escribiendo 1 byte en una región de tamaño 0 [-Werror=stringop-overflow=]
 1461 |   *lastaddr = 99;
      |   ~~~~~~~~~~^~~~
cc1: todos los avisos se tratan como errores
make: *** [<builtin>: usertests.o] Error 1

Ejecutar make qemu-nox resultó en el mismo error. Estoy usando el sistema operativo Kubuntu 21.10. Aquí hay una solución alternativa en este enlace, pero estoy buscando una solución si alguien la encuentra.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que hay un problema con el archivo usertests.c en el código xv6 donde está intentando escribir 1 byte en una región de tamaño 0, lo que causa un error de desbordamiento. Este error está siendo tratado como una advertencia por el compilador, pero debido a la bandera -Werror, está siendo tratado como un error, lo que provoca que la compilación falle.

    Una solución potencial es modificar el archivo Makefile para eliminar la bandera -Werror, de modo que las advertencias no sean tratadas como errores durante el proceso de compilación. Para hacer esto, abre el archivo Makefile y localiza la línea que incluye CFLAGS. Elimina la bandera -Werror de esta línea y guarda el archivo. Luego intenta ejecutar make qemu nuevamente para ver si se ha resuelto el error.

    Si esto no funciona, puedes intentar la solución sugerida en el enlace proporcionado en la pregunta. Básicamente, necesitas modificar el archivo usertests.c para eliminar la línea que está causando el error de desbordamiento. Abre usertests.c y localiza la función sbrktest(). Elimina la línea que escribe 1 byte en *lastaddr y guarda el archivo. Luego intenta ejecutar make qemu nuevamente para ver si se ha resuelto el error.

    Si sigues teniendo problemas, puede ser útil buscar problemas similares en foros o comunidades relacionadas con xv6 y qemu, o buscar ayuda de alguien con más experiencia en estas herramientas.

Comments are closed.