Use custom GCC toolchain

This commit is contained in:
2025-09-20 20:07:39 +02:00
parent 0c65bd9891
commit d50bdd0051
5 changed files with 55 additions and 3 deletions

View File

@ -17,6 +17,18 @@ prepare:
cd limine; \ cd limine; \
make; \ make; \
fi fi
if [ ! -d toolchain/binutils-gdb ]; then \
cd toolchain; \
git clone git://sourceware.org/git/binutils-gdb.git --depth=1; \
$(PWD)/scripts/build-binutils-gdb.sh; \
cd ..; \
fi
if [ ! -d toolchain/gcc ]; then \
cd toolchain; \
git clone https://gcc.gnu.org/git/gcc.git --depth=1; \
$(PWD)/scripts/build-gcc.sh; \
cd ..; \
fi
cleanall: cleanall:
make clean make clean

View File

@ -1,3 +1,5 @@
CC := x86_64-elf-gcc PREFIX := $(ROOT)/toolchain/root/bin
LD := x86_64-elf-ld
AR := x86_64-elf-ar CC := $(PREFIX)/x86_64-elf-gcc
LD := $(PREFIX)/x86_64-elf-ld
AR := $(PREFIX)/x86_64-elf-ar

View File

@ -9,4 +9,5 @@ CFLAGS += -m64 \
-fno-stack-protector \ -fno-stack-protector \
-fno-stack-check \ -fno-stack-check \
-fno-builtin \ -fno-builtin \
-fno-omit-frame-pointer \
-O0 \ -O0 \

12
scripts/build-binutils-gdb.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
PREFIX=$(pwd)/root
mkdir build-bintuils-gdb
cd build-bintuils-gdb
../binutils-gdb/configure --prefix="$PREFIX" \
--disable-nls \
--disable-werror \
--target=x86_64-elf
make -j$(nproc)
make install

25
scripts/build-gcc.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/sh
PREFIX=$(pwd)/root
cd gcc
./contrib/download_prerequisites
cd ..
mkdir build-gcc
cd build-gcc
../gcc/configure --prefix="$PREFIX" \
--disable-nls \
--enable-languages=c \
--target=x86_64-elf \
--disable-bootstrap \
--without-headers \
--disable-shared \
--disable-threads \
--disable-libssp \
--disable-libquadmath \
--disable-libgomp \
--disable-libatomic \
--disable-libmudflap \
--disable-multilib
make -j$(nproc)
make install