summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toolchain.eclass: drop java binary renames for <gcc-4Sergei Trofimovich2020-07-311-41/+0
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop --as-needed spec workaround for <gcc-3.4.4Sergei Trofimovich2020-07-311-7/+0
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: always validate gcc/BASE-VER (assume >=gcc-4.1)Sergei Trofimovich2020-07-311-6/+4
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop fixheadtails.eclass use for <gcc-4.3Sergei Trofimovich2020-07-311-10/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop tweak for pythondir for gcc-{4.5..4.7}Sergei Trofimovich2020-07-311-8/+0
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop support for standalone lang=dSergei Trofimovich2020-07-311-16/+0
| | | | | | | 'd' is merged and maintained upstream. Dropped support for external patches. No ::gentoo ebuilds are using it. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop IUSE=boundschecking supportSergei Trofimovich2020-07-311-29/+1
| | | | | | boundschecking patch is superseded by IUSE=sanitize Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: simplify LICENSE= by leaving >=gcc-4.6 caseSergei Trofimovich2020-07-311-14/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop handling of /usr/lib/gcc-lib for gcc-3.3Sergei Trofimovich2020-07-311-5/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop IUSE=mudflap handlingSergei Trofimovich2020-07-311-7/+0
| | | | | | mudflap was removed in favour of sanitizers. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: avoid libquadmath in stage1-gccSergei Trofimovich2020-07-301-0/+3
| | | | | | | | | | | | | | libquadmath relies on libc presence (sqrt symbols). When initial toolchain is bootstrapped libc is not available yet. The change disables libquadmath for bootstrap cases when libc is not installed yet. gcc-stage2 still uses platform defaults for libquadmath. Reported-by: Andrew Aladjev Closes: https://bugs.gentoo.org/734820 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: also delete /usr/bin/fix_libtool_files.shSergei Trofimovich2020-07-301-0/+1
| | | | | | Reported-by: Silvio Closes: https://bugs.gentoo.org/734008 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: install libquadmath by defaultSergei Trofimovich2020-07-301-6/+0
| | | | | | | | | | libquadmath is a small support runtime library for _Float128 types. sci-libs/fftw happens to use it and expects it to be provided by gcc. Let's provide it unconditionally. Reported-by: Fredric Johansson Closes: https://bugs.gentoo.org/608990 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add USE=valgrind for annotations for valgrindSergei Trofimovich2020-07-061-0/+9
| | | | | | | This adds annotation hints to memory handling code into gcc to ease debugging it under valgrind. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop fix_libtool_files.shSergei Trofimovich2020-06-191-31/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | fixlafiles.awk can mangle two things in .la fils: 1. patch reference 'from .../libstdc++.la' to '-lstdc++' 2. change ${CHOST} when user switches CHOST and rebuilds the system [1.] is not relevant since gcc-4 in Gentoo where we started deleting libstdc++.la on gcc installation. Nothing should embed libstdc++.la paths anymore. [2.] is a rare one-off step that has a lot more caveats than just .la file patching. Generally .la files are tracked by package manager and should not be changed after they are installed on disk. 'fix_libtool_files.sh' breaks that invariant. On top of that portage's FEATURES=fixlafiles removes nested .la files references. Let's remove 'fix_libtool_files.sh' and 'fixlafiles.awk' completely. If really needed we can reintroduce it as a separate tool. Closes: https://bugs.gentoo.org/722554 Closes: https://bugs.gentoo.org/657330 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop unused --enable-altivecSergei Trofimovich2020-06-101-4/+7
| | | | | | | | | | | | | | --enable-altivec does not do anything since gcc-4: https://gcc.gnu.org/legacy-ml/gcc/2005-03/msg01091.html The change drops passing of --enable-altivec for all gcc versions and drops IUSE=altivec for gcc-10+. Once gcc-10 is stable everywhere we can drop IUSE=altivec for all gcc versions. Reported-by: Georgy Yakovlev Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: downgrade znver2 to znver1Alexey Sokolov2020-05-101-0/+1
| | | | | | | | Multiple other downgrades are missing here after 4.9 though Closes: https://bugs.gentoo.org/721690 Closes: https://github.com/gentoo/gentoo/pull/15733 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: use https:// for git protocol, bug #717056Sergei Trofimovich2020-04-111-1/+1
| | | | | | Reported-by: Hanno Böck Closes: https://bugs.gentoo.org/717056 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: fix ada build with ltoAlfredo Tupone2020-04-101-2/+2
| | | | | | Closes: https://bugs.gentoo.org/716570 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
* toolchain.eclass: add support to ada during compileTupone Alfredo2020-04-041-3/+22
| | | | Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
* toolchain.eclass: drop I_PROMISE_TO_SUPPLY_PATCHES_WITH_BUGS guardSergei Trofimovich2020-04-021-16/+0
| | | | | | Let's rely on keywording alone to guard against accidental installation. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop USE=sanitize support for <gcc-5Sergei Trofimovich2020-03-211-5/+10
| | | | | | | | Sanitizer support appeared in gcc-4.8, but <gcc-5 does not support modern glibc. Let's just drop support for it on older gccs. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: fix cygwinports patchingMichael Haubenwallner2020-03-171-1/+7
| | | | | | | Introduction of tc_apply_patches dropped patch dir, per commit bd758f25a82460f6e7011314f9fb7923864e9e1e Signed-off-by: Michael Haubenwallner <haubi@gentoo.org>
* toolchain.eclass: move --build dependencies to BDEPENDDavid Michael2020-03-091-1/+6
| | | | | | | | This allows cross-compiling comilers with a much smaller dependency set. Bug: https://bugs.gentoo.org/700898 Signed-off-by: David Michael <fedora.dm0@gmail.com> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: tweak commentSergei Trofimovich2020-03-071-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: always use -O2, even when no -O is passed in.Sergei Trofimovich2020-03-061-1/+5
| | | | | | | | | Mike noticed that CFLAGS without any optimization options still effectively are -O0. Let's follow glibc ebuild here and always use -O2. Suggested-by: Mike Gilbert Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: mangle -O3 down to -O2, not -O0Sergei Trofimovich2020-03-051-1/+1
| | | | | | | | | | | | | | In bug #701786 'strip-flags' removed all unsafe options first including -O3 and only then mangled -O? to -O2. This effectively made gcc to compalie wth -O0, generated huge slow profile and confused LTO. Let's default to safer -O3->-O2 transition. Reported-by: jeff.lemos.a@gmail.com Closes: https://bugs.gentoo.org/701786 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add USE=zstd for gcc-10Sergei Trofimovich2020-02-291-0/+9
| | | | | | | gcc-10 added support for zstd compression algorithm for LTO streaming. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: update default live branchesSergei Trofimovich2020-02-251-1/+1
| | | | | | Change live branch from gcc-<N>-branch to releases/gcc-<N> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: don't strip EPREFIX in dosymSergei Trofimovich2020-02-161-2/+2
| | | | | | | | | | This reverts 'dosym' part of "toolchain.eclass: Prepend/strip EPREFIX" patch. portage-2.3.85 and above contains "dosym: revert deprecated prefix compat (bug 615594)" patch. That effectively breaks gcc's /usr/bin/ symlinks. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* */*: Bump copyright on files touched this yearMichał Górny2020-02-111-1/+1
| | | | | | | Update the copyright notice on all files that were touched since January 1st but did not have the notice updated. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* toolchain.eclass: assert GCC_RELEASE_VER to match gcc/BASE-VERSergei Trofimovich2020-02-091-3/+1
| | | | | Bug: https://bugs.gentoo.org/706588 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop GCC_A_FAKEIT and gcc_quick_unpack()Sergei Trofimovich2020-02-091-54/+1
| | | | | | | | | gnal-gpl was the only user of GCC_A_FAKEIT as it provided modified gcc tarballs. It was migrated to GCC_TARBALL_SRC_URI to override default tarball. Bug: https://bugs.gentoo.org/706588 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: don't allow overriding GCC_CONFIG_VERSergei Trofimovich2020-02-091-6/+11
| | | | | | | dev-lang/gnat-gpl migrated from GCC_CONFIG_VER to TOOLCHAIN_GCC_PV. Bug: https://bugs.gentoo.org/706588 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: make toolchain_src_unpack() a default_src_unpack()Sergei Trofimovich2020-02-011-16/+19
| | | | | | | | | | | | | | | | | | Before tha change toolchain_src_unpack() did not unpack every SRC_URI entry and instead relied on toolchain_src_unpack() to unpack only needed tarballs. Any special handling was only needed for old USE=d versions of gcc. This change moves all source code mangling to src_prepare() and makes toolchain_src_unpack() a default_src_unpack(). The only exception is ebuild users of 'GCC_A_FAKEIT' (dev-lang/gnat-gpl) who have to use it to workaround non-standard behaviour of toolchain_src_unpack() The change will allow dev-lang/gnat-gpl to migrate to default_src_unpack(). Bug: https://bugs.gentoo.org/706588 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: provide a way to override gcc tarball pathSergei Trofimovich2020-02-011-0/+7
| | | | | | | | | To ease gnal-gpl packaging allow external user to override SRC_URI for main gcc tarball. gnal-gpl uses gcc small fork, but otherwise looks like a gcc tarball. Bug: https://bugs.gentoo.org/706588 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: make ${GCC_CONFIG_VER} != ${GCC_RELEASE_VER} nonfatalSergei Trofimovich2020-01-261-1/+3
| | | | | | | dev-lang/gnat-gpl uses ${GCC_CONFIG_VER} to override exposed gcc version. Let's keep it nonfatal until ada ebuilds are fixed. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: fix typo in GCC_CONFIG_VER assignmentSergei Trofimovich2020-01-261-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: restore an option to override GCC_CONFIG_VERSergei Trofimovich2020-01-261-1/+3
| | | | | | | | dev-lang/gnat-gpl ebuilds override this option and affect at least default slot installed. Let's partially revert the behaviour until ada is migrated. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: don't add _pre suffixes to toolsSergei Trofimovich2020-01-261-3/+4
| | | | | | | | | | ${GCC_CONFIG_VER} != ${GCC_RELEASE_VER} does not really work today. We don't override enough paths and don't rename tool versions. Let's keep thins simpler and stick to upstream versioning. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: don't override release vesion, assert it insteadSergei Trofimovich2020-01-261-3/+5
| | | | | Closes: https://bugs.gentoo.org/706240 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: use ${GCC_CONFIG_VER} in snapshot, don't mangle ${PV}Sergei Trofimovich2020-01-261-5/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop PRERELEASE supportSergei Trofimovich2020-01-261-37/+17
| | | | | | | | | | | | gcc's mirrors don't have prerelrease directories anymore and only have weekly snapshots and release candidates. Those now are covered by the following version schema: 1.0.0_pre9999: live ebuild 1.2.3_alphaYYYYMMDD: weekly snapshots 1.2.3_rcYYYYMMDD: release candidates Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: hide '${PV} == *9999*' to tc_is_live helperSergei Trofimovich2020-01-261-8/+16
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: include commit into gcc version for live ebuildsSergei Trofimovich2020-01-181-0/+4
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: fix arch downgrade for gcc-10Sergei Trofimovich2020-01-111-8/+9
| | | | | | The bug is in lexical comparison instead of version compare. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: allow applying patchsets to live ebuildsSergei Trofimovich2020-01-111-2/+4
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add an upstream bug reference to ELFv2 ABISergei Trofimovich2020-01-051-0/+1
| | | | | | Closes: https://bugs.gentoo.org/704784 Bug: https://gcc.gnu.org/PR93157 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: enable elfv2 abi on powerpc64-*-musl unconditionallyGeorgy Yakovlev2020-01-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on ppc64 gcc assumes the following: from gcc ppc64 manual: -mabi=elfv1 Change the current ABI to use the ELFv1 ABI. This is the default ABI for big-endian PowerPC 64-bit Linux. Overriding the default ABI requires special system support and is likely to fail in spectacular ways. -mabi=elfv2 Change the current ABI to use the ELFv2 ABI. This is the default ABI for little-endian PowerPC 64-bit Linux. Overriding the default ABI requires special system support and is likely to fail in spectacular ways. Since we are taking gcc defaults, let's pass --with-abi=elfv2 on musl targets without it it will fail, since musl does not support elfv1 at all. from musl INSTALL file: * PowerPC64 * Both little and big endian variants are supported * Compiler toolchain must provide 64-bit long double, not IBM double-double or IEEE quad * Compiler toolchain must use the new (ELFv2) ABI regardless of whether it is for little or big endian https://git.musl-libc.org/cgit/musl/tree/INSTALL Closes: https://github.com/gentoo/gentoo/pull/14234 Closes: https://bugs.gentoo.org/704784 Revieved-by: Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* toolchain.eclass: disable sandbox on gcc's test suiteSergei Trofimovich2019-12-221-2/+4
| | | | | | | | 'asan' wants to be preloaded first, so does 'sandbox'. To make asan tests work disable sandbox for all of test suite. 'backtrace' tests also does not like 'libsandbox.so' presence. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>