gcc10
MEDIUM
maintainer severach
4 votes
scanned 2026-09-23 19:40:47.268111
Why flagged
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
Triggered rules
Medium
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:25
"https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz"{,.sig}
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
2
# Contributor: Jonathon Fernyhough <jonathon+m2x+dev>
3
# Contributor: Giancarlo Razzolini <grazzolini@archlinux.org>
4
# Contributor: Frederik Schwan <freswa at archlinux dot org>
5
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
6
# Contributor: Allan McRae <allan@archlinux.org>
7
# Contributor: Daniel Kozak <kozzi11@gmail.com>
8
9
set -u
10
pkgbase='gcc10'
11
pkgname=("${pkgbase}" "${pkgbase}-libs" "${pkgbase}-fortran")
12
pkgver='10.5.0'
13
_majorver="${pkgver%%.*}"
14
_islver='0.24'
15
pkgrel='2'
16
pkgdesc="The GNU Compiler Collection (${_majorver}.x.x)"
17
arch=('x86_64')
18
url='https://gcc.gnu.org'
19
license=('GPL-3.0-or-later' 'LGPL-3.0+' 'GFDL-1.3' 'LicenseRef-custom')
20
makedepends=('binutils' 'doxygen' 'git' 'libmpc' 'python')
21
checkdepends=('dejagnu' 'inetutils')
22
options=('!emptydirs' '!strip' '!buildflags')
23
options+=('!lto')
24
source=(
25
"https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz"{,.sig}
26
"https://sourceware.org/pub/gcc/infrastructure/isl-${_islver}.tar.bz2"
27
'c89'
28
'c99'
29
'78_all-libsanitizer-Fix-build-with-glibc-2.42.patch'
30
'79_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch'
31
'0000-kernel-7.1-remove-linux-scc.patch'
32
)
33
validpgpkeys=(
34
'F3691687D867B81B51CE07D9BBE43771487328A9' # bpiotrowski@archlinux.org
35
'86CFFCA918CF3AF47147588051E8B148A9999C34' # evangelos@foutrelis.com
36
'13975A70E63C361C73AE69EF6EEB81F8981C74C7' # richard.guenther@gmail.com
37
'D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62' # Jakub Jelinek <jakub@redhat.com>
38
)
39
md5sums=('c7d1958570fbd1cd859b015774b9987a'
40
'SKIP'
41
'dd2f7b78e118c25bd96134a52aae7f4d'
42
'd5fd2672deb5f97a2c4bdab486470abe'
43
'd99ba9f4bd860e274f17040ee51cd1bf'
44
'1cf5f363b18a5a9d821cc8f95c4fc823'
45
'e0276415c53a136dd94a597558fb1b0d'
46
'8bc105c741a8c0b191bcb933e9325f5f')
47
b2sums=('9b71761f4015649514677784443886e59733ac3845f7dfaa4343f46327d36c08c403c444b9e492b870ac0b3f2e3568f972b7700a0ef05a497fb4066079b3143b'
48
'SKIP'
49
'88a178dad5fe9c33be5ec5fe4ac9abc0e075a86cff9184f75cedb7c47de67ce3be273bd0db72286ba0382f4016e9d74855ead798ad7bccb015b853931731828e'
50
'a76d19c7830b0a141302890522086fc1548c177611501caac7e66d576e541b64ca3f6e977de715268a9872dfdd6368a011b92e01f7944ec0088f899ac0d2a2a5'
51
'02b655b5668f7dea51c3b3e4ff46d5a4aee5a04ed5e26b98a6470f39c2e98ddc0519bffeeedd982c31ef3c171457e4d1beaff32767d1aedd9346837aac4ec3ee'
52
'57ce372a8f541d332beedfd6a54d9014f6457a7c486cd3f6f41e3ffbe716b8fa5d18cada4021b5e05a548e1ddcdbf0b11f6ac5b3525e421617df20a0d0fe8dbd'
53
'1339c1b5d6e8000824625cdee4f5be2ace66f3b9eb1bbe20e66a4a8a6c02a149b9670da0703b2a4d87494883fbced3ff4408ecc453ee313244361759c0b3bbc1'
54
'e9dc5a52eb0fc80570738d1f06ee9798300c8a26a186cb682e9359ce40a97cf49c0e4c309244ddbbace5dab1d488b1cba33a1c9656f11de57bfa3081fb292153')
55
56
if [ -n "${_snapshot:-}" ]; then
57
_basedir="gcc-${_snapshot}"
58
else
59
_basedir="gcc-${pkgver}"
60
fi
61
62
_fn_setlibdir() {
63
_libdir="usr/lib/gcc/${CHOST}/${pkgver%%+*}"
64
}
65
66
prepare() {
67
local -
68
set -u
69
cd "${_basedir}"
70
71
# link isl for in-tree build
72
ln -s "../isl-${_islver}" 'isl'
73
74
# Do not run fixincludes
75
sed -e 's@\./fixinc\.sh@-c true@' -i 'gcc/Makefile.in'
76
77
# Arch Linux installs x86_64 libraries /lib
78
case "${CARCH}" in
79
'x86_64') sed -e '/m64=/ s/lib64/lib/' -i 'gcc/config/i386/t-linux64' ;;
80
esac
81
82
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
83
sed -e '/ac_cpp=/s/$CPPFLAGS/$CPPFLAGS -O2/' -i 'gcc/configure'
84
85
# Apply patches
86
local _pt
87
for _pt in "${source[@]%%::*}"; do
88
_pt="${_pt##*/}"
89
case "${_pt}" in
90
*.patch)
91
set +u; msg2 "*** Applying patch ${_pt}"; set -u
92
patch --no-backup-if-mismatch -Np1 -i "${srcdir}/${_pt}"
93
;;
94
esac
95
done
96
#cd ..; cp -pr "${_basedir}" 'a'; ln -s "${_basedir}" 'b'; false
97
#diff -pNaru5 'a' 'b' > 0000-$RANDOM.patch
98
99
rm -rf 'gcc-build'
100
mkdir 'gcc-build'
101
}
102
103
build() {
104
local -
105
set -u
106
cd "${_basedir}/gcc-build"
107
108
if [ ! -s 'Makefile' ]; then
109
# The following options are one per line, mostly sorted so they are easy to diff compare to other gcc packages.
110
local _conf=(
111
--build="${CHOST}"
112
--disable-libssp
113
--disable-libstdcxx-pch
114
--disable-libunwind-exceptions
115
--disable-multilib
116
--disable-werror
117
--enable-__cxa_atexit
118
--enable-cet='auto'
119
--enable-checking='release'
120
--enable-clocale='gnu'
121
--enable-default-pie
122
--enable-default-ssp
123
--enable-gnu-indirect-function
124
--enable-gnu-unique-object
125
--enable-languages='c,c++,fortran,lto'
126
--enable-linker-build-id
127
--enable-lto
128
--enable-plugin
129
--enable-shared
130
--enable-threads='posix'
131
--enable-version-specific-runtime-libs
132
--infodir='/usr/share/info'
133
--libdir='/usr/lib'
134
--libexecdir='/usr/lib'
135
--mandir='/usr/share/man'
136
--program-suffix="-${_majorver}"
137
--with-bugurl="https://aur.archlinux.org/packages/${pkgname}/"
138
--with-isl
139
--with-linker-hash-style='gnu'
140
--with-pkgversion="Arch Linux ${pkgver}-${pkgrel}"
141
--with-system-zlib
142
--prefix='/usr'
143
)
144
../configure "${_conf[@]}"
145
146
#sed -e 's/^STAGE1_CXXFLAGS.*$/& -std=gnu++11/' -i 'Makefile'
147
fi
148
149
# The system stdc must be used when gcc links to some system libraries.
150
LD_PRELOAD='/usr/lib/libstdc++.so' \
151
nice -n1 make -s
152
153
set +u; msg 'Compile complete'; set -u
154
155
# make documentation
156
make -s -j1 -C "${CHOST}/libstdc++-v3/doc" 'doc-man-doxygen'
157
}
158
159
check_disabled() {
160
local -
161
set -u
162
cd "${_basedir}/gcc-build"
163
164
# disable libphobos test to avoid segfaults and other unfunny ways to waste my time
165
sed -e '/maybe-check-target-libphobos \\/d' -i 'Makefile'
166
167
# do not abort on error as some are "expected"
168
make -O -k check || :
169
../contrib/test_summary
170
}
171
172
package_gcc10-libs() {
173
local -
174
set -u
175
pkgdesc="Runtime libraries shipped by GCC (${_majorver}.x.x)"
176
depends=('glibc>=2.27')
177
options=('!emptydirs' '!strip')
178
provides=("libgfortran.so=${pkgver}" "libubsan.so=${pkgver}" "libasan.so=${pkgver}" "libtsan.so=${pkgver}" "liblsan.so=${pkgver}")
179
180
cd "${_basedir}/gcc-build"
181
LD_PRELOAD='/usr/lib/libstdc++.so' \
182
make -j1 -s -C "${CHOST}/libgcc" DESTDIR="${pkgdir}" 'install-shared'
183
local _libdir; _fn_setlibdir
184
mv "${pkgdir}/${_libdir}/../lib"/* "${pkgdir}/${_libdir}"
185
rmdir "${pkgdir}/${_libdir}/../lib"
186
rm -f "${pkgdir}/${_libdir}/libgcc_eh.a"
187
188
local _lib _libs=(
189
libatomic
190
libgfortran
191
libgomp
192
libitm
193
libquadmath
194
libsanitizer/{a,l,ub,t}san
195
libstdc++-v3/src
196
libvtv
197
)
198
for _lib in "${_libs[@]}"; do
199
make -j1 -s -C "${CHOST}/${_lib}" DESTDIR="${pkgdir}" 'install-toolexeclibLTLIBRARIES'
200
done
201
202
make -j1 -s -C "${CHOST}/libstdc++-v3/po" DESTDIR="${pkgdir}" install
203
204
# Install Runtime Library Exception
205
install -Dpm644 '../COPYING.RUNTIME' \
206
"${pkgdir}/usr/share/licenses/${pkgbase}-libs/RUNTIME.LIBRARY.EXCEPTION"
207
208
# remove conflicting files
209
rm -rf "${pkgdir}/usr/share/locale"
210
}
211
212
package_gcc10() {
213
local -
214
set -u
215
pkgdesc="The GNU Compiler Collection - C and C++ frontends (${_majorver}.x.x)"
216
depends=("${pkgbase}-libs=${pkgver}-${pkgrel}" 'binutils>=2.28' 'libmpc' 'zstd')
217
options=('!emptydirs' 'staticlibs')
218
219
cd "${_basedir}/gcc-build"
220
221
make -j1 -s -C 'gcc' DESTDIR="${pkgdir}" 'install-driver' 'install-cpp' 'install-gcc-ar' \
222
'c++.install-common' 'install-headers' 'install-plugin' 'install-lto-wrapper'
223
224
local _libdir; _fn_setlibdir
225
install -m755 -t "${pkgdir}/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1,gcov{,-tool}}
226
227
make -j1 -s -C "${CHOST}/libgcc" DESTDIR="${pkgdir}" install
228
rm -rf "${pkgdir}/${_libdir}/../lib"
229
230
make -j1 -s -C "${CHOST}/libstdc++-v3/src" DESTDIR="${pkgdir}" install
231
make -j1 -s -C "${CHOST}/libstdc++-v3/include" DESTDIR="${pkgdir}" install
232
make -j1 -s -C "${CHOST}/libstdc++-v3/libsupc++" DESTDIR="${pkgdir}" install
233
make -j1 -s -C "${CHOST}/libstdc++-v3/python" DESTDIR="${pkgdir}" install
234
rm -f "${pkgdir}/${_libdir}/"libstdc++.so*
235
236
make -j1 -s DESTDIR="${pkgdir}" 'install-fixincludes'
237
make -j1 -s -C 'gcc' DESTDIR="${pkgdir}" 'install-mkheaders'
238
239
make -j1 -s -C 'lto-plugin' DESTDIR="${pkgdir}" install
240
install -dm755 "${pkgdir}/${_libdir}/bfd-plugins/"
241
ln -s "/${_libdir}/liblto_plugin.so" \
242
"${pkgdir}/${_libdir}/bfd-plugins/"
243
244
make -j1 -s -C "${CHOST}/libgomp" DESTDIR="${pkgdir}" install-nodist_{libsubinclude,toolexeclib}HEADERS
245
make -j1 -s -C "${CHOST}/libitm" DESTDIR="${pkgdir}" 'install-nodist_toolexeclibHEADERS'
246
make -j1 -s -C "${CHOST}/libquadmath" DESTDIR="${pkgdir}" 'install-nodist_libsubincludeHEADERS'
247
make -j1 -s -C "${CHOST}/libsanitizer" DESTDIR="${pkgdir}" install-nodist_{saninclude,toolexeclib}HEADERS
248
make -j1 -s -C "${CHOST}/libsanitizer/asan" DESTDIR="${pkgdir}" 'install-nodist_toolexeclibHEADERS'
249
make -j1 -s -C "${CHOST}/libsanitizer/tsan" DESTDIR="${pkgdir}" 'install-nodist_toolexeclibHEADERS'
250
make -j1 -s -C "${CHOST}/libsanitizer/lsan" DESTDIR="${pkgdir}" 'install-nodist_toolexeclibHEADERS'
251
252
make -j1 -s -C 'libcpp' DESTDIR="${pkgdir}" install
253
make -j1 -s -C 'gcc' DESTDIR="${pkgdir}" 'install-po'
254
255
# many packages expect this symlink
256
ln -s "gcc-${_majorver}" "${pkgdir}/usr/bin/cc-${_majorver}"
257
258
# POSIX conformance launcher scripts for c89 and c99
259
install -Dm755 "${srcdir}/c89" "${pkgdir}/usr/bin/c89-${_majorver}"
260
install -Dm755 "${srcdir}/c99" "${pkgdir}/usr/bin/c99-${_majorver}"
261
262
# byte-compile python libraries
263
python -m 'compileall' "${pkgdir}/usr/share/gcc-${pkgver%%+*}/"
264
python -O -m 'compileall' "${pkgdir}/usr/share/gcc-${pkgver%%+*}/"
265
266
# Install Runtime Library Exception
267
install -d "${pkgdir}/usr/share/licenses/${pkgname}/"
268
ln -s "/usr/share/licenses/${pkgbase}-libs/RUNTIME.LIBRARY.EXCEPTION" \
269
"${pkgdir}/usr/share/licenses/${pkgname}/"
270
271
# Remove conflicting files
272
rm -rf "${pkgdir}/usr/share/locale"
273
}
274
275
package_gcc10-fortran() {
276
local -
277
set -u
278
pkgdesc="Fortran front-end for GCC (${_majorver}.x.x)"
279
depends=("${pkgbase}=${pkgver}-${pkgrel}")
280
281
cd "${_basedir}/gcc-build"
282
make -j1 -s -C "${CHOST}/libgfortran" DESTDIR="${pkgdir}" 'install-cafexeclibLTLIBRARIES' \
283
install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS}
284
make -j1 -s -C "${CHOST}/libgomp" DESTDIR="${pkgdir}" 'install-nodist_fincludeHEADERS'
285
make -j1 -s -C 'gcc' DESTDIR="${pkgdir}" 'fortran.install-common'
286
local _libdir; _fn_setlibdir
287
install -Dm755 'gcc/f951' "${pkgdir}/${_libdir}/f951"
288
289
ln -s "gfortran-${_majorver}" "${pkgdir}/usr/bin/f95-${_majorver}"
290
291
# Install Runtime Library Exception
292
install -d "${pkgdir}/usr/share/licenses/${pkgname}/"
293
ln -s "/usr/share/licenses/${pkgbase}-libs/RUNTIME.LIBRARY.EXCEPTION" \
294
"${pkgdir}/usr/share/licenses/${pkgname}/"
295
}
296
set +u
297
Changes since previous scan
--- PKGBUILD @ 2026-06-19 19:07+++ PKGBUILD @ 2026-09-23 19:40@@ -28,6 +28,7 @@ 'c99' '78_all-libsanitizer-Fix-build-with-glibc-2.42.patch' '79_all-sanitizer_common-Remove-reference-to-obsolete-termio.patch'+ '0000-kernel-7.1-remove-linux-scc.patch' ) validpgpkeys=( 'F3691687D867B81B51CE07D9BBE43771487328A9' # bpiotrowski@archlinux.org@@ -41,14 +42,16 @@ 'd5fd2672deb5f97a2c4bdab486470abe' 'd99ba9f4bd860e274f17040ee51cd1bf' '1cf5f363b18a5a9d821cc8f95c4fc823'- 'e0276415c53a136dd94a597558fb1b0d')+ 'e0276415c53a136dd94a597558fb1b0d'+ '8bc105c741a8c0b191bcb933e9325f5f') b2sums=('9b71761f4015649514677784443886e59733ac3845f7dfaa4343f46327d36c08c403c444b9e492b870ac0b3f2e3568f972b7700a0ef05a497fb4066079b3143b' 'SKIP' '88a178dad5fe9c33be5ec5fe4ac9abc0e075a86cff9184f75cedb7c47de67ce3be273bd0db72286ba0382f4016e9d74855ead798ad7bccb015b853931731828e' 'a76d19c7830b0a141302890522086fc1548c177611501caac7e66d576e541b64ca3f6e977de715268a9872dfdd6368a011b92e01f7944ec0088f899ac0d2a2a5' '02b655b5668f7dea51c3b3e4ff46d5a4aee5a04ed5e26b98a6470f39c2e98ddc0519bffeeedd982c31ef3c171457e4d1beaff32767d1aedd9346837aac4ec3ee' '57ce372a8f541d332beedfd6a54d9014f6457a7c486cd3f6f41e3ffbe716b8fa5d18cada4021b5e05a548e1ddcdbf0b11f6ac5b3525e421617df20a0d0fe8dbd'- '1339c1b5d6e8000824625cdee4f5be2ace66f3b9eb1bbe20e66a4a8a6c02a149b9670da0703b2a4d87494883fbced3ff4408ecc453ee313244361759c0b3bbc1')+ '1339c1b5d6e8000824625cdee4f5be2ace66f3b9eb1bbe20e66a4a8a6c02a149b9670da0703b2a4d87494883fbced3ff4408ecc453ee313244361759c0b3bbc1'+ 'e9dc5a52eb0fc80570738d1f06ee9798300c8a26a186cb682e9359ce40a97cf49c0e4c309244ddbbace5dab1d488b1cba33a1c9656f11de57bfa3081fb292153') if [ -n "${_snapshot:-}" ]; then _basedir="gcc-${_snapshot}"@@ -61,6 +64,7 @@ } prepare() {+ local - set -u cd "${_basedir}" @@ -89,14 +93,15 @@ ;; esac done+ #cd ..; cp -pr "${_basedir}" 'a'; ln -s "${_basedir}" 'b'; false+ #diff -pNaru5 'a' 'b' > 0000-$RANDOM.patch rm -rf 'gcc-build' mkdir 'gcc-build'-- set +u } build() {+ local - set -u cd "${_basedir}/gcc-build" @@ -149,10 +154,10 @@ # make documentation make -s -j1 -C "${CHOST}/libstdc++-v3/doc" 'doc-man-doxygen'- set +u } check_disabled() {+ local - set -u cd "${_basedir}/gcc-build" @@ -162,10 +167,10 @@ # do not abort on error as some are "expected" make -O -k check || : ../contrib/test_summary- set +u } package_gcc10-libs() {+ local - set -u pkgdesc="Runtime libraries shipped by GCC (${_majorver}.x.x)" depends=('glibc>=2.27')@@ -202,10 +207,10 @@ # remove conflicting files rm -rf "${pkgdir}/usr/share/locale"- set +u } package_gcc10() {+ local - set -u pkgdesc="The GNU Compiler Collection - C and C++ frontends (${_majorver}.x.x)" depends=("${pkgbase}-libs=${pkgver}-${pkgrel}" 'binutils>=2.28' 'libmpc' 'zstd')@@ -265,10 +270,10 @@ # Remove conflicting files rm -rf "${pkgdir}/usr/share/locale"- set +u } package_gcc10-fortran() {+ local - set -u pkgdesc="Fortran front-end for GCC (${_majorver}.x.x)" depends=("${pkgbase}=${pkgver}-${pkgrel}")@@ -287,7 +292,6 @@ install -d "${pkgdir}/usr/share/licenses/${pkgname}/" ln -s "/usr/share/licenses/${pkgbase}-libs/RUNTIME.LIBRARY.EXCEPTION" \ "${pkgdir}/usr/share/licenses/${pkgname}/"- set +u } set +u Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-23 19:40:47 | Medium | 1 |
| 2026-06-19 19:07:35 | Clean | 2 |
| 2026-06-18 16:11:54 | Medium | 1 |