Разница между 1.2
и текущей версией
КроссКомпилятор.
@@ -1,3 +1,60 @@
-= Кросс компилятор
+= Кросс-компилятор
+
+- Введение
+
+ Кросс-компилятор : компилятор, производящий исполняемый код для платформы, отличной от той, на которой исполняется сам кросс-компилятор.
+
+Кросс-компилятор может понадобится в разработке операционных систем, где компиляция на целевой платформе невозможна.
+
+В этой статье будет показано, как собрать кросс-компилятор с gcc. Для сборки кросс-компилятора понадобится скомпилированная для целевой платформы версия binutils. Версии gcc и binutils могут друг с другом конфликтовать, какие версии gcc и binutils подходят друг другу можно посмотреть [[ https://wiki.osdev.org/Cross-Compiler_Successful_Builds | здесь]].
+
+- Зависимости
+ * Binutils (ftp://ftp.gnu.org/gnu/binutils)
+ * Texinfo (https://www.gnu.org/software/texinfo)
+ * GCC (ftp://ftp.gnu.org/gnu/gcc)
+ * G++
+ * GNU Make
+ * GNU Bison
+ * Flex
+ * GNU GMP
+ * GNU MPFR
+ * GNU MPC
+Установить GMP, MPFR, MPC можно следующим образом:
+ $ cd gcc-x.y.z/
+ $ contrib/download_prerequisites
+
+- Установка
+
+-- Подготовка
+
+ $ export PREFIX="$HOME/projects/cross"
+ $ export TARGET=i386-elf
+ $ export PATH="$PREFIX/bin:$PATH"
+
+``$TARGET`` и ``$PREFIX`` могут меняться.
+
+-- Binutils
+
+ $ cd $HOME/src/
+ $ mkdir build-binutils/
+ $ cd build-binutils/
+ $ ../binutils-x.y.z/configure --target=$TARGET --prefix="$PREFIX" \
+ > --with-sysroot --disable-nls --disable-werror
+ $ make
+ $ make install
+
+Мы компилируем binutils (ассемблер, линковщик, и т.д.) исполняемый на хосте, но под платформу TARGET.
+
+-- GCC
+
+ $ cd $HOME/src/
+ $ mkdir build-gcc/
+ $ cd build-gcc/
+ $ ../gcc-x.y.z/configure --target=$TARGET --prefix="$PREFIX" \
+ > --disable-nls --enable-languages=c,c++ --without-headers
+ $ make all-gcc
+ $ make all-target-libgcc
+ $ make install-gcc
+ $ make install-target-libgcc
# ПроектLAMPOS