| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Today ::gentoo dropped support for EAPI=0 from multilib.eclass
and toolchain-funcs.eclass. Due to lack of error handling on
crossdev side srossdev derived wrong environment for $CTARGET
(and mostly fell back to CHOST).
This caused at best failing early on gcc-stage1 build. At worst
crossdev installed libraries into a wrong $(get_libdir), installed
symlinks from wrong host and other disasters.
Previous crossdev commits make crossdev crash earlier instead of
generating wrong environment. This commit allows dropping EAI=0
support for eclasses eventually.
Reported-by: Marco Scardovi (scardracs)
Bug: https://bugs.gentoo.org/797367
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the change failure to source 'multilib.eclass' resuled in
a fallback mode to be used instead of hard failure.
It was caused by two expansion layers of 'eval $(...)'.
After the change falure to source 'mmultilib.eclass' hard fails early:
```
$ PORTAGE_CONFIGROOT=$(pwd)/foo EPREFIX=$(pwd)/foo PORT_LOGDIR=$(pwd)/foo ./crossdev -t mmix -P -p
* error: : EAPI 0 not supported
*
* If you file a bug, please attach the following logfiles:
* /home/slyfox/dev/git/crossdev/foo/cross--info.log
*
* error: could not load multilib settings for 'HCHOST'
*
* If you file a bug, please attach the following logfiles:
* /home/slyfox/dev/git/crossdev/foo/cross-mmix-info.log
```
Reported-by: Marco Scardovi (scardracs)
Bug: https://bugs.gentoo.org/797367
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
portage uses profiles/categories from all overlays and we don't need to
define them in /etc/portage/categories
Closes: https://bugs.gentoo.org/762772
Signed-off-by: Sven Wegener <swegener@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gentoo's USE=hardened unconditionally enables stack check code
generation not compatible with external libssp. This leads to
gcc ICEs like:
libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc
Disable USE=hardened until it works on gcc side.
Reported-by: redsh
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
::gentoo does not have stable keywords for newlib for a while.
Let's default to 'latest' to make standard use case to just work.
Reported-by: Thymo van Beers
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: Paul Bordukov
Bug: https://bugs.gentoo.org/751295
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
::gentoo does not have stable keywords for mingw64-runtime for a while.
Let's default to 'latest' to make standard use case to just work..
Reported-by: i.Dark_Templar
Bug: https://bugs.gentoo.org/733346
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the output overlay is completely removed during uninstall, it is
incorrect to leave behind the repos.conf file since the location
specified in the conf file points to a non-existing directory.
We scan all the conf files under ${CONFIGROOT}/repos.conf, looking for
the file that defines the output overlay and remove it if it is
managed by crossdev.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the output overlay is created solely for one specific CTARGET, and
not modified by the user in any way, it makes no sense to leave it
behind.
Remove the output overlay if the following conditions are met:
- The profiles/categories is empty
- metadata/layout.conf is managed by crossdev
- The only files in the overlay are profiles/categories and metadata/layout.conf
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
If we remove the category cross-${CTARGET} in the output overlay,
remove the category itself from profiles/categories.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If --ov-output is specified on the command line but there is no
corresponding repos.conf entry for the output overlay, it is of no use
since the package manager will not take it into consideration.
Determine and create a repos.conf entry when necessary for the output
overlay. Derive it's name from the basename of the overlay path and
also take into account possible file path collisions.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When '--ov-output' is not provided, crossdev searches the list of
overlays for a repo matching the name "crossdev" or
"cross-${CTARGET}". When there is a match for "cross-${CTARGET}" but
the location does not exist, crossdev attempts to populate the overlay
structure. However, it incorrectly names the repo "crossdev" in
metadata/layout.conf under repo-name, as opposed to
"cross-${CTARGET}". This creates further problems when the list of
overlays is restricted using the '--overlays' option, given that the
name of the repo under repos.conf will not match what is in
layout.conf.
Use the correct repo-name when creating layout.conf. This preserves
the default behavior of using the repo-name "crossdev" when
'--ov-output' is provided.
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: Doppler
Bug: https://bugs.gentoo.org/706212
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Set USE=-ssp by default. User can still manually override
via environment variable to see how it breaks:
USE=ssp crossdev -t i686-gentoo-linux-musl
Reported-by: Andrew Aladjev
Bug: https://bugs.gentoo.org/706210
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
In bug #500338 attempt to install toolchain for secondary ABY (x86 on amd64
system) clobbered native tools with tools that target --systroot=/usr/${CTARGET}.
That is never an intended state. Block all CHOSTs and suggest using
sys-devel/multilib-gcc-wrapper for distcc-like workloads.
Bug: https://bugs.gentoo.org/500338
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
These require toolchain version not present in ::gentoo
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
From now on to get a 32-bit toolchain users would need to specify
full tuple like:
i686-w64-mingw32
That will use 'dev-util/mingw64-runtime'.
Bug: https://bugs.gentoo.org/584858
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
gcc can't build libgcc2.c on --without-headers setup.
Needs more investigation.
Reported-by: Kyle Elbert
Bug: https://bugs.gentoo.org/693770
Bug: https://bugs.gentoo.org/693730
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In https://sourceware.org/PR24577 we discovered that riscv
can't really install libc headers as it needs a cross-compiler.
Before this change we had the following default build order:
- cross-binutils
- kernel/libc headers
- stage1 gcc
- glibc
- stage2 gcc
After this change it's:
- cross-binutils
- stage1 gcc
- kernel headers
- glibc
- stage2 gcc
Users can still fors headers installation with '--ith-headers' option.
Bug: https://sourceware.org/PR24577
Bug: https://bugs.gentoo.org/692052
Bug: https://bugs.gentoo.org/686248
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/692844
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
USE=hardened enables more stack-check options by default
At least on arm-none-eabi that causes build failure:
gcc-8.3.0/libstdc++-v3/libsupc++/array_type_info.cc:30:2:
sorry, unimplemented: -fstack-check=specific for Thumb-1
{}
^
Reported-by: Bertrand Jacquin
Bug: https://bugs.gentoo.org/687598
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
| |
This allows "crossdev -t riscv64" to install a RISC-V cross compiler for
Linux targets.
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
jit and mpx need working libc to link against it.
gcc-stage1 is too early for it.
Disable those as well.
Reported-by: Andrius Štikonas
Bug: https://bugs.gentoo.org/666880
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
| |
This is the case for tuples like `mipsisa64r6-pc-linux-gnu`, which are
required for making a working mips64r6 compiler.
Signed-off-by: Jason A. Donenfeld <zx2c4@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately embedded world has a long way to go
to adopt --enable-default-pie as a first class citizen.
Note:
--enable-default-pie enabled two things:
- PIC-friendly code generation (-fPIE)
- PIE executables (-pie)
Normally one would expect firmware to pass compiler modes explicitly
to gcc: -fPIC (or -mauto-pic, -fno-PIC), -ffreestanding, -nostdlib.
Unfortunately upstreams are frequently reluctant to explicitly specify
new moving parts available in gcc (in this case -no-pie) and expect
gcc to behave as it used to in the world before --enable-default-pie.
Unfortunate but not entirely unreasonable.
Disable --enable-default-pie until user explicitly requests USE=pie.
Reported-by: Bertrand Jacquin
Reported-by: sklv
Bug: https://lists.gnupg.org/pipermail/gnuk-users/2018-August/000086.html
Bug: https://github.com/gl-sergei/u2f-token/issues/14
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
When built with pie-by-default compiling gcc fails as:
cc1: error: position-independent code requires ‘-mabicalls’
Tested as:
USE=-pie crossdev -t mipsel-elf
Reported-by: rhn
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
armv7a-unknown-linux-gnueabi would have previously been treated as
hardfloat but is now softfloat.
I have removed the armv7a-hardfloat-linux-gnueabi-7.3.0 example from
the README to avoid confusion even though it does still work.
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Jernej reports that x86_64-w64-mingw32 also exhibits
the same runtime failures with USE=pie.
Reported-by: Jernej Simoncic
Bug: https://bugs.gentoo.org/644930
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Copying note as-is here:
```
Create directories usually created by sys-apps/baselayout
Why we do that at all:
For multilib-aware targets (ppc64, s390x, sparc64, x86_64) Gentoo
normally uses libdir=lib64.
For crossdev it means /lib and /usr/lib does not get created at all
but gcc relies on their presence by refering to =/lib64 as
=/usr/lib/../lib64 when builds itself (see https://bugs.gentoo.org/652724)
Thus we create non-symlinked layout early.
```
Before the change 'crossdev -t powerpc64le-foo-linux-gnu' failed
at gcc-stage2 as:
```
... \
-shared -nodefaultlibs -Wl,--soname=libgcc_s.so.1 \
-o ./libgcc_s.so.1.tmp \
... \
/usr/libexec/gcc/powerpc64le-foo-linux-gnu/ld:
cannot find crti.o: No such file or directory
access("/usr/powerpc64le-foo-linux-gnu/usr/lib/../lib64/crti.o", R_OK) = -1
ENOENT (No such file or directory)
```
The change adds empty directory '/usr/powerpc64le-foo-linux-gnu/usr/lib'
to make ld probing finally find 'crti.o' in $SYSROOT.
Reported-by: Luke-Jr
Bug: https://bugs.gentoo.org/652724
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 03640757f2af1471324fc3e305f899f377d6409d
("add one more avr-specific hack")
added ${EPREFIX}/usr/${CTARGET}/lib/ldscripts symlink for avr targets.
The bug was not avr-specific but manifested only on avr ecause it's one
of rare targets that don't embed default inker scripts intofinal ld executable.
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b023986de7d466d361798bae98f45f8ba7a42e8a
fixed search path in binutils ebuild and we are safe to revert this change.
Bug: https://bugs.gentoo.org/147155
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/589672
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: gentoo@frederic-gierlinger.at
Closes: https://bugs.gentoo.org/646144
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
- SSP is not supported by alpha, hppa, ia64, avr, nios2, mmix
- PIE is not supported by avr, mmix, mingw32
Bug: https://bugs.gentoo.org/644930
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a multi-part message in MIME format.
I just noticed a typo in the commit message. Please commit this patch
instead.
From 0d0b4653e44f807802ef1fa9647c7395d6625609 Mon Sep 17 00:00:00 2001
From: Dennis Schridde <devurandom@users.noreply.github.com>
Date: Wed, 3 Jan 2018 23:41:53 +0100
Subject: [PATCH] Fix parse_repo_config with regards to repository priority
Before this patch, the repository config would be inserted into a more or less
place for the respective priority, resulting in a non-contiguous array, which
would no longer be fully enumerated by an awk for loop. Hence the config of
repositories with the same priority would be omitted for all but the first
few entries.
Signed-off-by: Dennis Schridde <devurandom@gmx.net>
|