# Automatically generated aport, do not edit! # Generator: pmbootstrap aportgen gcc-armhf # Based on: main/gcc (from Alpine) CTARGET_ARCH=armhf CTARGET="$(arch_to_hostspec ${CTARGET_ARCH})" LANG_D=false LANG_OBJC=false LANG_JAVA=false LANG_GO=false LANG_FORTRAN=false LANG_ADA=false options="!strip !tracedeps" # abuild doesn't try to tries to install "build-base-$CTARGET_ARCH" # when this variable matches "no*" BOOTSTRAP="nobuildbase" # abuild will only cross compile when this variable is set, but it # needs to find a valid package database in there for dependency # resolving, so we set it to /. CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-armhf _pkgbase=10.2.1 pkgver=10.2.1_git20210318 [ "$BOOTSTRAP" = "nolibc" ] && pkgname="gcc-pass2" [ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross="" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armhf pkgrel=0 pkgdesc="Stage2 cross-compiler for armhf" url="https://gcc.gnu.org" arch="x86_64" license="GPL-2.0-or-later LGPL-2.1-or-later" _gccrel=$pkgver-r$pkgrel depends="isl binutils-armhf mpc1" makedepends_build="gcc g++ paxmark bison flex texinfo gawk zip gmp-dev mpfr-dev mpc1-dev zlib-dev" makedepends_host="linux-headers gmp-dev mpfr-dev mpc1-dev isl-dev zlib-dev musl-dev-armhf binutils-armhf" subpackages="g++-armhf:gpp" [ "$CHOST" = "$CTARGET" ] && subpackages="gcc-doc$_target" replaces="libstdc++ binutils" : "${LANG_CXX:=true}" : "${LANG_D:=true}" : "${LANG_OBJC:=true}" : "${LANG_GO:=true}" : "${LANG_FORTRAN:=true}" : "${LANG_ADA:=true}" _libgomp=true _libgcc=true _libatomic=true _libitm=true if [ "$CHOST" != "$CTARGET" ]; then if [ "$BOOTSTRAP" = nolibc ]; then LANG_CXX=false LANG_ADA=false _libgcc=false _builddir="$srcdir/build-cross-pass2" else _builddir="$srcdir/build-cross-final" fi LANG_OBJC=false LANG_GO=false LANG_FORTRAN=false LANG_D=false _libgomp=false _libatomic=false _libitm=false # reset target flags (should be set in crosscreate abuild) # fixup flags. seems gcc treats CPPFLAGS as global without # _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS. export CFLAGS="$CPPFLAGS $CFLAGS" export CXXFLAGS="$CPPFLAGS $CXXFLAGS" unset CPPFLAGS export CFLAGS_FOR_TARGET=" " export CXXFLAGS_FOR_TARGET=" " export LDFLAGS_FOR_TARGET=" " STRIP_FOR_TARGET="$CTARGET-strip" elif [ "$CBUILD" != "$CHOST" ]; then # fixup flags. seems gcc treats CPPFLAGS as global without # _FOR_xxx variants. wrap it in CFLAGS and CXXFLAGS. export CFLAGS="$CPPFLAGS $CFLAGS" export CXXFLAGS="$CPPFLAGS $CXXFLAGS" unset CPPFLAGS # reset flags and cc for build export CC_FOR_BUILD="gcc" export CXX_FOR_BUILD="g++" export CFLAGS_FOR_BUILD=" " export CXXFLAGS_FOR_BUILD=" " export LDFLAGS_FOR_BUILD=" " export CFLAGS_FOR_TARGET=" " export CXXFLAGS_FOR_TARGET=" " export LDFLAGS_FOR_TARGET=" " # Languages that do not need bootstrapping LANG_OBJC=false LANG_GO=false LANG_FORTRAN=false LANG_D=false STRIP_FOR_TARGET=${CROSS_COMPILE}strip _builddir="$srcdir/build-cross-native" else STRIP_FOR_TARGET=${CROSS_COMPILE}strip _builddir="$srcdir/build" fi # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets [ "$CARCH" = ppc64le ] && LANG_D=false # libitm has TEXTRELs in ARM build, so disable for now case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to # investigate further. We disable LANG_GO on mips64 as it requires # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 # currently on x86, x86_64 and ia64 _libquadmath=$LANG_FORTRAN case "$CTARGET_ARCH" in x86 | x86_64) _libquadmath=$LANG_FORTRAN ;; *) _libquadmath=false ;; esac # libatomic is a dependency for openvswitch $_libatomic && subpackages="$subpackages libatomic::$CTARGET_ARCH" $_libgcc && subpackages="$subpackages libgcc::$CTARGET_ARCH" $_libquadmath && subpackages="$subpackages libquadmath::$CTARGET_ARCH" if $_libgomp; then depends="$depends libgomp=$_gccrel" subpackages="$subpackages libgomp::$CTARGET_ARCH" fi _languages=c if $LANG_CXX; then _languages="$_languages,c++" fi if $LANG_D; then subpackages="$subpackages libgphobos::$CTARGET_ARCH gcc-gdc$_target:gdc" _languages="$_languages,d" makedepends_build="$makedepends_build libucontext-dev" fi if $LANG_OBJC; then subpackages="$subpackages libobjc::$CTARGET_ARCH gcc-objc$_target:objc" _languages="$_languages,objc" fi if $LANG_GO; then subpackages="$subpackages libgo::$CTARGET_ARCH gcc-go$_target:go" _languages="$_languages,go" fi if $LANG_FORTRAN; then subpackages="$subpackages libgfortran::$CTARGET_ARCH gfortran$_target:gfortran" _languages="$_languages,fortran" fi if $LANG_ADA; then subpackages="$subpackages libgnat-static:libgnatstatic:$CTARGET_ARCH libgnat::$CTARGET_ARCH gcc-gnat$_target:gnat" _languages="$_languages,ada" [ "$CBUILD" = "$CTARGET" ] && makedepends_build="$makedepends_build gcc-gnat-bootstrap" [ "$CBUILD" != "$CTARGET" ] && makedepends_build="$makedepends_build gcc-gnat gcc-gnat$_cross" fi makedepends="$makedepends_build $makedepends_host" # when using upstream releases, use this URI template # https://gcc.gnu.org/pub/gcc/releases/gcc-${_pkgbase:-$pkgver}/gcc-${_pkgbase:-$pkgver}.tar.xz # # right now, we are using a git snapshot. # # PLEASE submit all patches to gcc to https://gitlab.alpinelinux.org/kaniini/alpine-gcc-patches, # so that they can be properly tracked and easily rebased if needed. source="https://dev.alpinelinux.org/~nenolod/gcc-${pkgver}.tar.xz 0001-posix_memalign.patch 0002-gcc-poison-system-directories.patch 0003-Turn-on-Wl-z-relro-z-now-by-default.patch 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch 0006-Enable-Wformat-and-Wformat-security-by-default.patch 0007-Enable-Wtrampolines-by-default.patch 0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch 0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch 0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch 0011-libiberty-copy-PIC-objects-during-build-process.patch 0012-libitm-disable-FORTIFY.patch 0013-libgcc_s.patch 0014-nopie.patch 0015-libffi-use-__linux__-instead-of-__gnu_linux__-for-mu.patch 0016-dlang-update-zlib-binding.patch 0017-dlang-fix-fcntl-on-mips-add-libucontext-dep.patch 0018-ada-fix-shared-linking.patch 0019-build-fix-CXXFLAGS_FOR_BUILD-passing.patch 0020-add-fortify-headers-paths.patch 0021-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch 0022-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch 0023-Pure-64-bit-MIPS.patch 0024-use-pure-64-bit-configuration-where-appropriate.patch 0025-always-build-libgcc_eh.a.patch 0026-ada-libgnarl-compatibility-for-musl.patch 0027-ada-musl-support-fixes.patch 0028-gcc-go-Use-_off_t-type-instead-of-_loff_t.patch 0029-gcc-go-Don-t-include-sys-user.h.patch 0030-gcc-go-Fix-ucontext_t-on-PPC64.patch 0031-gcc-go-Fix-handling-of-signal-34-on-musl.patch 0032-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch 0033-gcc-go-Fix-st_-a-m-c-tim-fields-in-generated-sysinfo.patch 0034-gcc-go-signal-34-is-special-on-musl-libc.patch 0035-gcc-go-Prefer-_off_t-over-_off64_t.patch 0036-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch 0037-gcc-go-link-to-libucontext.patch 0038-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch 0039-CRuntime_Musl-Support-v1.2.0-for-32-bits.patch 0040-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch " # we build out-of-tree _gccdir="$srcdir"/gcc-$pkgver _gcclibdir="/usr/lib/gcc/$CTARGET/${_pkgbase:-$pkgver}" _gcclibexec="/usr/libexec/gcc/$CTARGET/${_pkgbase:-$pkgver}" prepare() { cd "$_gccdir" _err= for i in $source; do case "$i" in *.patch) msg "Applying $i" patch -p1 -i "$srcdir"/$i || _err="$_err $i" ;; esac done if [ -n "$_err" ]; then error "The following patches failed:" for i in $_err; do echo " $i" done return 1 fi echo ${_pkgbase:-$pkgver} > gcc/BASE-VER } build() { local _arch_configure= local _libc_configure= local _bootstrap_configure= local _symvers= cd "$_gccdir" case "$CTARGET" in aarch64-*-*-*) _arch_configure="--with-arch=armv8-a --with-abi=lp64";; armv5-*-*-*eabi) _arch_configure="--with-arch=armv5te --with-tune=arm926ej-s --with-float=soft --with-abi=aapcs-linux";; armv6-*-*-*eabihf) _arch_configure="--with-arch=armv6zk --with-tune=arm1176jzf-s --with-fpu=vfp --with-float=hard --with-abi=aapcs-linux";; armv7-*-*-*eabihf) _arch_configure="--with-arch=armv7-a --with-tune=generic-armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-abi=aapcs-linux --with-mode=thumb";; mips-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";; mips64-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";; mips64el-*-*-*) _arch_configure="--with-arch=mips3 --with-tune=mips64 --with-mips-plt --with-float=soft --with-abi=64";; mipsel-*-*-*) _arch_configure="--with-arch=mips32 --with-mips-plt --with-float=soft --with-abi=32";; powerpc-*-*-*) _arch_configure="--enable-secureplt --enable-decimal-float=no";; powerpc64*-*-*-*) _arch_configure="--with-abi=elfv2 --enable-secureplt --enable-decimal-float=no --enable-targets=powerpcle-linux";; i486-*-*-*) _arch_configure="--with-arch=i486 --with-tune=generic --enable-cld";; i586-*-*-*) _arch_configure="--with-arch=i586 --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; esac case "$CTARGET_ARCH" in mips*) _hash_style_configure="--with-linker-hash-style=sysv" ;; *) _hash_style_configure="--with-linker-hash-style=gnu" ;; esac case "$CTARGET_LIBC" in musl) # musl does not support mudflap, or libsanitizer # libmpx uses secure_getenv and struct _libc_fpstate not present in musl # alpine musl provides libssp_nonshared.a, so we don't need libssp either _libc_configure="--disable-libssp --disable-libmpx --disable-libmudflap --disable-libsanitizer" _symvers="--disable-symvers" export libat_cv_have_ifunc=no ;; esac case "$BOOTSTRAP" in nolibc) _bootstrap_configure="--with-newlib --disable-shared --enable-threads=no" ;; *) _bootstrap_configure="--enable-shared --enable-threads --enable-tls" ;; esac $_libgomp || _bootstrap_configure="$_bootstrap_configure --disable-libgomp" $_libatomic || _bootstrap_configure="$_bootstrap_configure --disable-libatomic" $_libitm || _bootstrap_configure="$_bootstrap_configure --disable-libitm" $_libquadmath || _arch_configure="$_arch_configure --disable-libquadmath" msg "Building the following:" echo "" echo " CBUILD=$CBUILD" echo " CHOST=$CHOST" echo " CTARGET=$CTARGET" echo " CTARGET_ARCH=$CTARGET_ARCH" echo " CTARGET_LIBC=$CTARGET_LIBC" echo " languages=$_languages" echo " arch_configure=$_arch_configure" echo " libc_configure=$_libc_configure" echo " cross_configure=$_cross_configure" echo " bootstrap_configure=$_bootstrap_configure" echo " hash_style_configure=$_hash_style_configure" echo "" export CFLAGS="$CFLAGS -O2" mkdir -p "$_builddir" cd "$_builddir" "$_gccdir"/configure --prefix=/usr \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --build=${CBUILD} \ --host=${CHOST} \ --target=${CTARGET} \ --with-pkgversion="Alpine $pkgver" \ --enable-checking=release \ --disable-fixed-point \ --disable-libstdcxx-pch \ --disable-multilib \ --disable-nls \ --disable-werror \ $_symvers \ --enable-__cxa_atexit \ --enable-default-pie \ --enable-default-ssp \ --enable-cloog-backend \ --enable-languages=$_languages \ $_arch_configure \ $_libc_configure \ $_cross_configure \ $_bootstrap_configure \ --with-system-zlib \ $_hash_style_configure make } package() { cd "$_builddir" make -j1 DESTDIR="$pkgdir" install ln -s gcc "$pkgdir"/usr/bin/cc # we dont support gcj -static # and saving 35MB is not bad. find "$pkgdir" \( -name libgtkpeer.a \ -o -name libgjsmalsa.a \ -o -name libgij.a \) \ -delete # strip debug info from some static libs find "$pkgdir" \( -name libgfortran.a -o -name libobjc.a -o -name libgomp.a \ -o -name libgphobos.a -o -name libgdruntime.a \ -o -name libmudflap.a -o -name libmudflapth.a \ -o -name libgcc.a -o -name libgcov.a -o -name libquadmath.a \ -o -name libitm.a -o -name libgo.a -o -name libcaf\*.a \ -o -name libatomic.a -o -name libasan.a -o -name libtsan.a \) \ -a -type f \ -exec ${STRIP_FOR_TARGET} -g {} + if $_libgomp; then mv "$pkgdir"/usr/lib/libgomp.spec "$pkgdir"/$_gcclibdir fi if $_libitm; then mv "$pkgdir"/usr/lib/libitm.spec "$pkgdir"/$_gcclibdir fi # remove ffi rm -f "$pkgdir"/usr/lib/libffi* "$pkgdir"/usr/share/man/man3/ffi* find "$pkgdir" -name 'ffi*.h' -delete local gdblib=${_target:+$CTARGET/}lib if [ -d "$pkgdir"/usr/$gdblib/ ]; then for i in $(find "$pkgdir"/usr/$gdblib/ -type f -maxdepth 1 -name "*-gdb.py"); do mkdir -p "$pkgdir"/usr/share/gdb/python/auto-load/usr/$gdblib mv "$i" "$pkgdir"/usr/share/gdb/python/auto-load/usr/$gdblib/ done fi # move ada runtime libs if $LANG_ADA; then for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.so"); do mv "$i" "$pkgdir"/usr/lib/ ln -s ../../../../${i##*/} $i done for i in $(find "$pkgdir"/$_gcclibdir/adalib/ -type f -maxdepth 1 -name "libgna*.a"); do mv "$i" "$pkgdir"/usr/lib/ ln -s ../../../../${i##*/} $i done fi if [ "$CHOST" != "$CTARGET" ]; then # cross-gcc: remove any files that would conflict with the # native gcc package rm -rf "$pkgdir"/usr/bin/cc "$pkgdir"/usr/include "${pkgdir:?}"/usr/share # libcc1 does not depend on target, don't ship it rm -rf "$pkgdir"/usr/lib/libcc1.so* # fixup gcc library symlinks to be linker scripts so # linker finds the libs from relocated sysroot for so in "$pkgdir"/usr/"$CTARGET"/lib/*.so; do if [ -h "$so" ]; then local _real=$(basename "$(readlink "$so")") rm -f "$so" echo "GROUP ($_real)" > "$so" fi done else # add c89/c99 wrapper scripts cat >"$pkgdir"/usr/bin/c89 <<'EOF' #!/bin/sh _flavor="-std=c89" for opt; do case "$opt" in -ansi|-std=c89|-std=iso9899:1990) _flavor="";; -std=*) echo "$(basename $0) called with non ANSI/ISO C option $opt" >&2 exit 1;; esac done exec gcc $_flavor ${1+"$@"} EOF cat >"$pkgdir"/usr/bin/c99 <<'EOF' #!/bin/sh _flavor="-std=c99" for opt; do case "$opt" in -std=c99|-std=iso9899:1999) _flavor="";; -std=*) echo "$(basename $0) called with non ISO C99 option $opt" >&2 exit 1;; esac done exec gcc $_flavor ${1+"$@"} EOF chmod 755 "$pkgdir"/usr/bin/c?9 # install lto plugin so regular binutils may use it mkdir -p "$pkgdir"/usr/lib/bfd-plugins ln -s /$_gcclibexec/liblto_plugin.so "$pkgdir/usr/lib/bfd-plugins/" fi } libatomic() { pkgdesc="GCC Atomic library" depends= replaces="gcc" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libatomic.so.* "$subpkgdir"/usr/lib/ } libcxx() { pkgdesc="GNU C++ standard runtime library" depends= if [ "$CHOST" = "$CTARGET" ]; then # verify that we are using clock_gettime rather than doing direct syscalls # so we dont break 32 bit arches due to time64. nm -D "$pkgdir"/usr/lib/libstdc++.so.* | grep clock_gettime fi mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libstdc++.so.* "$subpkgdir"/usr/lib/ } gpp() { pkgdesc="GNU C++ standard library and compiler" depends="libstdc++=$_gccrel gcc=$_gccrel libc-dev" mkdir -p "$subpkgdir/$_gcclibexec" \ "$subpkgdir"/usr/bin \ "$subpkgdir"/usr/${_target:+$CTARGET/}include \ "$subpkgdir"/usr/${_target:+$CTARGET/}lib \ mv "$pkgdir/$_gcclibexec/cc1plus" "$subpkgdir/$_gcclibexec/" mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/*++* "$subpkgdir"/usr/${_target:+$CTARGET/}lib/ mv "$pkgdir"/usr/${_target:+$CTARGET/}include/c++ "$subpkgdir"/usr/${_target:+$CTARGET/}include/ mv "$pkgdir"/usr/bin/*++ "$subpkgdir"/usr/bin/ } libobjc() { pkgdesc="GNU Objective-C runtime" replaces="objc" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libobjc.so.* "$subpkgdir"/usr/lib/ } objc() { pkgdesc="GNU Objective-C" replaces="gcc" depends="libc-dev gcc=$_gccrel libobjc=$_gccrel" mkdir -p "$subpkgdir/$_gcclibexec" \ "$subpkgdir"/$_gcclibdir/include \ "$subpkgdir"/usr/lib mv "$pkgdir/$_gcclibexec/cc1obj" "$subpkgdir/$_gcclibexec/" mv "$pkgdir"/$_gcclibdir/include/objc "$subpkgdir"/$_gcclibdir/include/ mv "$pkgdir"/usr/lib/libobjc.so "$pkgdir"/usr/lib/libobjc.a \ "$subpkgdir"/usr/lib/ } libgcc() { pkgdesc="GNU C compiler runtime libraries" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgcc_s.so.* "$subpkgdir"/usr/lib/ } libgomp() { pkgdesc="GCC shared-memory parallel programming API library" depends= replaces="gcc" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/${_target:+$CTARGET/}lib/libgomp.so.* "$subpkgdir"/usr/lib/ } libgphobos() { pkgdesc="D programming language standard library for GCC" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgdruntime.so.* "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/lib/libgphobos.so.* "$subpkgdir"/usr/lib/ } gdc() { pkgdesc="GCC-based D language compiler" depends="gcc=$_gccrel libgphobos=$_gccrel musl-dev" depends="$depends libucontext-dev" mkdir -p "$subpkgdir/$_gcclibexec" \ "$subpkgdir"/$_gcclibdir/include/d/ \ "$subpkgdir"/usr/lib \ "$subpkgdir"/usr/bin # Copy: The installed '.d' files, the static lib, the binary itself # The shared libs are part of 'libgphobos' so one can run program # without installing the compiler mv "$pkgdir/$_gcclibexec/d21" "$subpkgdir/$_gcclibexec/" mv "$pkgdir"/$_gcclibdir/include/d/* "$subpkgdir"/$_gcclibdir/include/d/ mv "$pkgdir"/usr/lib/libgdruntime.a "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/lib/libgphobos.a "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/lib/libgphobos.spec "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/bin/$CTARGET-gdc "$subpkgdir"/usr/bin/ mv "$pkgdir"/usr/bin/gdc "$subpkgdir"/usr/bin/ } libgo() { pkgdesc="Go runtime library for GCC" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgo.so.* "$subpkgdir"/usr/lib/ } go() { pkgdesc="Go support for GCC" depends="gcc=$_gccrel libgo=$_gccrel !go" mkdir -p "$subpkgdir"/$_gcclibexec \ "$subpkgdir"/usr/lib \ "$subpkgdir"/usr/bin mv "$pkgdir"/usr/lib/go "$subpkgdir"/usr/lib/ mv "$pkgdir"/usr/bin/*gccgo "$subpkgdir"/usr/bin/ mv "$pkgdir"/usr/bin/*go "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/*gofmt "$subpkgdir"/usr/bin mv "$pkgdir"/$_gcclibexec/go1 "$subpkgdir"/$_gcclibexec/ mv "$pkgdir"/$_gcclibexec/cgo "$subpkgdir"/$_gcclibexec/ mv "$pkgdir"/$_gcclibexec/buildid "$subpkgdir"/$_gcclibexec/ mv "$pkgdir"/$_gcclibexec/test2json "$subpkgdir"/$_gcclibexec/ mv "$pkgdir"/$_gcclibexec/vet "$subpkgdir"/$_gcclibexec/ mv "$pkgdir"/usr/lib/libgo.a \ "$pkgdir"/usr/lib/libgo.so \ "$pkgdir"/usr/lib/libgobegin.a \ "$pkgdir"/usr/lib/libgolibbegin.a \ "$subpkgdir"/usr/lib/ } libgfortran() { pkgdesc="Fortran runtime library for GCC" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgfortran.so.* "$subpkgdir"/usr/lib/ } libquadmath() { replaces="gcc" pkgdesc="128-bit math library for GCC" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libquadmath.so.* "$subpkgdir"/usr/lib/ } gfortran() { pkgdesc="GNU Fortran Compiler" depends="gcc=$_gccrel libgfortran=$_gccrel" $_libquadmath && depends="$depends libquadmath=$_gccrel" replaces="gcc" mkdir -p "$subpkgdir"/$_gcclibexec \ "$subpkgdir"/$_gcclibdir \ "$subpkgdir"/usr/lib \ "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/*gfortran "$subpkgdir"/usr/bin/ mv "$pkgdir"/usr/lib/libgfortran.a \ "$pkgdir"/usr/lib/libgfortran.so \ "$subpkgdir"/usr/lib/ if $_libquadmath; then mv "$pkgdir"/usr/lib/libquadmath.a \ "$pkgdir"/usr/lib/libquadmath.so \ "$subpkgdir"/usr/lib/ fi mv "$pkgdir"/$_gcclibdir/finclude "$subpkgdir"/$_gcclibdir/ mv "$pkgdir"/$_gcclibexec/f951 "$subpkgdir"/$_gcclibexec mv "$pkgdir"/usr/lib/libgfortran.spec "$subpkgdir"/$_gcclibdir } libgnat() { pkgdesc="GNU Ada runtime shared libraries" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgna*.so "$subpkgdir"/usr/lib/ } libgnatstatic() { pkgdesc="GNU Ada static libraries" depends= mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/libgna*.a "$subpkgdir"/usr/lib/ } gnat() { pkgdesc="Ada support for GCC" depends="gcc=$_gccrel" provides="$pkgname-gnat-bootstrap" [ "$CHOST" = "$CTARGET" ] && depends="$depends libgnat=$_gccrel" mkdir -p "$subpkgdir"/$_gcclibexec \ "$subpkgdir"/$_gcclibdir \ "$subpkgdir"/usr/bin mv "$pkgdir"/$_gcclibexec/*gnat* "$subpkgdir"/$_gcclibexec/ mv "$pkgdir"/$_gcclibdir/*ada* "$subpkgdir"/$_gcclibdir/ mv "$pkgdir"/usr/bin/*gnat* "$subpkgdir"/usr/bin/ } sha512sums="e1c0ed81c433091bde36422bb1bda6fb10d317b44b3850174bd7964b9d06c2b22ad70f0884e391fa2a7149a456f65c6192394b076c720db7d311b8cb05138587 gcc-10.2.1_git20210318.tar.xz 1915a82b16940f16e226d2e4c6f947158e50ff98a2962ef8276db52dac116632e098e32a30125c24db34ef287830a9add1e0c4a628ae6edd2bb31b413b3f284d 0001-posix_memalign.patch 6c89c65de3c77ec4fa3d64fe73deacb83922c51855af43c773797eccc1d78153be07e6dd2212ba2086a980bb1a709210ff695380fc9a490b2358ace3fce1ddf2 0002-gcc-poison-system-directories.patch fa1b4a21c7b5456c55279bf2b9f212733925e6a7aaf10b47fdee2e0f10a3fcaa04fdb4d40f39ac66ed212b322066fda3d5dc3e818667caf14e93e4ed04209a00 0003-Turn-on-Wl-z-relro-z-now-by-default.patch e10209211a4bbc123e957208f3730ddddd3285428e73c577cf5e5d07aa255a1d71a8c32c93a0d5a886004df7ef43b844a79cd55e0f5130821cc5e5271af6f2f5 0004-Turn-on-D_FORTIFY_SOURCE-2-by-default-for-C-C-ObjC-O.patch 72a20544dc239e5ff295eb5a578a2b97bcd29ca623f5af527531063f1604edc62c28f0d21f755fed2f263687b7a7e054dca609f4d0d4b6e1949911061121dae3 0005-On-linux-targets-pass-as-needed-by-default-to-the-li.patch 09a80ad7174c04d5c33c44364fe4dfa2b7fc2faf3a7c161ae9b66891ddd75155802ffa80e30e32d63e814d2b2f480f49a13fdf0efd9255271280d3bf69b37be3 0006-Enable-Wformat-and-Wformat-security-by-default.patch 77ca93b1e0b942a4343eaa62d6e0f4ee6bc6e892bdd1096dc16abb291879a8fd156201bfb209ba79f04ee58f7c3070d3378a2324897e8be75ad40aa7f1142736 0007-Enable-Wtrampolines-by-default.patch 501124cbce3a5375f804c0696abfac8f1883a9f8c61906f51bfb4a3f8e2bedf91b1b4874ce4bf424ce860e820a631ef7944697d00a42a2490d80f75d4d25f5a7 0008-Disable-ssp-on-nostdlib-nodefaultlibs-and-ffreestand.patch 3e67d5c2c96773a53f5536fba0f19d39a59a7e8d331a97d10f97a493295c1d850a38075c86747d8743a7a2c32e056ef89096b8850805d8ad72e0f3fbea1bb8b7 0009-Ensure-that-msgfmt-doesn-t-encounter-problems-during.patch 4b53acb717da29b1f69fb49ac73483df3dbc8ae221d852cf8cc494bee535e69e92d9dfeead55ef4ec4a66ea2eff8d95ad71d7ca61468047f4a95b46c174dc2ac 0010-Don-t-declare-asprintf-if-defined-as-a-macro.patch c95ded4e944a7bbf5d960b1354a137731f0d24fcc30eead0fb6d887211fb4efe27e587e48c1f93185c3fac2a51fb429f51251c22a4456fc7aef06f8aeae71115 0011-libiberty-copy-PIC-objects-during-build-process.patch a2b1a625521096cd977c4bc0c125942a8a1f2746f10ec128a62e67893abb0535b7493c2bd6325daeb4bd7df25acafc98c1fe025d4e0f0aa21b39ff17b10ae6c3 0012-libitm-disable-FORTIFY.patch 6fce7c3d748cef4fb6fede853ba5d80fa4840d28cf3ac91972fad7b0cac55e5c12b33736a07b84a67c1b7ea552de3370e2b78fc1608e647b7cf4e787730da623 0013-libgcc_s.patch fc764a428a7725d4a60c2f6a8cdbe3e873a867330f31c283808267942860637696aca264d5cbeed228a86464f01bd2b2c8046fdfe50775e394a254b6f0d38824 0014-nopie.patch f01fe30d778375b57d3aa7bc9754fbcfecbdbb1cc9ece0744ee50467cfd81782b72f60816b609889f993d0414b1fcbebf1f46371d589566d42f83514a6e4ed92 0015-libffi-use-__linux__-instead-of-__gnu_linux__-for-mu.patch abc0795f2ba708f66590fbd72e237573ff2fdc9ca128d9711d5eac87077f901a428749ce89e0d60bc904271d570fc6a1778c5259eb1dfe11fd63b94c6f53d5e9 0016-dlang-update-zlib-binding.patch 426704d74c34b6e6f0f464f69fceb30f8d5fdbad27a0ee00df5e189f6b67d861b6f9b572912c2f575104b080a4764135ad9f7456032a27a0b305471c0f15826c 0017-dlang-fix-fcntl-on-mips-add-libucontext-dep.patch 89307723a6b6803de224bf533017d69b6177a87c9855e89cd8f82774ad74becf36942ad83ff4ad115b4f0b05de9f20309d85c84d72c8adcb87fcfa327c033040 0018-ada-fix-shared-linking.patch 4bb09ac55ff31b53f8395280b0af12d6a7c13db90179ec82e44e4755885b5a3453fb62666ed50c3f60a8b80bb2afaccfd2f7d997784b5845631665a255bb7b12 0019-build-fix-CXXFLAGS_FOR_BUILD-passing.patch 5431835d4f8d4adb574b64bd6dd487f44ae86225e47b0a57e262679c3cf712b660b6533eee77f3aea65cffd414c06d3d6404bef3a17bef734f63eab519521e2f 0020-add-fortify-headers-paths.patch 7f6f40fc4a58987398243f46ea4e05f8a79608a15d5e8fb18577e0696a81ffbca4c1d7824ee8d142a7f73773df5664762f441b550e2eb7a442dc50b4ae16ad20 0021-Alpine-musl-package-provides-libssp_nonshared.a.-We-.patch cfae1edc7b7f35174f89ba9df6d6bafa98a81bade979cff9a05d12b4c85c1d51081cdafa85625862431b8e637be4b4fb401886e6d3f5ea7b36019a88215f7b10 0022-DP-Use-push-state-pop-state-for-gold-as-well-when-li.patch f02aa5660c2354154518eaa907c2bc6c39c772348280f371d6b209f2ddfdc7e01aa58a04c990104901d05872a357d7a55aadaaf10c721bb5a9f21adaa128c0b7 0023-Pure-64-bit-MIPS.patch 7740cbf290b514576deffcf2c8fc90c5674e6793cdf123969137acf7413f5447fbb58192714549a1c773db3ef284236b9044f3ca7a658127cb6aaa915e174c9c 0024-use-pure-64-bit-configuration-where-appropriate.patch 8f12ab63bc93cd3ef0d252731f975384c991a4cb12b46895cfd1e4d31c0af1403d30f9043ce1be39f26d1fbe7a3d346004aea3a2356d92d84815842315632899 0025-always-build-libgcc_eh.a.patch 31245d7720d3554723083ae18937e15b856712902776415a49a75ce8eeb5e094e95c79fe2bf95d4ef683ca1f698cac0005ac8742f9b4985ea182508f58278212 0026-ada-libgnarl-compatibility-for-musl.patch c03181e6e7589b089df0dc99a5ed41311f77a87e05c53e5c59e1ea84c5a67d03db82116069ab1ed158173278929a1f0bb483db2656f38d0ffcfb3665d09959fd 0027-ada-musl-support-fixes.patch ddc9eb8fdb53da35b81f994a333169658f9c66e695849cad78e1c9ae46c188dd2d2446bfdd8bd7c48d0307621c5ed3e12a962aaedeb9f46faefc73a0d46356cb 0028-gcc-go-Use-_off_t-type-instead-of-_loff_t.patch 78dc5acd74e3016b62b7422e254419f0ce20707d029d765c236351af8240ce6118323f57cb428c565a76259c5a5ce1a76349e1c035bc5be0bbcc769e9088f997 0029-gcc-go-Don-t-include-sys-user.h.patch 68e24952b874eaa3a49a6c7fcb8c94245a53814810bbd91c2ad0ebcaf9db2fd2fb84e0cb8bb9ff1e82a141bc85e8c5095be019708bfb6ce7c3316f11098b8aff 0030-gcc-go-Fix-ucontext_t-on-PPC64.patch 75de794d757e73bdc9010954b302c42b66a329ec0afcf9c1606c03fc61fd89d240cc544c4320bd1c1020ba89405aae791784fa82ef4ed6aef9fffe2f5b1e45cb 0031-gcc-go-Fix-handling-of-signal-34-on-musl.patch 287a5fe2d28181db0d0507eb3cb8f07eccac53374e6d80e197bb944cd05927c16d6b8461ac4df12f299437ecc42ad7986b9a4b3d89c9eeda2f74517cd4af704e 0032-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch e8fee2878eac39a4d7860d110e7abc254bfa066ccb10b1d5dee0dff32389cf3cb4d43a083504a788616006e9c15abc5f91268e518c82482c82911d80ca0fb7df 0033-gcc-go-Fix-st_-a-m-c-tim-fields-in-generated-sysinfo.patch dc2404d53667e0d792972522ad4beaeb2a09d63dd0ed62cee82c814f7bcf3ee6c5b5c5da6a735d95402c470d2d8e51fdc0b3f5c3c409c160dcf233ec34a3568b 0034-gcc-go-signal-34-is-special-on-musl-libc.patch f2392ab46639e8d4bab034514f9ad63b88373f5acf8da0e53c9ab72c66bf179736fc364188b60b52cb14a19665c07a5a153ba058ea3ca9afbc4e47945988289b 0035-gcc-go-Prefer-_off_t-over-_off64_t.patch 1d18728ca91f0bd76aba685c22b5d05f0d10707cb1d31ce2d42cfb6a4533a1586c1ba4c56e47ad55cd112177d3c537ccbab8576cdd80014f0a35b4a096a07500 0036-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch 0c98e29c56c2e78d5be61d797eb3864b3bd7f75fe8f5d8d5969ab03d685c75e4023caf68b66d8e7d912ce88d2515e6acd4fb20f4c7a92b854fb06a375cf6c77e 0037-gcc-go-link-to-libucontext.patch 6fb5ed354f56734e221e78574b741d793b27c1003d7831cb11cb77c91d4d71e7533ceeb2fb0cf12ba2c74bbf443330129a4a98e372baf9c0258d56579f04925c 0038-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch f967ebac9e19a44825ba25aa018a5c08717d36c5eb1c0cc89781d08f54238f4391e6312070c5afb08e24fb20eb5b36e9cc4b650bf7cabb6c936b8973c2f5d474 0039-CRuntime_Musl-Support-v1.2.0-for-32-bits.patch 050ba1911ad6fb4ac41fbe5e6053bce9a059f1d176239e15a46a90fe73eaf901ea5b75ea671cd950f19073d008741f1b297effaed83de3e5416b7b11d4046229 0040-configure-Add-enable-autolink-libatomic-use-in-LINK_.patch"