| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On non-prefixed systems, cross-emerge installs to /usr/${CHOST} by
default. On prefixed systems, this default effectively becomes
${BROOT}/usr/${CHOST}/${BROOT}, which is unexpected and makes little
sense. The first BROOT originates from the ROOT setting in the cross
make.conf. The second BROOT is the prefix that Portage is configured
to use by default.
We therefore need to avoid the second BROOT by overriding Portage with
a blank EPREFIX value. Note that a bug in Portage itself means that
this is ineffective on versions before 2.3.69 but it's no worse than
it was before either.
For users who do want to set their own EPREFIX, the PORTAGE_CONFIGROOT
default has been updated to ${SYSROOT}${EPREFIX} as the prefixed
location is required for this variable. This is despite man emerge
suggesting otherwise!
Closes: https://bugs.gentoo.org/642604
Signed-off-by: James Le Cuirot <chewi@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>
|
|
|
|
| |
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
|
|
|
|
|
|
|
| |
This allows "crossdev -t riscv64" to install a RISC-V cross compiler for
Linux targets.
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
|
|
|
|
|
|
| |
Reported-by: Fabio Rossi
Bug: https://bugs.gentoo.org/594576
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now crossdev imports cache variables from
/etc/crossdev/include/site
The file format is the same as
/usr/share/crossdev/include/site
it is useful to drop local overrides.
Reported-by: Alon Bar-Lev
Bug: https://bugs.gentoo.org/264074
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
PREFIX assumes leading '/'. Thus the idiom is
$(DESTDIR)$(PREFIX)/foo
and not
$(DESTDIR)/$(PREFIX)/foo
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
| |
Leave __<var>__ substitutions for runtime substitution
and keep @<var>@ for 'make install' substitution.
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
libtool.m4 uses lt_cv_to_host_file_cmd to store the name of a function
used to convert between unix and win32 path styles; when doing a linux to
mingw cross-compilation it ends up with func_convert_file_nix_to_w32
which uses the winepath utility to do the job. However, using that tool
will create a wineprefix in ${CATEGORY}/${P}/homedir and potentially
cause access violations in sandbox.
Bug: https://bugs.gentoo.org/631492
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>
|
|
|
|
| |
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>
|
|
|
|
|
| |
Reported-by: Marty E. Plummer
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Flags should be one per line, not multiple:
--- Invalid USE flag in 'use.force': '-kernel_linux kernel_linux'
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Need for make.defaults:
portage does not allow ARCH override in make.conf anymore
Need for use.force:
embedded profile enforces linux target on us. It's ok as a default
but would be nice to be able to override it with nothing (bare-metal)
or other OS without existing profile.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 21a0f5a3d83084436e6f6b66114cc5c593528866
("cross-emerge: tweak EPREFIX handling to be POSIX sh, bug #650100")
introduced a bug:
$ foo-emerge
foo-emerge: line 13: [: =: unary operator expected
Tweak it by quoting 'test' argument.
Reported-by: Marty E. Plummer
Bug: https://bugs.gentoo.org/650100
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Reported and fixed by Scall.
Reported-by: Scall
Fixed-by: Scall
Closes: https://bugs.gentoo.org/650100
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What hanetzer writes:
"""
These files are left behind after using `crossdev -C ${CHOST}` and should be
cleaned. the files are copies of /usr/$libdir/misc/gcc-config and should be
safe to delete.
"""
Closes: https://bugs.gentoo.org/643162
Fixed-by: hanetzer@startmail.com
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
glibc, musl, uclibc and uclibc-ng all define needed signals
and syscalls needed for job control.
Reported-by: Felix Janda
Bug: https://bugs.gentoo.org/553988
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
re_compile_pattern is present in glibc, uclibc, uclibc-ng, but not musl
Reported-by: Felix Janda
Bug: https://bugs.gentoo.org/553988
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Reported-by: Marty E. Plummer
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
While at it fix glob for powerpc64 and aarch64.
Noticed by Joakim Tjernlund!
Reported-by: Joakim Tjernlund
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Reported-by: Marty E. Plummer
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
transition
Crossdev will provide both
CROSSCOMPILE_OPTS=headers-only USE=headers-only
to early toolchain bootstrap stage while ::gentoo
is not completely migrated off CROSSCOMPILE_OPTS=headers-only
The longer-term plan is to get rid of 'CROSSCOMPILE_OPTS=' completely.
Reported-by: Michał Górny
Bug: https://bugs.gentoo.org/642712
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
| |
The semantics is "any-of" passed flags (if enabled) triggers full package
rebuild.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
CROSSCOMPILE_OPTS="bootstrap" does not guard any code in ::gentoo or ::toolchain
I did not find any code in gcc ebuilds handling 'crosscompile_opts_bootstrap'.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
| |
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Gentoo profiles enable vtv only for x86, amd64, arm and arm64.
vtv is known to be broken at least for:
- musl libc
- bare metal targets
- powerpc, powerpc64 (compiler SEGISEGVs: bug #618786)
- hppa, ia64 (missing vtv crt* files)
User can still explicitly enable vtv by tweaking
/etc/portage/package.use/cross-${CTARGET}
Bug: https://bugs.gentoo.org/618786
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
asan needs explicit support code for every arch/OS.
Currently the following seem to have support:
- amd64-glibc
- x86-glibc
- arm-glibc
- aarch64-glibc
- powerpc64-glibc
- mips-glibc
- mips64-glibc (n32 ABI, fails to build)
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
USE=sanitize needs explicit support from OS to implement sanitizers.
Currently those are implemented for Linux and *BSDs.
Noticed by |Jeroen| on #gentoo-arm when building:
crossdev -t arm-none-eabi
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|