Ошибка компиляции GCC для i686-elf в Windows(MinGW)

#gcc #mingw #cross-compiling

Вопрос:

Я пытаюсь скомпилировать binutils и GCC (для Windows) в соответствии с этим руководством. Компиляция binutils завершилась без ошибок , однако GCC потерпел неудачу

Шаги, которые я предпринял
Установлен MinGW с зависимостями, указанными в руководстве. Установил исходный код GCC и binutils и распаковал их в $HOME/src папку
и в оболочку MinGW:

 export PREFIX="$HOME/opt/cross"
export TARGET=i686-elf
export PATH="$PREFIX/bin:$PATH"
 
 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
 

до сих пор все шло без каких-либо ошибок

 cd $HOME/src
 
# The $PREFIX/bin dir _must_ be in the PATH. We did that above.
which -- $TARGET-as || echo $TARGET-as is not in the PATH
 
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
 

Во-первых, which команда не удалась unrecognized command -- . Я убедился, что path_to_sysm_user/opt/cross/bin это было добавлено в PATH, и двинулся дальше
Затем в make all-gcc предупреждениях и ошибках выскочили:

 ../../gcc-10.3.0/gcc/mem-stats.h:215:72: warning: ISO C  11 does not support the 'I64' ms_printf length modifier [-Wformat=]

../../gcc-10.3.0/gcc/pretty-print.c: In function 'void eat_esc_sequence(HANDLE, int, const char*, const char*)':
../../gcc-10.3.0/gcc/pretty-print.c:530:22: error: 'COMMON_LVB_UNDERSCORE' was not declared in this scope
        attrib_add |= COMMON_LVB_UNDERSCORE;
                      ^~~~~~~~~~~~~~~~~~~~~
../../gcc-10.3.0/gcc/pretty-print.c:539:22: error: 'COMMON_LVB_REVERSE_VIDEO' was not declared in this scope
        attrib_add |= COMMON_LVB_REVERSE_VIDEO;
                      ^~~~~~~~~~~~~~~~~~~~~~~~
../../gcc-10.3.0/gcc/pretty-print.c:644:24: error: 'COMMON_LVB_REVERSE_VIDEO' was not declared in this scope
       if (attrib_add amp; COMMON_LVB_REVERSE_VIDEO)
                        ^~~~~~~~~~~~~~~~~~~~~~~~

# And it finished with

make[1]: *** [pretty-print.o] Error 1
make[1]: Leaving directory `/home/Ashok/src/build-gcc/gcc'
make: *** [all-gcc] Error 2