| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
ebuilds
Without this, gcc --version ends up only showing the commit resulting from
applying our patches on top.
With this fixed, gcc --version shows both the upstream commit & the commit hash
after applying patches.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
This should be set in profiles going forward, not in toolchain.eclass.
Bug: https://bugs.gentoo.org/890999
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
for 13
- Wire up modula-2 frontend support for GCC 13 as USE=modula2
- Drop Rust for GCC 13, upstream are going to make it fatal for configure
for 13.1, but may revisit for 13.2 (not sure how likely that is, though, it depends
on how much ends up backported). Rust will be available for GCC 14 though. We will
revisit if changes occur, of course.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Followup to 85db50a7c626a1844c8eb2d03051c8c5d320c205.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We now do --enable-checking=yes,extra,rtl after discussion in #gcc for USE=debug.
If rtl is too slow, we can do just yes,etra.
We've actually found yet another bug with our general change for snapshots
to start using checking, too: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109506.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that this only affects actually-non-released compilers like GCC 13
at this point in time and *not* snapshots from the stable branches.
Upstream default to more checking (asserts/runtime integrity checks) when
'gcc/DEV-PHASE' contains 'experimental'. Copy that and defer to the configure.ac
default when it does.
The practical upshot of this is that we go from --enable-checking=release
for GCC 13 to --enable-checking=yes,extra.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
Thanks to codespell.
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
| |
This avoids globbing, see: https://www.shellcheck.net/wiki/SC2223
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
mirror://gnu doesn't always have snapshots, but mirror://gcc do. See
https://gcc.gnu.org/mirrors.html.
Needed because of the ongoing gnu.org DNS and availability issues.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
| |
Otherwise we can't disable it for some targets. Followup to
970f09a488afafe27152255d4343ff59acc94415.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
It doesn't support LTO and fails in stage1 crossdev.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Closes: https://github.com/gentoo/gentoo/pull/30061
Signed-off-by: David Seifert <soap@gentoo.org>
|
|
|
|
|
|
|
| |
This behavior is relied on elsewhere, for setting BDEPENDs correctly.
Fixes: a39d1669ca0f4 ("toolchain.eclass: adjust D dep for non-gcc")
Signed-off-by: Arsen Arsenović <arsen@gentoo.org>
|
|
|
|
| |
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Standalone prefix has always configured gcc with a sysroot, but the
location of this sysroot is different at build time when
cross-compiling. gcc has a separate configure option for that.
prefix-guest systems do not have a sysroot applied, as they use the
host's libc.
Move this code from the prefix profile into the eclass so that it's less
of a special case. We can avoid relying on the `BOOTSTRAP_RAP_STAGE2`
variable by checking for the `prefix-guest` USE flag instead, as a
prefix-guest profile is now used for RAP stage 2.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
USE=hardened will now imply:
- default -D_FORTIFY_SOURCE=3 (instead of 2 for normal profiles)
- default -D_GLIBCXX_ASSERTIONS
Bug: https://bugs.gentoo.org/876895
Bug: https://bugs.gentoo.org/884417
Bug: https://bugs.gentoo.org/847148
Bug: https://bugs.gentoo.org/876893
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Fixes: adf44514cf590a860b3140efae31187854cf8cea
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
12.2.1_p20221203
Bug: https://bugs.gentoo.org/675050
Bug: https://bugs.gentoo.org/876923
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/882815
Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
|
|
|
|
|
| |
Fixes: 476e425a52e834eb067f44c98a8c1faefdef260b
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Noticed by Arfrever.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
This reverts commit 803ac64d367c4c865a2c30f1196dfec95dc7fee1.
This was dropped upstream and no snapshots of GCC 13
in Gentoo use the variables from this commit anymore.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Adds TOOLCHAIN_SPHINX_BUILD. Upstream have converted their docs
to Sphinx and it's needed for man, info, and HTML docs.
There's no progress yet on including the files in dist tarballs though.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Flip over to major version install paths to reflect the
change in slotting we made between 9 and 10. We only slot
major versions now, so we should have our install paths
reflect that for:
1. principle of least surprise;
2. we want LDPATH to remain valid between upgrades (bug #865835, bug #873505).
Bug: https://bugs.gentoo.org/865835
Bug: https://bugs.gentoo.org/873505
Signed-off-by: Sam James <sam@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/27533
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
This reverts commit 4505e063f64a7539222d0ccb224f6fa6b1832fc8.
Didn't mean to push yet.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
This reverts commit 7011340a0f13dcada6f3be48054957035bc6e01a.
This ended up being insufficient.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The features/clang profile sets AS="clang -c".
1. We can't use llvm-as because it's essentially for
internal use and isn't compatible anyway with cmdline args.
2. "clang -c" doesn't recognise --64 which configure
tries to add.
So, fake nothing to avoid configure trying to add that in.
See: 59d666d032353b054e3cdf4f18ad55e3346e73ca
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
| |
Necessary but not sufficient. Needs a pkg_setup/pkg_pretend
check for whether the active compiler supports Ada still,
just like D needs this too (which isn't done either).
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Snapshots don't (yet?) contain pre-generated info pages (and man
pages, but that's turned out not to be an issue, as they get
regenerated and nobody notices).
Given it's often easier and more sensible to keyword a snapshot
from one of the stable branches upstream rather than cherry-picking
patches, we need to make sure we don't regress with the documentation
provided when we do that.
Allow re-generation of info pages using texinfo for snapshots;
we have a safeguard (eqawarn) for if they start appearing in
snapshots and nobody noticed.
Closes: https://bugs.gentoo.org/834845
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Needed for sys-devel/kgcc64.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 903b71810e0b270a7d494e16e2d799fcd95ae50f.
The commit caused default libgcc to be built in thumb mode for armv6m
target, but it broke subsequent compilation of newlib via crossdev.
The whole reason of this commit was to have the compiler generate
correct code when libgcc was used in thumb mode, but now this is not
needed anymore, because now we configure gcc with
--with-multilib-list=aprofile,rmprofile for CTARGET=arm-* when used with
multilib, which generates compiler that builds correct binaries for
-march=armv6-m even if libgcc is used.
Signed-off-by: Marek Behún <kabel@kernel.org>
Closes: https://github.com/gentoo/gentoo/pull/26914
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For ARM targets, with USE=multilib and with CTARGET that does not imply
any of --with-arch, --with-cpu, --with-mode or --with-float options to
gcc's configuration (when arm_arch=arm), pass option
--with-multilib-list=aprofile,rmprofile to gcc's configuration to make
it build multilibs for A, R and M architecture profiles.
This makes it possible to have one compiler capable of generating
correct code (linking correct libgcc/CRT) for various ARM targets: from
armv6 to armv7, for both soft float and half float, for various FPU
types.
Example of arm-none-eabi-gcc -print-libgcc-file-name output for various
options:
default:
/usr/lib/gcc/arm-none-eabi/12.1.1/libgcc.a
-mcpu=cortex-m0
/usr/lib/gcc/arm-none-eabi/12.1.1/thumb/v6-m/nofp/libgcc.a
-march=armv7-m
/usr/lib/gcc/arm-none-eabi/12.1.1/thumb/v7-m/nofp/libgcc.a
-march=armv7-a
/usr/lib/gcc/arm-none-eabi/12.1.1/thumb/v7-a/nofp/libgcc.a
-march=armv7-a -mhard-float -mfpu=neon
/usr/lib/gcc/arm-none-eabi/12.1.1/thumb/v7-a+simd/hard/libgcc.a
-march=armv7-a -mhard-float -mfpu=vfp
/usr/lib/gcc/arm-none-eabi/12.1.1/thumb/v7-a+fp/hard/libgcc.a
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Needed to build older GCCs with GCC 12. Noticed w/ 9.5.0.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is what GCC developers do, so let's give it a try. Note that
folks will have to (for now?) set GCC_TESTS_IGNORE_NO_BASELINE=1
for it to succeed if src_test failed for the first time & they don't
have any test data saved for that slot.
The test data is stored in ${EPREFIX}/var/cache/gcc/${SLOT}. GCC
upstream's contrib/compare_tests script performs the comparison.
We may want to investigate shipping baseline results / gathering
them in a repo somewhere.
We may also in future want to install this data as orphaned
so that it's kept around and not lost when upgrading versions
and to allow cross-slot comparison when an old one is depcleaned
(although I guess doesn't matter so much if it's first time, but still).
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/849359
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
The others are masked, but w/e.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
To build GCC 12+ w/ D, we need a D compiler. For now, depend
on GCC with D enabled. And give a hint to the PM that an older
GCC is likely to do the job to break the cycle, as those don't
need D to build their D support. Just in newer versions.
Closes: https://bugs.gentoo.org/840182
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
| |
Just like Fedora and opensuse do.
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Users should *absolutely not* do this. It's just useful for quickly
testing eclass changes.
The resultant compiler may not be safe to use. Especially so if
unusual flags and environment is used.
Signed-off-by: Sam James <sam@gentoo.org>
|