687
edits
Changes
Created page with "Category:GCC == Introduction == We'll build a GCC 10.1.0 targeting bare metal AMD64. == Create directories == cd $HOME mkdir -p src obj/{binutils-build,gcc-build,gdb..."
[[Category:GCC]]
== Introduction ==
We'll build a GCC 10.1.0 targeting bare metal AMD64.
== Create directories ==
cd $HOME
mkdir -p src obj/{binutils-build,gcc-build,gdb-build,newlib-build}
== Get GCC, GDB and binutils ==
curl https://ftp.gnu.org/gnu/binutils/binutils-2.34.tar.gz | tar -C $HOME/src -xf -
curl https://ftp.gnu.org/gnu/gdb/gdb-9.1.tar.gz | tar -C $HOME/src -xf -
curl https://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz | tar -C $HOME/src -xf -
curl ftp://sourceware.org/pub/newlib/newlib-3.3.0.tar.gz | tar -C $HOME/src -xf -
== Download prerequisites ==
cd $HOME/src/gcc-10.1.0
./contrib/download_prerequisites
== Build and install binutils ==
cd $HOME/obj/binutils-build
../../src/binutils-2.34/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib
make -j8 && make install
== Build and install gdb ==
cd $HOME/obj/gdb-build
../../src/gdb-9.1/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib
make -j8 && make install
== Build and install bare metal gcc ==
cd $HOME/obj/gcc-build
../../src/gcc-10.1.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib --enable-languages=c --without-headers
make -j8 all-gcc && make install-gcc
== Build and install newlib ==
cd $HOME/obj/newlib-build
../../src/newlib-3.3.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib
make -j8 all && make install
== Build and install newlib gcc ==
rm -rf $HOME/obj/gcc-build && mkdir -p $HOME/obj/gcc-build
cd $HOME/obj/gcc-build
../../src/gcc-10.1.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib --enable-languages=c --with-newlib
make -j8 all && make install
== Introduction ==
We'll build a GCC 10.1.0 targeting bare metal AMD64.
== Create directories ==
cd $HOME
mkdir -p src obj/{binutils-build,gcc-build,gdb-build,newlib-build}
== Get GCC, GDB and binutils ==
curl https://ftp.gnu.org/gnu/binutils/binutils-2.34.tar.gz | tar -C $HOME/src -xf -
curl https://ftp.gnu.org/gnu/gdb/gdb-9.1.tar.gz | tar -C $HOME/src -xf -
curl https://ftp.gnu.org/gnu/gcc/gcc-10.1.0/gcc-10.1.0.tar.gz | tar -C $HOME/src -xf -
curl ftp://sourceware.org/pub/newlib/newlib-3.3.0.tar.gz | tar -C $HOME/src -xf -
== Download prerequisites ==
cd $HOME/src/gcc-10.1.0
./contrib/download_prerequisites
== Build and install binutils ==
cd $HOME/obj/binutils-build
../../src/binutils-2.34/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib
make -j8 && make install
== Build and install gdb ==
cd $HOME/obj/gdb-build
../../src/gdb-9.1/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib
make -j8 && make install
== Build and install bare metal gcc ==
cd $HOME/obj/gcc-build
../../src/gcc-10.1.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib --enable-languages=c --without-headers
make -j8 all-gcc && make install-gcc
== Build and install newlib ==
cd $HOME/obj/newlib-build
../../src/newlib-3.3.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib
make -j8 all && make install
== Build and install newlib gcc ==
rm -rf $HOME/obj/gcc-build && mkdir -p $HOME/obj/gcc-build
cd $HOME/obj/gcc-build
../../src/gcc-10.1.0/configure --prefix $HOME/xgcc --bindir $HOME/bin --target x86_64-none-elf --enable-multilib --enable-languages=c --with-newlib
make -j8 all && make install