Skip to content

Commit 3c96a72

Browse files
committed
Patched critical bug in GCC-10 series toolchains for bullseye (Fixes #90)
- Implemented workflow to directly download patched GCC-10 source master branch from git when compiling bullseye toolchains. - For more information on this bug, see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101723
1 parent 5f2dd15 commit 3c96a72

File tree

6 files changed

+50
-16
lines changed

6 files changed

+50
-16
lines changed

build-scripts/CI/CICTB_32b

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,8 +205,15 @@ if [ ! -d "gdb-$GDB_VERSION" ]; then
205205
rm ./*.tar.*
206206
fi
207207
if [ ! -d "gcc-$GCC_VERSION" ]; then
208-
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
209-
tar xf gcc-"$GCC_VERSION".tar.gz
208+
# Download patched GCC 10 series for bullseye
209+
if [ "$RPIOS_TYPE" = "bullseye" ] && [[ "$GCC_VERSION" =~ ^10.* ]] && [ "$GCC_VERSION" != "10.2.0" ]; then
210+
echo "Downloading patched GCC-10!"
211+
git clone https://sourceware.org/git/gcc.git --branch releases/gcc-10
212+
mv gcc gcc-$GCC_VERSION
213+
else
214+
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
215+
tar xf gcc-"$GCC_VERSION".tar.gz
216+
fi
210217
cd gcc-"$GCC_VERSION" || exit
211218
mkdir -p build
212219
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'

build-scripts/CI/CICTB_64b

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,15 @@ if [ ! -d "gdb-$GDB_VERSION" ]; then
163163
rm ./*.tar.*
164164
fi
165165
if [ ! -d "gcc-$GCC_VERSION" ]; then
166-
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then
167-
wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz
166+
# Download patched GCC 10 series for bullseye
167+
if [ "$RPIOS_TYPE" = "bullseye" ] && [[ "$GCC_VERSION" =~ ^10.* ]] && [ "$GCC_VERSION" != "10.2.0" ]; then
168+
echo "Downloading patched GCC-10!"
169+
git clone https://sourceware.org/git/gcc.git --branch releases/gcc-10
170+
mv gcc gcc-$GCC_VERSION
171+
else
172+
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
173+
tar xf gcc-"$GCC_VERSION".tar.gz
168174
fi
169-
tar xf gcc-"$GCC_VERSION".tar.gz
170175
cd gcc-"$GCC_VERSION" || exit
171176
mkdir -p build
172177
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'

build-scripts/CI/CINTB_32b

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,15 @@ if [ ! -d "gdb-$GDB_VERSION" ]; then
186186
rm ./*.tar.*
187187
fi
188188
if [ ! -d "gcc-$GCC_VERSION" ]; then
189-
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then
190-
wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz
189+
# Download patched GCC 10 series for bullseye
190+
if [ "$RPIOS_TYPE" = "bullseye" ] && [[ "$GCC_VERSION" =~ ^10.* ]] && [ "$GCC_VERSION" != "10.2.0" ]; then
191+
echo "Downloading patched GCC-10!"
192+
git clone https://sourceware.org/git/gcc.git --branch releases/gcc-10
193+
mv gcc gcc-$GCC_VERSION
194+
else
195+
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
196+
tar xf gcc-"$GCC_VERSION".tar.gz
191197
fi
192-
tar xf gcc-"$GCC_VERSION".tar.gz
193198
cd gcc-"$GCC_VERSION" || exit
194199
mkdir -p build
195200
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'

build-scripts/CI/CINTB_64b

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,10 +154,15 @@ if [ ! -d "gdb-$GDB_VERSION" ]; then
154154
rm ./*.tar.*
155155
fi
156156
if [ ! -d "gcc-$GCC_VERSION" ]; then
157-
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then
158-
wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz
157+
# Download patched GCC 10 series for bullseye
158+
if [ "$RPIOS_TYPE" = "bullseye" ] && [[ "$GCC_VERSION" =~ ^10.* ]] && [ "$GCC_VERSION" != "10.2.0" ]; then
159+
echo "Downloading patched GCC-10!"
160+
git clone https://sourceware.org/git/gcc.git --branch releases/gcc-10
161+
mv gcc gcc-$GCC_VERSION
162+
else
163+
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
164+
tar xf gcc-"$GCC_VERSION".tar.gz
159165
fi
160-
tar xf gcc-"$GCC_VERSION".tar.gz
161166
cd gcc-"$GCC_VERSION" || exit
162167
mkdir -p build
163168
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'

build-scripts/RTBuilder_32b

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,15 @@ if [ ! -d "gdb-$GDB_VERSION" ]; then
220220
rm ./*.tar.*
221221
fi
222222
if [ ! -d "gcc-$GCC_VERSION" ]; then
223-
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
224-
tar xf gcc-"$GCC_VERSION".tar.gz
223+
# Download patched GCC 10 series for bullseye
224+
if [ "$RPIOS_TYPE" = "bullseye" ] && [[ "$GCC_VERSION" =~ ^10.* ]] && [ "$GCC_VERSION" != "10.2.0" ]; then
225+
echo "Downloading patched GCC-10!"
226+
git clone https://sourceware.org/git/gcc.git --branch releases/gcc-10
227+
mv gcc gcc-$GCC_VERSION
228+
else
229+
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
230+
tar xf gcc-"$GCC_VERSION".tar.gz
231+
fi
225232
cd gcc-"$GCC_VERSION" || exit
226233
mkdir -p build
227234
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'

build-scripts/RTBuilder_64b

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,10 +205,15 @@ if [ ! -d "gdb-$GDB_VERSION" ]; then
205205
rm ./*.tar.*
206206
fi
207207
if [ ! -d "gcc-$GCC_VERSION" ]; then
208-
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then
209-
wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz
208+
# Download patched GCC 10 series for bullseye
209+
if [ "$RPIOS_TYPE" = "bullseye" ] && [[ "$GCC_VERSION" =~ ^10.* ]] && [ "$GCC_VERSION" != "10.2.0" ]; then
210+
echo "Downloading patched GCC-10!"
211+
git clone https://sourceware.org/git/gcc.git --branch releases/gcc-10
212+
mv gcc gcc-$GCC_VERSION
213+
else
214+
if [ ! -f "gcc-$GCC_VERSION.tar.gz" ]; then wget -q --no-check-certificate https://ftp.gnu.org/gnu/gcc/gcc-"$GCC_VERSION"/gcc-"$GCC_VERSION".tar.gz; fi
215+
tar xf gcc-"$GCC_VERSION".tar.gz
210216
fi
211-
tar xf gcc-"$GCC_VERSION".tar.gz
212217
cd gcc-"$GCC_VERSION" || exit
213218
mkdir -p build
214219
sed -i contrib/download_prerequisites -e '/base_url=/s/ftp/http/'

0 commit comments

Comments
 (0)