gcc: 12.3.0 -> 13.2.0

This commit is contained in:
Tim Biermann 2023-08-21 22:17:01 +02:00
parent 2f86552fe8
commit 4c88075440
Signed by: tb
GPG Key ID: 42F8B4E30B673606
4 changed files with 1622 additions and 1607 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,7 @@
untrusted comment: verify with /etc/ports/core.pub
RWRJc1FUaeVeqtPAIajax7DteNGbGw/OXlP0jA8jUZTLGqB2+RjcC9Q/8WAzeuZw7AX74b0CSFkGxVwPb/FGJIABYP7Kc1cXiwo=
SHA256 (Pkgfile) = c56690e4fe1685e4552cc167b3af8c51762726eed976ccadeaa531af8b06939b
SHA256 (.footprint) = 3de26289ca82590fc7e76e08f53fcbb0753f1aaf698f9c060b61e148219952da
SHA256 (gcc-12.3.0.tar.xz) = 949a5d4f99e786421a93b532b22ffab5578de7321369975b91aec97adfda8c3b
RWRJc1FUaeVeqkSBWlmq3YCjdqtpBDl+Q3Z1TvgXaUTeMuN6kDDyl8P25I3Dnyz3wp01F8WhsMcNLmFRtJcIik6+PeFgPU4cPAU=
SHA256 (Pkgfile) = efd40096e516be84be45f19596c0f438d35d7fb963ab2a3b69302ca687f4b20d
SHA256 (.footprint) = 199179dc5f01316b9f105ba732b0b964fc7403ba46239790a23396f83de7ac06
SHA256 (gcc-13.2.0.tar.xz) = e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da
SHA256 (gcc-nocheck-fixincludes.patch) = 850a71d2c64b9f2bec31821bd972bf89c2d57764faf64948100eaf474fd63bbb
SHA256 (gcc-4.7.3-multilib-dirs.patch) = 149b151999d0afad909ca0d1eaf1f9a81c9cd6499e56989ec4fc574d108eeef6
SHA256 (fix-nested-generic-lambda.patch) = f28f71ea934097372907c322f991f7747cbcc3ec777f8dbd2286be1c49c2c81d

View File

@ -4,57 +4,67 @@
# Depends on: libmpc zlib zstd
name=gcc
version=12.3.0
release=2
version=13.2.0
release=1
source=(https://sourceware.org/pub/gcc/releases/gcc-$version/$name-$version.tar.xz
$name-nocheck-fixincludes.patch $name-4.7.3-multilib-dirs.patch
fix-nested-generic-lambda.patch)
$name-nocheck-fixincludes.patch $name-4.7.3-multilib-dirs.patch)
build() {
patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch
patch -d $name-$version -p1 -i $SRC/$name-4.7.3-multilib-dirs.patch
patch -d $name-$version -p1 -i $SRC/fix-nested-generic-lambda.patch
patch -d $name-$version -p1 -i $SRC/$name-nocheck-fixincludes.patch
patch -d $name-$version -p1 -i $SRC/$name-4.7.3-multilib-dirs.patch
# pipe fails tests
CFLAGS=${CFLAGS/-pipe/}
CXXFLAGS=${CXXFLAGS/-pipe/}
sed -i 's@\./fixinc\.sh@-c true@' gcc-$version/Makefile.in
mkdir build
cd build
../$name-$version/configure \
--prefix=/usr \
--libexecdir=/usr/lib \
--enable-languages=c,c++,lto \
--enable-threads=posix \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--enable-shared \
--enable-lto \
--with-x=no \
--enable-multilib \
--enable-plugin \
--enable-default-pie \
--enable-default-ssp \
--with-pkgversion="CRUX-x86_64-multilib" \
--with-system-zlib \
--disable-nls
make bootstrap
make -j1 DESTDIR=$PKG install
# pipe fails tests
CFLAGS=${CFLAGS/-pipe/}
CXXFLAGS=${CXXFLAGS/-pipe/}
install -d $PKG/lib
ln -sf ../usr/bin/cpp $PKG/lib/cpp
ln -sf gcc $PKG/usr/bin/cc
ln -sf g++ $PKG/usr/bin/c++
mkdir build
cd build
../$name-$version/configure \
--prefix=/usr \
--libexecdir=/usr/lib \
--with-build-config=bootstrap-lto \
--enable-stage1-languages=c,lto \
--enable-languages=c,c++,lto \
--enable-threads=posix \
--with-linker-hash-style=gnu \
--enable-link-serialization=1 \
--enable-linker-build-id \
--enable-gnu-indirect-function \
--enable-__cxa_atexit \
--enable-clocale=gnu \
--enable-shared \
--enable-lto \
--with-x=no \
--enable-multilib \
--enable-plugin \
--enable-default-pie \
--enable-default-ssp \
--with-pkgversion="CRUX-x86_64-multilib" \
--with-system-zlib \
--disable-nls
mv $PKG/usr/lib/gcc/*/$version/include-fixed/{limits.h,syslimits.h} $PKG/usr/lib/gcc/*/$version/include/
rm -r $PKG/usr/share/{info,$name-$version}
rm -r $PKG/usr/bin/*-linux-gnu-*
rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
make -O STAGE1_CFLAGS="-O2" \
BOOT_CFLAGS="$CFLAGS" \
BOOT_LDFLAGS="$LDFLAGS" \
LDFLAGS_FOR_TARGET="$LDFLAGS" \
bootstrap
make -j1 DESTDIR=$PKG install
for D in lib{,32}; do
install -d -m 0755 $PKG/usr/share/gdb/auto-load/usr/${D}
mv $PKG/usr/${D}/libstdc++.so.*-gdb.py $PKG/usr/share/gdb/auto-load/usr/${D}
done
install -d $PKG/lib
ln -sf ../usr/bin/cpp $PKG/lib/cpp
ln -sf gcc $PKG/usr/bin/cc
ln -sf g++ $PKG/usr/bin/c++
sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib{,32}/{libstdc++.la,libsupc++.la}
rm -r $PKG/usr/share/{info,$name-$version}
rm -r $PKG/usr/bin/*-linux-gnu-*
rm -r $PKG/usr/lib/gcc/*/$version/{install-tools,include-fixed}
for D in lib{,32}; do
install -d -m 0755 $PKG/usr/share/gdb/auto-load/usr/${D}
mv $PKG/usr/${D}/libstdc++.so.*-gdb.py $PKG/usr/share/gdb/auto-load/usr/${D}
done
sed -i "s|-L$SRC[^ ]* ||g" $PKG/usr/lib{,32}/{libstdc++.la,libsupc++.la}
}

View File

@ -1,25 +0,0 @@
X-Git-Url: https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff_plain;f=gcc%2Fcp%2Fpt.cc;h=79bc9c014c8504b7dddf094c4e2f36b4fa50d24b;hp=c7f4a95a7237ff91cbc0d81dc78de1ca35579b44;hb=396a4e76afec30d2461638f569cae18955eb4ad2;hpb=9410a52061ffe4a9e6ef8fd82f9c21d1874ff589
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index c7f4a95a723..79bc9c014c8 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -4106,10 +4106,14 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data)
case TAG_DEFN:
t = TREE_TYPE (t);
if (CLASS_TYPE_P (t))
- /* Local class, need to look through the whole definition. */
- for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
- cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
- ppd, ppd->visited);
+ {
+ /* Local class, need to look through the whole definition.
+ TYPE_BINFO might be unset for a partial instantiation. */
+ if (TYPE_BINFO (t))
+ for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
+ cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
+ ppd, ppd->visited);
+ }
else
/* Enum, look at the values. */
for (tree l = TYPE_VALUES (t); l; l = TREE_CHAIN (l))