summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* toolchain.eclass: pull virtual/libcrypt as a dependency for USE=sanitizeSergei Trofimovich2021-07-171-1/+8
| | | | | Closes: https://bugs.gentoo.org/802648 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: disable USE=vtv by defaultSergei Trofimovich2021-07-171-9/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop pre-gcc-4.2 support codeSergei Trofimovich2021-07-171-167/+104
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop no-op IUSE=altivec flagSergei Trofimovich2021-07-171-6/+0
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add an assert for minimum supported gccSergei Trofimovich2021-07-171-0/+5
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add EAPI=8 supportSergei Trofimovich2021-07-171-13/+14
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: leave (unused) 'eutils' inherit only for EAPI=5|6|7Sergei Trofimovich2021-07-171-5/+3
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: support only EAPI=5 out of all 5*Sergei Trofimovich2021-07-171-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: standardize unsupported EAPI error messageSergei Trofimovich2021-07-151-2/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add TODO to audit inheritsSam James2021-06-201-1/+3
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* toolchain.eclass: add -march=znver3 manglingSergei Trofimovich2021-06-011-0/+1
| | | | | | Noticed as a gcc-9 build failure as it does not support -march=znver3. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/toolchain.eclass: disable USE=vtv on gcc-10 and aboveSergei Trofimovich2021-02-221-1/+10
| | | | | | | | | | USE=vtv has a few problems: - it's build system has a few quirks: bug #767706, bug #582524 - it's developed in gcc for a while Bug: https://bugs.gentoo.org/582524 Bug: https://bugs.gentoo.org/767706 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass: [QA] Revert multiple meaningless doc changesMichał Górny2020-12-281-7/+1
| | | | | | | | | | | Revert multiple meaningless eclass documentation changes, notably adding a lot of placeholders and documenting implementation details. These changes were aimed at silencing (valid) documentation warnings without actually providing valuable documentation to the end users. While some of these changes were beneficial, it would take a lot of effort to review them all and the author is unwilling to fix his mistakes. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/toolchain: fix double @MAINTAINERAaron Bauman2020-12-161-1/+1
| | | | Signed-off-by: Aaron Bauman <bman@gentoo.org>
* eclass/toolchain: fixup documentationAaron Bauman2020-12-151-1/+7
| | | | Signed-off-by: Aaron Bauman <bman@gentoo.org>
* toolchain.eclass: add USE=custom-cflags for gcc-11Sergei Trofimovich2020-11-081-6/+13
| | | | | | | | | | | | | Sometimes it's useful to build gcc quickly with CFLAGS=-O0 as a smoke test for sanity. CFLAGS=-O3 should also generally work as a code generation stres test. But not in general case. Some options like -flto would probably not work as is. Let's allow users to experiment with gcc flags if they really want to. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eutils.eclass: Deprecate use_if_iuse().Ulrich Müller2020-09-121-34/+43
| | | | | | | | The function is not called from any ebuilds in the gentoo repository. Inline it as "in_iuse foo && use foo" in other eclasses, or define it as a local function when it is called multiple times. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
* toolchain.eclass: add rv32 abi namesAndreas K. Hüttel2020-09-021-1/+1
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* toolchain.eclass: fix relocation of libgccjitSergei Trofimovich2020-08-241-0/+6
| | | | | | | | | | | | | | | | | Before the change libgccjit.so was installed to /usr/lib. Relocation code in toolchain.eclass:gcc_movelibs() only handles /usr/$(get_libdir) -> $LIBDIR location. As a result gcc did not relocate libraries to version-speciifc firectory: caused collisions and installed library into wrong LIBDIR. The change handles libgccjit special case by relocating it explicitly. Reported-by: Michał Górny Bug: https://bugs.gentoo.org/583010 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: always enable --with-long-double-128 for glibc targetsSergei Trofimovich2020-08-201-0/+8
| | | | | | | | | | | | | | | Unless overridden glibc enables 128-bit 'long double' for glibc 2.4 and above. But with crossdev change 7283a01 ("set --without-headers by default") we don't install any headers for stage1-gcc. As a result gcc pessimistically disables 128-bit 'long double'. The change enables --with-long-double-128 for glibc targets for stage1-gcc. Reported-by: hanetzer@startmail.com Closes: https://bugs.gentoo.org/738248 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: stop installing /usr/bin/c89 and /usr/bin/c99Sergei Trofimovich2020-08-191-15/+0
| | | | | | | | Ownership of /usr/bin/c89 and /usr/bin/c99 was switched to sys-devel/gcc-config-2.3.1. Closes: https://bugs.gentoo.org/728722 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: raise minimum gcc-config up to 2.3Sergei Trofimovich2020-08-071-1/+1
| | | | | | | | | | In #736040 gcc-config-1.9 was not able to handle gcc-10 paths. Let's raise lower bound to minimum stable version currently in ::gentoo. Reported-by: Dennis Nezic Bug: https://bugs.gentoo.org/736040 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* 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>