GNU GCC 4.0.4

This commit is contained in:
Andrius Štikonas 2021-03-20 21:23:07 +00:00
parent 30ebe8ccba
commit f5c262e370
6 changed files with 117 additions and 6 deletions

14
sysa/gcc-4.0.4/checksums Normal file
View file

@ -0,0 +1,14 @@
6ca1ff5a1dd835e2378a8d827c5ec8a68121c7b5c719ab56f71f9d717b8e007e /after/bin/cpp
236bb12f3c0b6fb28dee325dfcfcf1cd87dc057aaac307e76a7124c4d071c349 /after/bin/gcc
236bb12f3c0b6fb28dee325dfcfcf1cd87dc057aaac307e76a7124c4d071c349 /after/bin/i386-unknown-linux-gnu-gcc
236bb12f3c0b6fb28dee325dfcfcf1cd87dc057aaac307e76a7124c4d071c349 /after/bin/i386-unknown-linux-gnu-gcc-4.0.4
903b1dae32b217048b1a35a934836496027e6947b77f5711cb8714cd5241dda0 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/cc1
711689a618e34a0cff2c6061e554f9a2f9d447a7623bd46ba11c2eb816932883 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/collect2
a3fbed284b1efaf6fccfc81eddd9bad8c4cf07673b16e8885ad6f31a1569c9b4 /after/libexec/gcc/i386-unknown-linux-gnu/4.0.4/install-tools/fixincl
de4566c661258fa626ea7076e6c57af95c01d0786bcdadb12af23852cc421a2a /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbegin.o
c7eea5e845fe2ee5538704d59c6e777d4f72b7100e78d5f86f8d95d96ab2ec20 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginS.o
de4566c661258fa626ea7076e6c57af95c01d0786bcdadb12af23852cc421a2a /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtbeginT.o
342276a6ad25e3d064bba9c5d50fbeaae15d0aefdc5c72b1e796366189af1b1b /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtend.o
2bf001e0be96ea7c53adf35b1bf0a677eee02008e3aee6c30166d100b720687c /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/crtendS.o
7b416e87b8e5998c042b64b4b87499720895c17deeffc0bc1b79f6fac502d51b /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcc.a
efc9783c7386519ef7d5bfe7fadf16d4b6b717deb18dd04e09d810354f015942 /after/lib/musl/gcc/i386-unknown-linux-gnu/4.0.4/libgcov.a

83
sysa/gcc-4.0.4/stage1.sh Executable file
View file

@ -0,0 +1,83 @@
# SPDX-FileCopyrightText: 2021 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2021 Paul Dersey <pdersey@gmail.com>
# SPDX-License-Identifier: GPL-3.0-or-later
src_unpack() {
default_src_unpack
}
src_prepare() {
default_src_prepare
sed -i 's/ix86_attribute_table\[\]/ix86_attribute_table\[10\]/' gcc/config/i386/i386.c
sed -i 's/struct siginfo/siginfo_t/' gcc/config/i386/linux-unwind.h
rm configure
autoconf-2.13
for dir in intl libcpp; do
cd $dir
rm aclocal.m4
aclocal-1.9 --acdir=../config
cd ..
done
for dir in fixincludes gcc intl libcpp libiberty; do
cd $dir
rm configure
autoconf-2.61
cd ..
done
cd libmudflap
autoreconf-2.61 -f
cd ..
for dir in fixincludes intl libmudflap; do
cd $dir
rm -f config.in
autoheader-2.61
cd ..
done
# Rebuild libtool files
rm config.guess config.sub ltmain.sh
libtoolize
# Rebuild bison files
# Workaround for bison being too new
sed -i 's/YYLEX/yylex()/' gcc/c-parse.y
rm gcc/c-parse.c
rm gcc/gengtype-yacc.{c,h}
rm intl/plural.c
# Rebuild flex generated files
rm gcc/gengtype-lex.c
# Remove translation catalogs
rm gcc/po/*.gmo
}
src_configure() {
mkdir build
cd build
CC=tcc CFLAGS="-D HAVE_ALLOCA_H" ../configure \
--prefix="${PREFIX}" \
--libdir="${PREFIX}"/lib/musl \
--build=i386-unknown-linux-gnu \
--host=i386-unknown-linux-gnu \
--disable-shared \
--disable-nls \
--disable-libmudflap
cd ..
sed -i 's/C_alloca/alloca/g' libiberty/alloca.c
sed -i 's/C_alloca/alloca/g' include/libiberty.h
}
src_compile() {
mkdir -p /usr/
ln -sf "${PREFIX}"/include /usr/include
make -C build LIBGCC2_INCLUDES=-I"${PREFIX}/include/musl"
}
src_install() {
make -C build install
}

View file

@ -12,6 +12,8 @@ set -e
build automake-1.9.6 stage1.sh
build automake-1.9.6 stage2.sh
build gcc-4.0.4 stage1.sh
echo "Bootstrapping completed."
exec env - PATH=/after/bin PS1="\w # " bash -i