summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* toolchain.eclass: drop USE=graphite support for <gcc-6.5Sergei Trofimovich2019-12-011-19/+17
| | | | | | Reported-by: Rolf Eike Beer Closes: https://bugs.gentoo.org/701270 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: Copy gnat files during installTupone Alfredo2019-11-251-1/+1
| | | | Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
* toolchain.eclass: advertise fortran support for >=gcc-4.2+Sergei Trofimovich2019-11-101-1/+3
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: restore RESTRICT=strip on <gcc-9.2-r1, bug #699446Sergei Trofimovich2019-11-061-10/+10
| | | | | | | | | | | | | | commit d16e2840220 ("rename USE=regression-test to USE=test") added a 'RESTRICT="!test? ( test )"' assignment and accidentally overrode existing RESTRICT="strip" one. That reintroduced excessive stripping regression. Move RESTRICT assignments closer to one another and restore RESTRICT="strip". Reported-by: sargastic@gmail.com Closes: https://bugs.gentoo.org/699446 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: rename USE=regression-test to USE=testSergei Trofimovich2019-11-041-27/+6
| | | | | | | | | | | | | gcc-8.3 is stable on all the platforms for a while. Renaming 'regression-test' to 'test' for older ebuilds as well. While at it: - make test runs unconditional - drop installation of test results - add RESTRICT="!test? ( test )" - drop 'regression-test' from metadata files Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: set SLOT=${GCCMAJOR} for gcc-10*Sergei Trofimovich2019-10-271-1/+7
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: filter out -mstackrealign, bug #688580Sergei Trofimovich2019-10-261-0/+7
| | | | | | | | | | | | -mstackrealign breaks stack unwinding via _Unwind_RaiseException in libgcc_s.so.1. Not clear why exactly. Probably by breaking unwinding information during realignment. The change works it around by dropping -mstackrealign when building gcc. Reported-by: Erik Bug: https://bugs.gentoo.org/688580 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: switch to git-r3 for live ebuildsSergei Trofimovich2019-10-201-6/+8
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: enable selective stipping for EAPI=7Sergei Trofimovich2019-10-191-4/+16
| | | | | | | | | | | | | | Before the change we stripped no binaries or object files for gcc on any EAPI. After the change we strip all native binaries, libraries and object files (only on EAPI=7). Non-native binaries (cross-compiler case) is skipped by means of 'dostrip -x'. Bug: https://bugs.gentoo.org/686512 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop support for deprecated mingw-runtimeSergei Trofimovich2019-10-191-2/+1
| | | | | Bug: https://bugs.gentoo.org/584858 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add bug references to commentsSergei Trofimovich2019-10-191-12/+18
| | | | | | No functional changes. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: port to EAPI=7Sergei Trofimovich2019-10-191-2/+4
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: isolate 'epatch' into 'tc_apply_patches'Sergei Trofimovich2019-10-191-20/+23
| | | | | | | | | tc_apply_patches applies all patches and patchsets. Will ease eventual migration to EAPI=7. While at it dropped use of EPATCH_SUFFIX. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop PIE patch support for <gcc-4.2Sergei Trofimovich2019-10-191-17/+3
| | | | | | | | ::gentoo and ::toolchain don't have any ebuilds using PIE patchset. If someone really needs to resurrect these old patches it's easier to reshuffle the patchset itself. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop support for 'BRANCH_UPDATE'Sergei Trofimovich2019-10-191-24/+0
| | | | | | | BRANCH_UPDATE needs explicit tarball creation. Live ebuilds or weekly snapshots suit better for tracking upstream development. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: clarify use case of GCC_A_FAKEITSergei Trofimovich2019-10-191-0/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: move gentoo patches into own helperSergei Trofimovich2019-10-191-13/+17
| | | | | | Cleanup. No functional change. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop PATH and ROOTPATH from /etc/env.d/gcc/Sergei Trofimovich2019-09-051-2/+0
| | | | | | | | | | | | | toolchain.eclass constructs correct GCC_PATH since 2007: commit 7d9f89700a2ee50674c0d871ec6d21b468ac6206 ("start moving to GCC_PATH for env.d #174422 and cleanup " "gcc-config logic so that it doesnt matter what the ROOT value is") gcc-config moved over as well. Let's leave GCC_PATH as the only available variable to locate gcc's whereabouts. Bug: https://bugs.gentoo.org/174422 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: cleanup create_revdep_rebuild_entry()Sergei Trofimovich2019-08-251-2/+2
| | | | | | | | | | | | | From #gentoo-toolchain: """ <+[Arfrever]> It will cause that empty /etc/revdep-rebuild directory will be installed by gcc. Please move dodir to after 'is_crosscompile || return 0'. <+[Arfrever]> ${revdep_rebuild_file} should be quoted. """ Reported-by: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* eclass/toolchain.eclass: mask LIBPATH for cross-case, bug #692844Sergei Trofimovich2019-08-251-0/+15
| | | | | | | | | | | | | | | | | /usr/lib/gcc/${CTARGET}/${GCC_CONFIG_VER} contains libraries destined to be used by ${CTARGET}. revdep-rebuild complains about missing dependencies against them as we don't populate LDPATH (or anything else) for them. The change populates /etc/revdep-rebuild/05cross-${CTARGET}-${GCC_CONFIG_VER} with a single entry: SEARCH_DIRS_MASK="/usr/lib/gcc/${CTARGET}/${GCC_CONFIG_VER}" crossdev will still own root's SEARCH_DIRS_MASK="/usr/${CTARGET}". Reported-by: crocket Closes: https://bugs.gentoo.org/692844 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop USE=nptl from kgcc64, bug #642932Sergei Trofimovich2019-08-221-6/+8
| | | | | | | | | USE=nptl is neededonly for compilers that target userspace. kgcc64 is for building kernels only. Reported-by: Rolf Eike Beer Closes: https://bugs.gentoo.org/642932 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: Fix gcj's automagic dependency on dev-java/antlrJames Le Cuirot2019-08-211-4/+5
| | | | | Closes: https://bugs.gentoo.org/552882 Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* toolchain.eclass: fix gdb autoload path, bug #572480Sergei Trofimovich2019-08-211-2/+2
| | | | | | Reported-and-fixed-by: Hristo Venev Bug: https://bugs.gentoo.org/572480 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: obey user's USE=cxx option, bug #692126Sergei Trofimovich2019-08-171-1/+0
| | | | | | | | | | USE=cxx presence on typical systems is maintained by profiles/base/package.use.force entry. Let's drop silent override from the eclass. Reported-by: Agostino Sarubbo Bug: https://bugs.gentoo.org/692126 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass (do_gcc_CYGWINPORTS_patches): avoid bash-4.4ismMichael Haubenwallner2019-08-121-2/+2
| | | | | Closes: https://bugs.gentoo.org/690686 Signed-off-by: Michael Haubenwallner <haubi@gentoo.org>
* toolchain.eclass: update active cross-gcc on uninstallSergei Trofimovich2019-07-131-3/+1
| | | | | | | | | | | | | | | | gcc-config-2 changed /usr/bin/gcc from a binary to symlink in commit b907ef80bc421df23515afc4c306e4d96c67649 ("Convert binary wrapper to a symlink wrapper.") Before the above change /usr/bin/gcc worked in both cases when active cross-gcc is being uninstalled. After the above change symlink becomes dangling. The change runs `gcc-config` more aggressively. Reported-by: Pietro Closes: https://bugs.gentoo.org/680360 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add 'einfo' when last cross-compiler is removedSergei Trofimovich2019-07-131-0/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add riscv compiler abi configurationAndreas K. Hüttel2019-05-291-0/+5
| | | | Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
* eclass: add support to toolchain.eclass for muslJory Pratt2019-05-231-0/+3
| | | | Signed-off-by: Jory Pratt <anarchy@gentoo.org>
* {sys-devel/gcc,dev-lang/gnat-gpl}: add a USE for building GCC with LTOShane Peelar2019-05-131-0/+6
| | | | | | | Bug: https://bugs.gentoo.org/685634 Signed-off-by: Shane Peelar <lookatyouhacker@gmail.com> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add D language to gcc-9Sergei Trofimovich2019-05-031-0/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: USE=mpx was dropped upstream from >=gcc-9Sergei Trofimovich2019-05-031-1/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: disable USE=jit for cross-compilers, bug #594572Sergei Trofimovich2019-04-271-0/+4
| | | | | | | | | | | | | | | USE=jit is not very useful for a cross-compiler as it assumes running generated code on the host. At least avr-* targets can't build libgccjit.so. The change disables IUSE=jit for cross-compilers only. Cross-built compilers could still get libgccjit.so built for a target. Reported-by: Maciej Piechotka Reported-by: Marco Sirabella Closes: https://bugs.gentoo.org/594572 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: add support for EAPI=6Sergei Trofimovich2019-03-021-3/+8
| | | | | | | | This is s small incremental change over EAPI=5. For example epatch() is still heavily used, we'll sort it out for EAPI=7. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: avoid in_iuse in global scopeSergei Trofimovich2019-02-271-11/+20
| | | | | | | | | | | | Another tiny step towards EAPI=6+ support. 'in_iuse' helper is not allowed to query IUSE (even though we set all values locally in the eclass). Use 'TC_FEATURES' array and 'tc_has_feature' helper for equivalent purpose. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: enable verbose test loggingSergei Trofimovich2019-02-241-1/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: never pass --enable-libvtv to ./configureSergei Trofimovich2019-02-151-2/+5
| | | | | | | | | | | gcc treats --enable-libvtv as an override on top of autodetection. It it never what we want. Happens to break at least powerpc64 cross-compilers: https://bugs.gentoo.org/661252 Reported-by: Ilia Mirkin Closes: https://bugs.gentoo.org/661252 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: prepare to rename USE=regression-test->testSergei Trofimovich2019-02-101-5/+13
| | | | | | | Starting from gcc-8.3.0 FEATURES=test USE=test will be enough to run gcc's testsuite. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: fix comment typosSergei Trofimovich2019-02-041-2/+2
| | | | | Reported-by: Arfrever Frehtes Taifersar Arahesis Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: never pass --enable-libsanitizer to ./configureSergei Trofimovich2019-02-031-1/+18
| | | | | | | | | | gcc treats --enable-libsanitizer as an override on top of autodetection. It it never what we want. Happens to break at least mips cross-compilers and likely many more minor targets. Bug: https://gcc.gnu.org/PR85663 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop IUSE_DEF arraySergei Trofimovich2019-02-031-8/+4
| | | | | | | | | IUSE_DEF is just an IUSE with '+' prepended. IUSE_DEF was not used consistently. Use '+' form consistently. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: move from versionator to eapi7-ver eclassSergei Trofimovich2018-12-091-12/+12
| | | | | | Preparation to EAPI=6+ support in gcc ebuilds. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: drop info/dir index, bug #672408Sergei Trofimovich2018-12-041-0/+8
| | | | | | | | | | | | | | | | | As explained by Zac in #672408 prepinfo() was used to drop 'info/dir' index to allow portage regenerate it. gcc package does not always install 'info/dir' files (USE-dependent). This causes nondeterminism for 'info/dir' to be owned or be an orphan file. This change drops 'info/dir' unconditionally to avoid owned/orphan collisions and always make it an orphan file. Reported-by: Michal Jakubowski Bug: https://bugs.gentoo.org/672408 Bug: https://bugs.gentoo.org/587316 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* toolchain.eclass: follow move from uclibc to uclibc-ngSergei Trofimovich2018-12-021-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>