aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* crossdev: disable USE=hardened by default on bare-metalSergei Trofimovich2019-06-081-0/+1
| | | | | | | | | | | | | 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>
* Add riscv* to the Linux short listPalmer Dabbelt2019-03-181-1/+2
| | | | | | | This allows "crossdev -t riscv64" to install a RISC-V cross compiler for Linux targets. Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
* Switch from sys-libs/uclibc to sys-libs/uclibc-ng package.Sergei Trofimovich2018-12-021-2/+2
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: disable USE=jit and USE=mpx gcc-stage1Sergei Trofimovich2018-10-181-2/+2
| | | | | | | | | | | 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>
* crossdev: tweak commentSergei Trofimovich2018-10-171-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: mips64 is sometimes called mipsisa64Jason A. Donenfeld2018-09-281-6/+6
| | | | | | | 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>
* crossdev: don't enable USE=pie by default on any bare-metal targetsSergei Trofimovich2018-09-181-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* crossdev: default to USE=-pie for bare-metal mips targetsSergei Trofimovich2018-08-181-0/+8
| | | | | | | | | | | 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>
* crossdev: Make armv[67] default to hardfloat following eclass changeJames Le Cuirot2018-07-251-0/+2
| | | | | | | | | | | 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>
* crossdev: disable USE=pie for all mingw targetsSergei Trofimovich2018-05-081-1/+2
| | | | | | | | | 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>
* crossdev: unconditionally create /usr/${CTARGET}/{lib,usr/lib}Sergei Trofimovich2018-04-101-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* crossdev: add USE=mutilib reporting injected for targetsSergei Trofimovich2018-04-091-0/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: don't try to delete files from /usr/${CTARGET}/bin/Sergei Trofimovich2018-04-071-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: revert ldscripts hackSergei Trofimovich2018-04-071-12/+0
| | | | | | | | | | | | | | | 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>
* crossdev: disable fortran in gcc-stage2 no bare-metal targets, bug #589672Sergei Trofimovich2018-03-021-0/+1
| | | | | Bug: https://bugs.gentoo.org/589672 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: update help test to point to new "overlay howto" locationSergei Trofimovich2018-02-031-1/+1
| | | | | | Reported-by: gentoo@frederic-gierlinger.at Closes: https://bugs.gentoo.org/646144 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: blacklist known broken targets for PIE and SSP, bug #644930Sergei Trofimovich2018-01-201-3/+37
| | | | | | | | - 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>
* Fix parse_repo_config with regards to repository priorityDennis Schridde2018-01-071-1/+1
| | | | | | | | | | | | | | | | | | | 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>
* crossdev: uninstall gcov-{dump,tool} gprof, bug #643162Sergei Trofimovich2018-01-051-2/+2
| | | | | | | | | | | | | 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>
* crossdev: whitelist USE=sanitize on powerpc*-*gnu*Sergei Trofimovich2017-12-301-1/+1
| | | | | | | | 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>
* crossdev: prepare for CROSSCOMPILE_OPTS=headers-only -> USE=headers-only ↵Sergei Trofimovich2017-12-301-4/+4
| | | | | | | | | | | | | | | 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>
* crossdev: allow set_eopts_on_pkg_status() to accept multiple USE flagsSergei Trofimovich2017-12-301-4/+15
| | | | | | | The semantics is "any-of" passed flags (if enabled) triggers full package rebuild. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: drop CROSSCOMPILE_OPTS="bootstrap"Sergei Trofimovich2017-12-301-3/+1
| | | | | | | | 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>
* crossdev: add a comment around set_eopts_on_pkg_status()Sergei Trofimovich2017-12-301-0/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: change USE=vtv to whitelistSergei Trofimovich2017-12-291-1/+23
| | | | | | | | | | | | | | | 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>
* crossdev: change USE=sanitize to whitelistSergei Trofimovich2017-12-281-2/+24
| | | | | | | | | | | | | | 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>
* Disable USE=sanitize on bare metal targetsSergei Trofimovich2017-12-271-0/+2
| | | | | | | | | | 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>
* crossdev: turn on multilib for bare metal arm cortex-MSteve Arnold2017-12-121-0/+3
| | | | | | | | | | | * note this is required for a toolchain that supports more than one cpu/fpu * also note this needs some toolchain patches for proper multilib and armv8-M support (currently applied in ada overlay) * grab from dev.g.o/~nerdboy/files/gcc-6.4.0-arm-patches-1.0.tar.gz and apply after other patches (or the ned of src_prepare) Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* crossdev: force USE=-pie for cross-avr toolchainSteve Arnold2017-11-231-3/+3
| | | | Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* Add 'mmix' target, bug #609602Sergei Trofimovich2017-11-211-0/+8
| | | | | | | | | | | Add basic support for MMIX by Matthias Maier. Usage example: $ crossdev -t mmix Closes: https://bugs.gentoo.org/609602 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* add hppa64-* target supportSergei Trofimovich2017-11-211-0/+7
| | | | | | | | | | | | | This target builds only C compiler by default. No glibc or linux headers as 64 userspace ABI is not defined yet. See https://parisc.wiki.kernel.org/index.php/Userspace64 Usage example: $ crossdev -t hppa64-unknown-linux-gnu Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* crossdev: remove support for undocumented -b -d -p -v -q -pv -vp options, ↵Sergei Trofimovich2017-11-191-2/+0
| | | | | | | | | | | | | | | | | | | | bug #638182 In bug #638182 Maciej tried to use crossdev as: crossdev -t x86_64-w64-mingw32 -b 2.28.1 which attempted to build configs for '2.28.1' target. crossdev silently passed '-b' to emerge and treated next argument as target option. This change removes all undocumented options. Use '-P <option>' instead. That way typo is reported correctly as: * UNKNOWN OPTION: '-b' Bug: https://bugs.gentoo.org/638182 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Update avr/armv7m with USE=cxx for stage4, use crossdev HCHOST variableSteve Arnold2017-10-241-4/+5
| | | | | | * upstream projects need c++, however, stage3 is still the default Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* sys-devel/crossdev: fix silly typo in link targetSteve Arnold2017-10-141-2/+2
| | | | Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* Revert "ROOT method for glibc."Steve Arnold2017-10-141-8/+2
| | | | This reverts commit d770cdb3feb397cedfdc36ac4b9f07f984152c86.
* sys-devel/crossdev: avr: disable pie, set default stage, make symlinkSteve Arnold2017-10-141-11/+11
| | | | | | more robust Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* sys-devel/crossdev: Fix avr hack, move it inside doemerge blockSteve Arnold2017-10-131-8/+9
| | | | Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* sys-devel/crossdev: add one more avr-specific hackSteve Arnold2017-10-121-1/+11
| | | | | | * link ldscripts to the right place (parameterized and expandable even) Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* sys-devel/crossdev: add fixes for several bugs and patchesSteve Arnold2017-10-121-1/+9
| | | | | | | | | | | | * pull in EPREFIX/ROOT fixes from heroxbd on github * includes portage patch for functions path * add snippet to force multilib on for avr targets see: https://github.com/heroxbd/crossdev https://bugs.gentoo.org/show_bug.cgi?id=378387 http://forum.arduino.cc/index.php?topic=93672.0 Signed-off-by: Steve Arnold <nerdboy@gentoo.org>
* ROOT method for glibc.Benda Xu2016-06-261-2/+8
|
* crossdev: use new path for functions.shBenda Xu2016-06-251-1/+1
|
* prefixify build system and scripts.XU Benda2016-06-251-23/+29
|
* crossdev: handle new gcc USE=vtv flagMike Frysinger2016-06-021-1/+1
| | | | | | | Make sure we mask it out in the first pass. URL: https://bugs.gentoo.org/582582 Reported-by: Doug Goldstein <cardoe@gentoo.org>
* crossdev: catch more mkdir/write failuresMike Frysinger2016-06-021-8/+9
|
* crossdev: make multilib eclass loading/parsing more robustMike Frysinger2016-06-021-4/+7
| | | | | | | | | Be a bit more proactive in detecting errors so we don't hit another infinite loop. URL: https://bugs.gentoo.org/531044 Reported-by: Ulrar <lemonnier.k@gmail.com> Reported-by: Samuel Loewen <samuellwn@gmail.com>
* crossdev: handle multiple repos at same prio levelMike Frysinger2016-06-021-3/+10
| | | | | | | | | | | This helps fix an infinite recursion issue when trying to load the multilib eclass environment. URL: https://bugs.gentoo.org/531044 URL: https://bugs.gentoo.org/540586 Reported-by: Ulrar <lemonnier.k@gmail.com> Reported-by: Malte Starostik <bugs@xodtsoq.de> Reported-by: Samuel Loewen <samuellwn@gmail.com>
* crossdev: source only once user env settingsBertrand Jacquin2015-10-261-5/+5
| | | | | | | | | | | | | | | | | | When /etc/portage/crossdev/${CTARGET} exist, the output looks like: * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings * Restoring generic user env settings Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* crossdev: clean up binutils dwp program when uninstallingAlexander Tsoy2015-10-151-1/+1
| | | | | | URL: https://bugs.gentoo.org/562522 Signed-off-by: Alexander Tsoy <alexander@tsoy.me> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* crossdev: fix gensub 3rd argMike Frysinger2015-08-121-1/+1
| | | | | | | Newer gawk points out that the 3rd arg to gensub should be a string with either "g" or "G", or should be a number. An empty string is invalid. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* crossdev: support repo-name in layout.confMike Frysinger2015-06-021-2/+5
| | | | | | | When building repos that only use repo-name in layout.conf, crossdev does not properly build the masters setting for its own layout.conf. Signed-off-by: Mike Frysinger <vapier@chromium.org>