Universidad de Costa Rica

Escuela de Ciencias de la Computación e Informática

Laboratorio de Sistemas Operativos

Recursos de nachos


Regresar

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)