epiphany-elf-gcc
The package builds GCC from official GNU and Sourceware sources, which are legitimate project hosts despite not being on the whitelist; the source tarballs are verified with sha256sums and used to compile a cross-compiler, posing no remote code execution or supply-chain risk.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package builds GCC from official GNU and Sourceware sources, which are legitimate project hosts despite not being on the whitelist; the source tarballs are verified with sha256sums and used to compile a cross-compiler, posing no remote code execution or supply-chain risk.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:20
ftp://sourceware.org/pub/newlib/newlib-$_newlibver.tar.gz)
PKGBUILD
1 offending line(s) highlighted# Maintainer: Mateusz Kaczanowski <kaczanowski.mateusz@gmail.com>
# Adapted from arm-none-eabi- by Anatol Pomozov
_target=epiphany-elf
pkgname=$_target-gcc
pkgver=9.2
pkgrel=1
_snapshot=9-20200111
_newlibver=3.1.0
pkgdesc='The GNU Compiler Collection - cross compiler for the Adapteva Epiphany target'
arch=(i686 x86_64 armv7h)
url='http://gcc.gnu.org/'
license=(GPL LGPL FDL)
depends=($_target-binutils libmpc)
makedepends=(gmp mpfr)
#checkdepends=(dejagnu)
options=(!emptydirs !strip staticlibs)
source=(#ftp://gcc.gnu.org/pub/gcc/releases/gcc-$pkgver/gcc-$pkgver.tar.bz2
ftp://gcc.gnu.org/pub/gcc/snapshots/$_snapshot/gcc-$_snapshot.tar.xz
ftp://sourceware.org/pub/newlib/newlib-$_newlibver.tar.gz)
sha256sums=('f3963e5f92b5f79cd8316dd8c6c334e3992bbda0ee545914bd7305c3137a29f5'
'fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a')
if [ -n "$_snapshot" ]; then
_basedir=gcc-$_snapshot
else
_basedir=gcc-$pkgver
fi
prepare() {
cd "$srcdir/$_basedir"
echo $pkgver > gcc/BASE-VER
# Move newlib and libgloss to gcc source directory
mv "$srcdir"/newlib-$_newlibver/newlib "$srcdir/$_basedir"
mv "$srcdir"/newlib-$_newlibver/libgloss "$srcdir/$_basedir"
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" "$srcdir"/$_basedir/{libiberty,gcc}/configure
}
build() {
cd $_basedir
mkdir -p build
cd build
export CFLAGS_FOR_TARGET='-O2 -g -pipe'
export CXXFLAGS_FOR_TARGET='-O2 -g -pipe'
# disable-libcc1 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66955
../configure --target=$_target \
--prefix=/usr \
--libexecdir=/usr/lib \
--with-pkgversion='Arch Repository' \
--with-bugurl='https://bugs.archlinux.org/' \
--enable-multilib \
--enable-interwork \
--enable-languages=c,c++ \
--with-newlib \
--with-gnu-as \
--with-gnu-ld \
--disable-nls \
--disable-libcc1 \
--with-headers=newlib/libc/include \
--disable-werror
make
}
check() {
cd $_basedir/build
}
package() {
cd $_basedir/build
make DESTDIR="$pkgdir" install -j1
# Strip host objects but do not touch target one (strip corrupts access.o in libepiphany.a)
find "$pkgdir/usr/lib" -executable -type f -exec /usr/bin/strip --strip-debug '{}' \;
find "$pkgdir/usr/bin" -executable -type f -exec /usr/bin/strip --strip-debug '{}' \;
# Remove files that conflict with host gcc package
rm -r "$pkgdir"/usr/share/man/man7
rm -r "$pkgdir"/usr/share/info
rm -r "$pkgdir"/usr/share/gcc-$pkgver
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |