mips64-ultra-elf-gcc
maintainer valandil
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package builds GCC for a custom target from official sources and a public Git repo; the non-standard host is GitHub via git+, which is trustworthy for this use, and no unverifiable executables or malicious payloads are involved.
Triggered rules
LOW
AI review downgraded a static finding
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 for a custom target from official sources and a public Git repo; the non-standard host is GitHub via git+, which is trustworthy for this use, and no unverifiable executables or malicious payloads are involved.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:19
"https://libisl.sourceforge.io/isl-${_islver}.tar.bz2"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Joey Dumont <joey.dumont@gmail.com>
2
_target=mips64-ultra-elf
3
pkgname=${_target}-gcc
4
_gccver=15.2.0
5
_islver=0.27
6
pkgver=15.2.0_r225.be7ccd0
7
pkgrel=1
8
pkgdesc="The GNU Compiler Collection (${_target})"
9
arch=('x86_64')
10
license=('GPL' 'LGPL' 'FDL')
11
url="http://www.gnu.org/software/gcc/"
12
depends=(libmpc zstd)
13
makedepends=(gmp mpfr git "${_target}-binutils" "${_target}-newlib")
14
conflicts=("${_target}-gcc-stage1")
15
provides=("${_target}-gcc-stage1")
16
replaces=("${_target}-gcc-stage1")
17
options=(!emptydirs)
18
source=("http://gcc.gnu.org/pub/gcc/releases/gcc-${_gccver}/gcc-${_gccver}.tar.xz"
19
"https://libisl.sourceforge.io/isl-${_islver}.tar.bz2"
20
"git+https://github.com/glankk/n64.git#branch=n64-ultra"
21
"gcc13-Wno-format-security.patch")
22
sha256sums=('438fd996826b0c82485a29da03a72d71d6e3541a83ec702df4271f6fe025d24e'
23
'626335529331f7c89fec493de929e2e92fb3d8cc860fc7af554e0518ee0029ee'
24
'SKIP'
25
'75bcf36e10fd50f7b21d80db4fcc9b58d2c658f2c749b7cf2f9369b31f147a6d')
26
27
pkgver() {
28
cd "${srcdir}/n64/"
29
printf "%s_r%s.%s" "${_gccver}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
30
}
31
32
prepare() {
33
cd "gcc-${_gccver}"
34
35
# link isl for in-tree builds
36
ln -s "../isl-$_islver" isl
37
38
echo "${_gccver}" > gcc/BASE-VER
39
40
# hack! - some configure tests for header files using "$CPP $CPPFLAGS"
41
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure
42
43
# -- Patch Werror=format-security issues.
44
patch --strip=1 --input="$srcdir"/gcc13-Wno-format-security.patch
45
46
mkdir "${srcdir}"/build-gcc
47
48
# -- Copy the files from the source.
49
CP_DIR="${srcdir}/gcc-${_gccver}"
50
51
cd "${srcdir}/n64"
52
cp config/gcc/mips/* "${CP_DIR}/gcc/config/mips/"
53
cat config/gcc/config.gcc.ultra >> "${CP_DIR}/gcc/config.gcc"
54
55
}
56
57
build() {
58
cd build-gcc
59
60
export CFLAGS="$CFLAGS -Wno-format-security"
61
export CXXFLAGS="$CXXFLAGS -Wno-format-security"
62
export CFLAGS_FOR_TARGET="-Os -g -ffunction-sections -fdata-sections"
63
export CXXFLAGS_FOR_TARGET="-Os -g -ffunction-sections -fdata-sections"
64
65
"${srcdir}"/gcc-${_gccver}/configure \
66
--prefix=/usr \
67
--libdir=/usr/${_target}/lib \
68
--libexecdir=/usr/${_target}/lib \
69
--target=${_target} \
70
--host="$CHOST" \
71
--build="$CHOST" \
72
--with-arch=vr4300 \
73
--with-abi=32 \
74
--with-sysroot=/usr/${_target}/n64-sysroot/ \
75
--enable-languages=c,c++,lto \
76
--enable-sjlj-exceptions \
77
--with-gnu-as \
78
--with-gnu-ld \
79
--with-python-dir=share/gcc-${_target} \
80
--with-newlib \
81
--without-included-gettext \
82
--enable-checking=release \
83
--disable-build-format-warnings \
84
--disable-decimal-float \
85
--disable-gold \
86
--disable-libatomic \
87
--disable-libgcj \
88
--disable-libgomp \
89
--disable-libitm \
90
--disable-libquadmath \
91
--disable-libquadmath-support \
92
--disable-libsanitizer \
93
--disable-libssp \
94
--disable-libunwind-exceptions \
95
--disable-libvtv \
96
--enable-multilib \
97
--disable-nls \
98
--disable-shared \
99
--disable-threads \
100
--disable-werror \
101
--enable-plugin
102
103
make
104
}
105
106
package() {
107
cd build-gcc
108
109
make DESTDIR="${pkgdir}" install
110
111
# strip target binaries
112
find "$pkgdir"/usr/${_target}/lib/gcc/$_target/${_gccver} "$pkgdir"/usr/$_target/lib -type f -and \( -name \*.a -or -name \*.o \) -exec $_target-objcopy -R .comment -R .note -R .debug_info -R .debug_aranges -R .debug_pubnames -R .debug_pubtypes -R .debug_abbrev -R .debug_line -R .debug_str -R .debug_ranges -R .debug_loc '{}' \;
113
114
# strip host binaries
115
find "$pkgdir"/usr/bin/ "$pkgdir"/usr/${_target}/lib/gcc/$_target/${_gccver} -type f -and \( -executable \) -exec strip '{}' \;
116
117
# Remove files that conflict with host gcc package
118
rm -r "$pkgdir"/usr/share/man/man7
119
rm -r "$pkgdir"/usr/share/info
120
rm "$pkgdir"/usr/${_target}/lib/libcc1.*
121
}
122
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |