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.
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 archivoMakefile
y localiza la línea que incluyeCFLAGS
. Elimina la bandera-Werror
de esta línea y guarda el archivo. Luego intenta ejecutarmake 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. Abreusertests.c
y localiza la funciónsbrktest()
. Elimina la línea que escribe 1 byte en*lastaddr
y guarda el archivo. Luego intenta ejecutarmake 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.