MIPSel Binutils-2.46 & GCC-15.2.0

Introduksjon til MIPSel

MIPSel er little-endian (32-bit) varianten av MIPS, brukt av tidlige systemer, vanligvis i innebygde systemer. Spillkonsoller på den tiden brukte ofte PowerPC, MIPS 64 eller MIPS 32 arkitekturer. Verktøykjeden som vil bli bygget med følgende instruksjoner vil sikte mot å målrette sistnevnte.

Instruksjonene vil bygge en enkel krysskompilator for MIPSel ved hjelp av Binutils og GCC. Begge vil bli installert på denne siden. Målet er mipsel-linux-gnu, som er kortere enn mange andre tripletter.

Notat

Dette kan ta litt tid å bygge. Gjør gjerne noe annet mens dette bygges.

Installasjon av MIPSel-Binutils

Installer MIPSel-Binutils ved å kjøre følgende kommandoer:

mkdir build-mipsel-binutils &&
cd    build-mipsel-binutils &&

../configure --prefix=/usr                              \
             --target=mipsel-linux-gnu                  \
             --infodir=/usr/share/info/mipsel-linux-gnu \
             --disable-nls                              \
             --disable-werror                           \
             --with-gold=no &&

make

Nå, som root bruker:

make   DESTDIR=$PWD/DESTDIR install          &&
rm -v  DESTDIR/usr/lib/bfd-plugins/libdep.so &&
cp -Rv DESTDIR/usr/* /usr                    &&
rm -rf DESTDIR

Binutils Parameterforklaringer

--disable-nls: Dette alternativet deaktiverer NLS støtte, og deaktiverer dermed utdatadiagnostikk på andre språk enn amerikansk engelsk. Utelat --disable-nls og bruk --enable-nls for å aktivere NLS støtte.

--disable-werror: Dette alternativet gjør det slik at advarsler ikke blir ansett som feil.

--with-gold=no: Dette alternativet deaktiverer bygging av gold, som nå av mange anses som ubrukbare programmer. Tarballen som brukes til installasjonen inneholder gold på grunn av versjonsproblemer, så dette alternativet bidrar til å motvirke dette.

--target=*: Dette alternativet bygger filer for arkitekturen som sendes til det.

rm -v DESTDIR/usr/lib/bfd-plugins/libdep.so: Denne kommandoen fjerner et bibliotek som er i konflikt med det opprinnelige biblioteket levert av den opprinnelige kompileringen av Binutils.

Installasjon av MIPSel-GCC

Installer MIPSel-GCC ved å kjøre følgende kommandoer:

mkdir build-mipsel-gcc &&
cd    build-mipsel-gcc &&

../configure --prefix=/usr             \
             --target=mipsel-linux-gnu \
             --disable-shared          \
             --disable-multilib        \
             --disable-threads         \
             --enable-languages=c,c++ &&

make inhibit_libc=true all-gcc

Nå, som root bruker:

make install-gcc &&
ln -sfv mipsel-linux-gnu-gcc /usr/bin/mipsel-linux-gnu-cc

GCC Parameterforklaringer

--disable-shared: Dette alternativet deaktiverer bygging av delte biblioteker.

--disable-multilib: Dette alternativet sikrer at filer opprettes spesielt for MIPSel.

--disable-threads: Dette alternativet deaktiverer trådstøtte på grunn av byggefeil i GCC.

--enable-languages=c,c++: Denne kommandoen bygger støtte for C og C++. Se https://lfs.freding.no/blfs/view/systemd/general/gcc.html for å finne ut hvilke andre språk som støttes.

Innhold

Det finnes ingen binærfiler spesifikke for MIPSel bortsett fra formatet verktøykjeden er rettet mot, og dermed har hver binærfil prefikset arkitekturtripletten, for eksempel mipsel-linux-gnu-gcc. For dyptgående beskrivelser, les både https://www.lfs.freding.no/lfs/view/systemd/chapter08/binutils.html#contents-binutils og https://www.lfs.freding.no/lfs/view/systemd/chapter08/gcc.html#contents-gcc.