Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
Laboratorio de Sistemas Operativos
Recursos de nachos
Construcción de un compilador MIPS para X86 en Linux
Se describe como construir un compilador para MIPS utilizando una máquina X86 con linux. Esta información puede ser util para compilar programas de usuario y construir aplicaciones MIPS para NACHOS. La construcción del compilador requiere que usted cuente con suficiente espacio libre, alrederor de 50 Mb. Estas instrucciones que siguen suponen que usted se encuentra en una máquina linux, obvio!!! =).
Obtenga los paquetes para realizar la compilación: binutils y gcc (2.8.1 son los
provistos por este sitio). Estos paquetes se pueden bajar de otros sitios en la
Internet. binutils , gcc
Desempáquelos utilizando los siguientes comandos:
tar zxvf binutils-2.8.1.tar.gz
tar zxvf gcc-2.8.1.tar.gz
Construya el paquete de binutils primero e instálelo en el directorio de su
preferencia (/usr/local/nachos, por ejemplo y obligatorio para la ECCI), siguiendo
estos comandos:
cd binutils-2.8.1
./configure --prefix=/usr/local/nachos --target=decstation-ultrix
make
make install
Construya el paquete gcc e instálelo en el mismo directorio que utilizó para
binutils:
cd ../gcc-2.8.1
./configure --target=decstation-ultrix --with-gnu-as --with-gnu-ld --prefix=/usr/local/nachos
Antes de construir el gcc, se ocupa realizar algunos cambios. Luego de construir el
compilador para MIPS, el "Makefile" intentará algunas bibliotecas y algunos
casos de prueba. Las bibliotecas depende de los archivos de encabezado (.h, como stdio.h)
para los cuales no existe soporte dentro de Nachos, por ello se necesita crear archivos
falsos y engañar al Makefile.
ar rc libgcc.a /dev/null
ar rc libgcc2.a /dev/null
También se ocupa cambiar una línea en el archivo "Makefile" que comienza con:
ENQUIRE = ... a
#ENQUIRE = ...
Ahora ya puede construir el compilador, siga estos pasos:
make LANGUAGES=c
make install LANGUAGES=c
Asegúrese de ajustar su Makefile en Nachos para encontrar este compilador
(/usr/local/nachos/bin)