[gentoo-commits] proj/crossdev:master commit in: wrappers/site/
commit: 9cc43baef9c8a70213a48815d38cc395084f3902 Author: Sam James gentoo org> AuthorDate: Sun Jan 19 17:06:32 2025 + Commit: Sam James gentoo org> CommitDate: Sun Jan 19 17:06:32 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9cc43bae wrappers: site: cleanup typo & link in comments Signed-off-by: Sam James gentoo.org> wrappers/site/linux | 2 +- wrappers/site/linux-gnu | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wrappers/site/linux b/wrappers/site/linux index cb6b191..0190908 100644 --- a/wrappers/site/linux +++ b/wrappers/site/linux @@ -22,7 +22,7 @@ gio_can_sniff=yes # everywhere, mark the test as yes. ac_cv_func_mmap_fixed_mapped=yes -# coreutils. https://bugs.gentoo.org/show_bug.cgi?id=177061 +# coreutils. https://bugs.gentoo.org/177061 fu_cv_sys_stat_statvfs=yes gl_cv_func_rename_trailing_dest_slash_bug=no gl_cv_func_rename_trailing_slash_bug=no diff --git a/wrappers/site/linux-gnu b/wrappers/site/linux-gnu index 102be13..882c26d 100644 --- a/wrappers/site/linux-gnu +++ b/wrappers/site/linux-gnu @@ -14,7 +14,7 @@ gl_cv_func_re_compile_pattern_working=yes ac_cv_have_abstract_sockets=yes # autoconf-provided macros. -# The AC_FUNC_WAIT3 macro uses AC_RUN. Iit's obsolete, but some still use it. +# The AC_FUNC_WAIT3 macro uses AC_RUN. It's obsolete, but some still use it. ac_cv_func_wait3_rusage=yes # app-admin/sudo-1.7.2_p1
[gentoo-commits] proj/crossdev:master commit in: /
commit: 8f3a29fe8dd2e70882c016497507ebb036120f23 Author: Sam James gentoo org> AuthorDate: Sun Jan 12 18:39:12 2025 + Commit: Sam James gentoo org> CommitDate: Sun Jan 12 18:39:25 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=8f3a29fe crossdev: update --ex-gcc description gcj is gone. Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 59eb836..57c9bb0 100755 --- a/crossdev +++ b/crossdev @@ -98,7 +98,7 @@ External Tooling Options: Extra Fun (must be run after above stages): ${GOOD}--ex-only${NORMAL}Skip the stage steps above -${GOOD}--ex-gcc${NORMAL} Build extra gcc targets (gcj/ada/etc...) +${GOOD}--ex-gcc${NORMAL} Build extra gcc targets (ada/d/fortran/etc...) ${GOOD}--ex-gdb${NORMAL} Build a cross gdb ${GOOD}--ex-pkg${NORMAL} pkg Build extra packages (may be used multiple times)
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 6c8d0147034871cd89d02e5470e775756fbdec52 Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:53:29 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:56:57 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6c8d0147 ci: add powerpc64le-unknown-linux-gnu Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 8d9fbfa..840ab95 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -63,6 +63,7 @@ jobs: - target: powerpc-unknown-linux-musl - target: powerpc64-unknown-linux-gnu - target: powerpc64-unknown-linux-musl + - target: powerpc64le-unknown-linux-gnu - target: riscv32-unknown-linux-gnu # busybox fails to build: `‘SYS_settimeofday’ undeclared`. # - target: riscv32-unknown-linux-musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 8e4ef49ce468b9d6658f18d2dc7279c2779ab551 Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:55:28 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:56:58 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=8e4ef49c ci: add more arm targets Add softfp and hardfp targets for armv6j and armv7a. Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 840ab95..f265484 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -28,12 +28,12 @@ jobs: - target: armeb-unknown-linux-gnueabihf - target: armeb-unknown-linux-musleabi - target: armeb-unknown-linux-musleabihf - # glibc fails to build: `attempt to use an ARM instruction on a - # Thumb-only processor`. - # - target: armv7-unknown-linux-gnueabi - # - target: armv7-unknown-linux-gnueabihf - target: armv7-unknown-linux-musleabi - target: armv7-unknown-linux-musleabihf + - target: armv6j-softfp-linux-gnueabi + - target: armv6j-unknown-linux-gnueabihf + - target: armv7a-softfp-linux-gnueabi + - target: armv7a-unknown-linux-gnueabihf - target: hppa1.1-unknown-linux-gnu - target: hppa2.0-unknown-linux-gnu - target: hppa64-unknown-linux-gnu
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: de7ff73d292928a9e2168cc0a0860340f09c8e0f Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:57:41 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:57:41 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=de7ff73d ci: add aarch64_be-unknown-linux-gnu Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index f265484..f74cf03 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -19,6 +19,7 @@ jobs: target: - target: aarch64-unknown-linux-gnu - target: aarch64-unknown-linux-musl + - target: aarch64_be-unknown-linux-gnu - target: alpha-unknown-linux-gnu - target: arm-unknown-linux-gnueabi - target: arm-unknown-linux-gnueabihf
[gentoo-commits] proj/crossdev:master commit in: /
commit: aa924c1dd55492910d348eb870fd960450f29cdb Author: Sam James gentoo org> AuthorDate: Sat Jan 4 08:40:09 2025 + Commit: Sam James gentoo org> CommitDate: Sat Jan 4 10:27:09 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=aa924c1d crossdev: special-case bpf Avoid needing to pass -s1/-s2 manually: C-only and no linux-headers. Signed-off-by: Sam James gentoo.org> crossdev | 7 +++ 1 file changed, 7 insertions(+) diff --git a/crossdev b/crossdev index cfdb93f..59eb836 100755 --- a/crossdev +++ b/crossdev @@ -270,6 +270,13 @@ parse_target() { WITH_DEF_HEADERS="no" ;; + bpf*) + # Doesn't support C++ and friends + STAGE_DEFAULT=${STAGE_C_ONLY} + # No linux-headers needed/required + WITH_DEF_HEADERS="no" + ;; + # Has no glibc support yet (or even ABI defined). Can # only compile linux kernel: # https://parisc.wiki.kernel.org/index.php/Userspace64
[gentoo-commits] proj/crossdev:master commit in: scripts/
commit: 3345d024a61673fed420dfa3a39d8bb6fb17a109 Author: Sam James gentoo org> AuthorDate: Sat Jan 4 00:13:01 2025 + Commit: Sam James gentoo org> CommitDate: Sat Jan 4 08:44:18 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=3345d024 ci: try to get binpkgs for dev-vcs/git and friends (via eselect-repository) This should speed things up a little bit to avoid needlessly building dev-vcs/git over and over at the start of each job. Signed-off-by: Sam James gentoo.org> scripts/container_test.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/container_test.sh b/scripts/container_test.sh index afd7e5f..4205dbd 100755 --- a/scripts/container_test.sh +++ b/scripts/container_test.sh @@ -93,7 +93,8 @@ done /bin/sleep inf run_in_container emerge-webrsync -run_in_container emerge app-eselect/eselect-repository sys-apps/config-site +run_in_container getuto +run_in_container emerge --getbinpkg app-eselect/eselect-repository sys-apps/config-site run_in_container make install run_in_container eselect repository create crossdev run_in_container crossdev --show-fail-log --target "${TARGET}"
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 6cd7a63029ffd09c5da079775be1365edc159eff Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:51:26 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:51:26 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6cd7a630 ci: add s390-ibm-linux-gnu 31-bit. Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index f0fba99..2ba0f5f 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -70,6 +70,7 @@ jobs: # glibc fails to build: `no support for pre-v8 sparc`. # - target: sparc-unknown-linux-gnu - target: sparc64-unknown-linux-gnu + - target: s390-ibm-linux-gnu - target: s390x-unknown-linux-gnu # musl ebuilds don't support s390x. The target is supported upstream, # we need to fix and test our ebuilds.
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 97df418f74bc38e03e93bcf8746792b6c48ca18a Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:52:39 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:56:57 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=97df418f ci: add alpha-unknown-linux-gnu Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index c303d49..8d9fbfa 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -19,6 +19,7 @@ jobs: target: - target: aarch64-unknown-linux-gnu - target: aarch64-unknown-linux-musl + - target: alpha-unknown-linux-gnu - target: arm-unknown-linux-gnueabi - target: arm-unknown-linux-gnueabihf - target: arm-unknown-linux-musleabi
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 6c2bf7f6c5729a8cd476f34286ec02ff4ce7e54f Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:51:54 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:56:53 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6c2bf7f6 ci: adjust s390x tuple name unknown -> ibm to match profiles/ Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 2ba0f5f..c303d49 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -71,7 +71,7 @@ jobs: # - target: sparc-unknown-linux-gnu - target: sparc64-unknown-linux-gnu - target: s390-ibm-linux-gnu - - target: s390x-unknown-linux-gnu + - target: s390x-ibm-linux-gnu # musl ebuilds don't support s390x. The target is supported upstream, # we need to fix and test our ebuilds. # - target: s390x-unknown-linux-musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 63c1fe9ea8b8fca2d99eb2617c8654b4c295d3bb Author: Sam James gentoo org> AuthorDate: Fri Jan 3 23:50:58 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 23:50:58 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=63c1fe9e ci: add bpf-unknown-none Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 3a4d996..f0fba99 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -93,6 +93,8 @@ jobs: args: --skip-system - target: nvptx-none args: --skip-system + - target: bpf-unknown-none +args: --skip-system stage3: - latest # `openrc` (glibc+GCC) is tagged as `latest` - musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 688e9a15973c22490d962f3d90344c0c5aa949a1 Author: Sam James gentoo org> AuthorDate: Fri Jan 3 10:39:20 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:15 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=688e9a15 ci: no userland for hppa64 We don't have glibc ported yet upstream. Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index a6068af..3a4d996 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -36,6 +36,7 @@ jobs: - target: hppa1.1-unknown-linux-gnu - target: hppa2.0-unknown-linux-gnu - target: hppa64-unknown-linux-gnu +args: --skip-system - target: loongarch64-unknown-linux-gnu # musl ebuilds don't support loong. The target is supported upstream, # we need to fix and test our ebuilds.
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: e6097049353729713df11837ba6f347effb48690 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:43:46 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:13 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=e6097049 ci: fix loong and uncomment loongarch64, not loongaarch64 Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index e4be74f..fb582f8 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -33,10 +33,8 @@ jobs: # - target: armv7-unknown-linux-gnueabihf - target: armv7-unknown-linux-musleabi - target: armv7-unknown-linux-musleabihf - # binutils fails to configure: `machine 'loongaarch64-unknown' not - # recognized` - # - target: loongaarch64-unknown-linux-gnu - # - target: loongaarch64-unknown-linux-musl + - target: loongarch64-unknown-linux-gnu + - target: loongarch64-unknown-linux-musl - target: m68k-unknown-linux-gnu - target: mips-unknown-linux-gnu - target: mips-unknown-linux-musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: b087770c90489c897e2b702e6908e98027477e49 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:45:37 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:14 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b087770c ci: add HPPA targets * hppa1.1-unknown-linux-gnu * hppa2.0-unknown-linux-gnu * hppa64-unknown-linux-gnu Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 03eef0b..fb90c45 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -33,6 +33,9 @@ jobs: # - target: armv7-unknown-linux-gnueabihf - target: armv7-unknown-linux-musleabi - target: armv7-unknown-linux-musleabihf + - target: hppa1.1-unknown-linux-gnu + - target: hppa2.0-unknown-linux-gnu + - target: hppa64-unknown-linux-gnu - target: loongarch64-unknown-linux-gnu - target: loongarch64-unknown-linux-musl - target: m68k-unknown-linux-gnu
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 79f556e81651918c284aaf01a37c802352788c7a Author: Sam James gentoo org> AuthorDate: Fri Jan 3 10:38:51 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:15 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=79f556e8 ci: don't run loong musl We don't have things wired up for that yet in ::gentoo. Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index fb90c45..a6068af 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -37,7 +37,9 @@ jobs: - target: hppa2.0-unknown-linux-gnu - target: hppa64-unknown-linux-gnu - target: loongarch64-unknown-linux-gnu - - target: loongarch64-unknown-linux-musl + # musl ebuilds don't support loong. The target is supported upstream, + # we need to fix and test our ebuilds. + #- target: loongarch64-unknown-linux-musl - target: m68k-unknown-linux-gnu - target: mips-unknown-linux-gnu - target: mips-unknown-linux-musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 40471bb640e7bf98186a5fecc17b755cbf42b939 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:37:30 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:12 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=40471bb6 ci: fix whitespace Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 27b01b1..3d47f63 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -84,7 +84,7 @@ jobs: - target: x86_64-unknown-linux-musl stage3: - latest # `openrc` (glibc+GCC) is tagged as `latest` - - musl + - musl fail-fast: false name: crossdev target=${{ matrix.target.target }} stage3=${{ matrix.stage3 }} runs-on: ubuntu-latest
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 101fbba69d05813cfccdedcd2b14773abdd5d839 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:44:08 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:14 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=101fbba6 ci: fix comment typo Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index fb582f8..03eef0b 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -57,7 +57,7 @@ jobs: - target: powerpc64-unknown-linux-gnu - target: powerpc64-unknown-linux-musl - target: riscv32-unknown-linux-gnu - # busybox fails to buils: `‘SYS_settimeofday’ undeclared`. + # busybox fails to build: `‘SYS_settimeofday’ undeclared`. # - target: riscv32-unknown-linux-musl - target: riscv64-unknown-linux-gnu - target: riscv64-unknown-linux-musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 094d2b3c1f7ed0c31e4d552e7633da468a811e36 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:39:47 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:12 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=094d2b3c ci: add embedded/special targets (arm-none-eabi, nvptx-none) Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 5 + 1 file changed, 5 insertions(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 3d47f63..5ab973a 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -82,6 +82,11 @@ jobs: # - target: sh4eb-unknown-linux-musl - target: x86_64-unknown-linux-gnu - target: x86_64-unknown-linux-musl + # Embedded or otherwise special targets + - target: arm-none-eabi +args: --skip-system + - target: nvptx-none +args: --skip-system stage3: - latest # `openrc` (glibc+GCC) is tagged as `latest` - musl
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: a73acbc7b8d9b20ef8bbca232903ae64d28e9fc1 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:42:16 2025 + Commit: Sam James gentoo org> CommitDate: Fri Jan 3 11:15:13 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a73acbc7 ci: add avr too Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 5ab973a..e4be74f 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -85,6 +85,8 @@ jobs: # Embedded or otherwise special targets - target: arm-none-eabi args: --skip-system + - target: avr +args: --skip-system - target: nvptx-none args: --skip-system stage3:
[gentoo-commits] proj/crossdev:master commit in: /
commit: 0261fe00ae660641f280144000c7b191e01936c1 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:25:18 2025 + Commit: Sam James gentoo org> CommitDate: Thu Jan 2 23:26:45 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=0261fe00 crossdev: build C++ by default for *-newlib/*-elf/*-avr etc These days, tutorials and classes expect a C++ compiler for arm-none-eabi and friends and it often confuses users. Stop overriding the crossdev default (which is -s4) for these targets accordingly. Bug: https://bugs.gentoo.org/900713 Bug: https://bugs.gentoo.org/939677 Signed-off-by: Sam James gentoo.org> crossdev | 2 -- 1 file changed, 2 deletions(-) diff --git a/crossdev b/crossdev index 096169f..cfdb93f 100755 --- a/crossdev +++ b/crossdev @@ -267,7 +267,6 @@ parse_target() { GUSE+=" -fortran -go" # doesn't work MULTILIB_USE="yes" #377039 BUSE+=" cxx" - STAGE_DEFAULT=${STAGE_LIBC} WITH_DEF_HEADERS="no" ;; @@ -407,7 +406,6 @@ parse_target() { *-newlib|*-elf|*-eabi|*-rtems*) LPKG="newlib" KPKG="[none]" - STAGE_DEFAULT=${STAGE_LIBC} GMASK+=" default-stack-clash-protection hardened ssp" GUSE+=" cxx -openmp" #489798 GUSE+=" -fortran" #589672, needs syscalls
[gentoo-commits] proj/crossdev:master commit in: /
commit: 6cc041eb180b63f0b5b1a572bfd29bae581fc60d Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:18:02 2025 + Commit: Sam James gentoo org> CommitDate: Thu Jan 2 23:19:16 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6cc041eb crossdev: small style tweaks Signed-off-by: Sam James gentoo.org> crossdev | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/crossdev b/crossdev index e4747bf..3740578 100755 --- a/crossdev +++ b/crossdev @@ -448,7 +448,7 @@ parse_target() { esac ;; esac - if [[ $sanitizer_support = "no" ]]; then + if [[ ${sanitizer_support} = "no" ]]; then GUSE+=" -sanitize" fi @@ -470,7 +470,7 @@ parse_target() { esac ;; esac - if [[ $vtv_support = "no" ]]; then + if [[ ${vtv_support} = "no" ]]; then GUSE+=" -vtv" fi @@ -1443,7 +1443,8 @@ set_portage() { force+=" multilib" ;; *) - mask+=" multilib";; + mask+=" multilib" + ;; esac set_use_mask ${pkg} "${mask}" @@ -1576,7 +1577,7 @@ else pkglist+=( B G D ) fi for pkg in ${pkglist[@]}; do - set_portage $pkg + set_portage ${pkg} done for_each_extra_pkg set_portage X
[gentoo-commits] proj/crossdev:master commit in: /
commit: 4f2a1d6e7588fad375feea538887b0680abb5ad6 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:16:20 2025 + Commit: Sam James gentoo org> CommitDate: Thu Jan 2 23:16:20 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=4f2a1d6e crossdev: drop 'nocxx' (noop) nocxx hasn't been a thing in ages. Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 2ed27fd..e4747bf 100755 --- a/crossdev +++ b/crossdev @@ -329,7 +329,7 @@ parse_target() { # due to upstream lameness, build C/C++ at first glance *-cygwin) - GUSE_DISABLE_STAGE_1+=" -nocxx cxx" + GUSE_DISABLE_STAGE_1+=" cxx" ;; # these are the mingw64 targets that binutils seems to use
[gentoo-commits] proj/crossdev:master commit in: /
commit: 450d48aa5b61bd48aae827a2edf00626388ed024 Author: Sam James gentoo org> AuthorDate: Thu Jan 2 23:18:16 2025 + Commit: Sam James gentoo org> CommitDate: Thu Jan 2 23:19:17 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=450d48aa crossdev: crank copyright Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 3740578..096169f 100755 --- a/crossdev +++ b/crossdev @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 CROSSDEV_VER="@CDEVPV@"
[gentoo-commits] proj/crossdev:master commit in: /
commit: a95616adbecd27e9f88539a588f95d2560eb9819 Author: Sam James gentoo org> AuthorDate: Wed Dec 25 00:44:52 2024 + Commit: Sam James gentoo org> CommitDate: Wed Dec 25 00:44:52 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a95616ad crossdev: nvptx: add comment wrt GFORCE and openmp/fortran Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crossdev b/crossdev index 47df8ce..2ed27fd 100755 --- a/crossdev +++ b/crossdev @@ -308,6 +308,8 @@ parse_target() { # openmp, unless doing standalone bare minimum testing. # They also often want Fortran. STAGE_DEFAULT=${STAGE_C_CPP} + # We can't force these on via GFORCE because they need + # to be disabled for stage1. GUSE+=" cxx openmp fortran" # https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html GMASK+=" ada d go graphite modula2 rust"
[gentoo-commits] proj/crossdev:master commit in: /
commit: a63705c41afcca7b8cf07fe26076363d4d21e080 Author: Sam James gentoo org> AuthorDate: Wed Dec 25 00:43:14 2024 + Commit: Sam James gentoo org> CommitDate: Wed Dec 25 00:43:14 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a63705c4 Revert "crossdev: nvptx: force on openmp & fortran" This reverts commit afc0f03b6e846e1c0aa104a809f86133bad55b6d. We have to be able to turn these off for stage1 but we need them on for stage2... need to figure out how to do that. Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 1 - 1 file changed, 1 deletion(-) diff --git a/crossdev b/crossdev index 2c2d098..47df8ce 100755 --- a/crossdev +++ b/crossdev @@ -309,7 +309,6 @@ parse_target() { # They also often want Fortran. STAGE_DEFAULT=${STAGE_C_CPP} GUSE+=" cxx openmp fortran" - GFORCE+=" cxx openmp fortran" # https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html GMASK+=" ada d go graphite modula2 rust"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 23aab902cc8d2a0ff07d86061af8e3401e990d5f Author: Sam James gentoo org> AuthorDate: Sun Dec 15 18:53:39 2024 + Commit: Sam James gentoo org> CommitDate: Wed Dec 25 00:42:06 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=23aab902 crossdev, Makefile: fix version handling again `git archive` was using HEAD so it wouldn't include the sed performed in the `dist` target. Signed-off-by: Sam James gentoo.org> Makefile | 5 ++--- crossdev | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 5c483b8..9819d92 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,7 @@ include settings.mk all: + sed -i -e '/^CROSSDEV_VER=/s:.*:CROSSDEV_VER="$(PV)":g' crossdev install: $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/bin/ @@ -14,11 +15,9 @@ install: PV = $(shell test -e .git && git describe) P = crossdev-$(PV) COMP = xz -dist: - sed -i -e 's:@CDEVPV@:$(PV):g' crossdev +dist: all git archive --prefix=$(P)/ HEAD > $(P).tar -$(COMP) -f $(P).tar du -b $(P).tar* - sed -i -e 's:$(PV):@CDEVPV@:g' crossdev .PHONY: all dist install diff --git a/crossdev b/crossdev index 47df8ce..ee65fbc 100755 --- a/crossdev +++ b/crossdev @@ -2,7 +2,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -CROSSDEV_VER="@CDEVPV@" +CROSSDEV_VER="20241215" cd / umask 0022 #159111
[gentoo-commits] proj/crossdev:master commit in: /
commit: c18f677d742830eef7f88ec5edc3babf25ba803c Author: Sam James gentoo org> AuthorDate: Sun Dec 15 19:00:46 2024 + Commit: Sam James gentoo org> CommitDate: Wed Dec 25 00:42:06 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c18f677d Revert "crossdev, Makefile: fix version handling again" This reverts commit 681c5fb86714d8e2c585c8e5ae423b6f9364ccfb. Signed-off-by: Sam James gentoo.org> Makefile | 5 +++-- crossdev | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9819d92..5c483b8 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,6 @@ include settings.mk all: - sed -i -e '/^CROSSDEV_VER=/s:.*:CROSSDEV_VER="$(PV)":g' crossdev install: $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/bin/ @@ -15,9 +14,11 @@ install: PV = $(shell test -e .git && git describe) P = crossdev-$(PV) COMP = xz -dist: all +dist: + sed -i -e 's:@CDEVPV@:$(PV):g' crossdev git archive --prefix=$(P)/ HEAD > $(P).tar -$(COMP) -f $(P).tar du -b $(P).tar* + sed -i -e 's:$(PV):@CDEVPV@:g' crossdev .PHONY: all dist install diff --git a/crossdev b/crossdev index ee65fbc..47df8ce 100755 --- a/crossdev +++ b/crossdev @@ -2,7 +2,7 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -CROSSDEV_VER="20241215" +CROSSDEV_VER="@CDEVPV@" cd / umask 0022 #159111
[gentoo-commits] proj/crossdev:master commit in: /
commit: afc0f03b6e846e1c0aa104a809f86133bad55b6d Author: Sam James gentoo org> AuthorDate: Wed Dec 25 00:40:42 2024 + Commit: Sam James gentoo org> CommitDate: Wed Dec 25 00:42:07 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=afc0f03b crossdev: nvptx: force on openmp & fortran Without openmp, various critical files are missing. Offloading makes no sense without OpenMP. Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 1 + 1 file changed, 1 insertion(+) diff --git a/crossdev b/crossdev index 47df8ce..2c2d098 100755 --- a/crossdev +++ b/crossdev @@ -309,6 +309,7 @@ parse_target() { # They also often want Fortran. STAGE_DEFAULT=${STAGE_C_CPP} GUSE+=" cxx openmp fortran" + GFORCE+=" cxx openmp fortran" # https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html GMASK+=" ada d go graphite modula2 rust"
[gentoo-commits] proj/crossdev:master commit in: /
commit: be22d125b604b4f5ec69ac2f79268100df833824 Author: Sam James gentoo org> AuthorDate: Sun Dec 15 18:29:12 2024 + Commit: Sam James gentoo org> CommitDate: Sun Dec 15 18:29:12 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=be22d125 crossdev: adapt to sys-libs/compiler-rt -> llvm-runtimes/compiler-rt rename Followup to 38f0f3e04e184fa397d8c2c2a6e3d53568f7fde5. Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 8b87040..47df8ce 100755 --- a/crossdev +++ b/crossdev @@ -892,7 +892,7 @@ GCAT="sys-devel" ; GPKG="gcc" ; GVER="" GUSE="" GENV="" GOVL="" GMASK KCAT="sys-kernel" ; KPKG="linux-headers" ; KVER="" KUSE="" KENV="" KOVL="" KMASK="" KFORCE="" LCAT="sys-libs" ; LPKG="[none]"; LVER="" LUSE="" LENV="" LOVL="" LMASK="" LFORCE="" DCAT="dev-debug" ; DPKG="gdb" ; DVER="" DUSE="" DENV="" DOVL="" DMASK="" DFORCE="" -RCAT="sys-libs" ; RPKG="compiler-rt" ; RVER="" RUSE="" RENV="" ROVL="" RMASK="" RFORCE="" +RCAT="llvm-runtimes" ; RPKG="compiler-rt" ; RVER="" RUSE="" RENV="" ROVL="" RMASK="" RFORCE="" CCAT="sys-devel" ; CPKG="clang-crossdev-wrappers" ; CVER="" CUSE="" CENV="" COVL="" CMASK="" CFORCE="" XPKGS=() XVERS=() XUSES=() XENVS=() XOVLS=() XMASKS=() XFORCES=() DEFAULT_VER="[latest]"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 38f0f3e04e184fa397d8c2c2a6e3d53568f7fde5 Author: Sam James gentoo org> AuthorDate: Sat Dec 14 18:13:40 2024 + Commit: Sam James gentoo org> CommitDate: Sat Dec 14 18:13:54 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=38f0f3e0 crossdev: adapt to sys-devel/llvm -> llvm-core/llvm rename Signed-off-by: Sam James gentoo.org> crossdev | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crossdev b/crossdev index 9342120..8b87040 100755 --- a/crossdev +++ b/crossdev @@ -1775,12 +1775,12 @@ if ! ex_fast ; then # stage 0: binutils if [[ "${LLVM}" == "yes" ]] ; then - if ! portageq has_version / "sys-devel/llvm" ; then + if ! portageq has_version / "llvm-core/llvm" ; then eerror "LLVM is not installed" exit 1 fi - best_ver=$(portageq best_version "${EPREFIX}"/ sys-devel/llvm) + best_ver=$(portageq best_version "${EPREFIX}"/ llvm-core/llvm) llvm_use=$(portageq metadata "${EPREFIX}"/ installed "${best_ver}" USE) llvm_arch=""
[gentoo-commits] proj/crossdev:master commit in: /
commit: f2a90ee45d276e9943a13bef728ffc5d7e79ddb4 Author: Sam James gentoo org> AuthorDate: Mon Dec 2 21:37:02 2024 + Commit: Sam James gentoo org> CommitDate: Mon Dec 2 21:37:31 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f2a90ee4 crossdev: nvptx: refine multilib comment The multilib bug comment was copied from newlib where it's for arm, replace it with a better one. There's another comment linking to a GCC ML post in the file too (in set_portage). Signed-off-by: Sam James gentoo.org> crossdev | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index c400ff1..9342120 100755 --- a/crossdev +++ b/crossdev @@ -320,7 +320,8 @@ parse_target() { # for that. GUSE+=" zlib zstd" - MULTILIB_USE="yes" #407275 + # We need multilib for openmp to be built w/ -mgomp + MULTILIB_USE="yes" WITH_DEF_HEADERS="no" ;;
[gentoo-commits] proj/crossdev:master commit in: /
commit: 88d805301c5ca721d66d5102aa6ba2747cb2771e Author: Sam James gentoo org> AuthorDate: Mon Dec 2 15:24:29 2024 + Commit: Sam James gentoo org> CommitDate: Mon Dec 2 15:27:14 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=88d80530 crossdev: nvptx: enable zlib+zstd for LTO LTO is used behind-the-scenes between the host and offload to communicate data. We need to use the same compression for both. It's easiest if we just enable both supported compression formats in the offload compiler: zlib and zstd. Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 747ee10..c400ff1 100755 --- a/crossdev +++ b/crossdev @@ -315,6 +315,10 @@ parse_target() { GMASK+=" default-stack-clash-protection hardened ssp" GUSE+=" -hardened" #687598, needs -fstack-check=specific support GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway + # Offloading uses LTO to stream data, we need to make sure + # we support whatever compression the host compiler uses + # for that. + GUSE+=" zlib zstd" MULTILIB_USE="yes" #407275 WITH_DEF_HEADERS="no" @@ -901,7 +905,7 @@ AUTOGEN_TAG="# Autogenerated and managed by crossdev" # not tested, or doesn't make sense, or no one simply cares about them GUSE_DISABLE="-d -objc -objc++ -objc-gc -vtv" # These are disabled only for stage1 gcc. Normally need libc presence. -GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -openmp -sanitize" +GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -openmp -sanitize -zstd -zlib" # These are also disabled for stage2, but could be used later if dependencies # are installed into ${SYSROOT}: # - sanitize needs crypt.h: #799707
[gentoo-commits] proj/crossdev:master commit in: /
commit: 075277041c223391b2c980d0e05989bfd1adee41 Author: Sam James gentoo org> AuthorDate: Mon Dec 2 09:42:08 2024 + Commit: Sam James gentoo org> CommitDate: Mon Dec 2 09:42:30 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=07527704 crossdev: nvptx: don't force on openmp as it affects stage1 too Bug: https://bugs.gentoo.org/945296 Fixes: 9e258378b3b596b14130a8538fc37193e3abd5e1 Signed-off-by: Sam James gentoo.org> crossdev | 1 - 1 file changed, 1 deletion(-) diff --git a/crossdev b/crossdev index f8f11d5..747ee10 100755 --- a/crossdev +++ b/crossdev @@ -309,7 +309,6 @@ parse_target() { # They also often want Fortran. STAGE_DEFAULT=${STAGE_C_CPP} GUSE+=" cxx openmp fortran" - GFORCE+=" cxx openmp fortran" # https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html GMASK+=" ada d go graphite modula2 rust"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 9e258378b3b596b14130a8538fc37193e3abd5e1 Author: Sam James gentoo org> AuthorDate: Sun Dec 1 23:04:50 2024 + Commit: Sam James gentoo org> CommitDate: Sun Dec 1 23:04:50 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9e258378 crossdev: nvptx: disable irrelevant languages and force necessary ones on Link: https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 887cf7a..f8f11d5 100755 --- a/crossdev +++ b/crossdev @@ -299,6 +299,7 @@ parse_target() { WITH_DEF_HEADERS="no" ;; + # Offload targets nvptx*) KPKG="[none]" BPKG="nvptx-tools" @@ -308,11 +309,14 @@ parse_target() { # They also often want Fortran. STAGE_DEFAULT=${STAGE_C_CPP} GUSE+=" cxx openmp fortran" + GFORCE+=" cxx openmp fortran" + # https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html + GMASK+=" ada d go graphite modula2 rust" - # TODO: deduplicate this with newlib block below GMASK+=" default-stack-clash-protection hardened ssp" GUSE+=" -hardened" #687598, needs -fstack-check=specific support GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway + MULTILIB_USE="yes" #407275 WITH_DEF_HEADERS="no" ;;
[gentoo-commits] proj/crossdev:master commit in: /
commit: 2cef8f3d996277a8f44a49b7c220ab8ba2a9e435 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 10:16:55 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 10:18:24 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2cef8f3d crossdev: nvptx needs multilib See https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html. Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 1c2650f..887cf7a 100755 --- a/crossdev +++ b/crossdev @@ -1427,7 +1427,8 @@ set_portage() { mask+=" -multilib" force+=" multilib" ;; - *-newlib|*-elf|*-eabi) + nvptx*|*-newlib|*-elf|*-eabi) + # nvptx: needs multilib because of https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html. mask+=" -multilib" force+=" multilib" ;;
[gentoo-commits] proj/crossdev:master commit in: /
commit: baba6164d1aa2fd4eee6b52ef10f70b999ee9393 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 05:39:15 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 10:18:27 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=baba6164 Makefile: fix tarball generation Signed-off-by: Sam James gentoo.org> Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a935a98..5c483b8 100644 --- a/Makefile +++ b/Makefile @@ -15,8 +15,10 @@ PV = $(shell test -e .git && git describe) P = crossdev-$(PV) COMP = xz dist: - git archive --prefix=$(P)/ HEAD | sed 's:@CDEVPV@:$(PV):g' > $(P).tar + sed -i -e 's:@CDEVPV@:$(PV):g' crossdev + git archive --prefix=$(P)/ HEAD > $(P).tar -$(COMP) -f $(P).tar du -b $(P).tar* + sed -i -e 's:$(PV):@CDEVPV@:g' crossdev .PHONY: all dist install
[gentoo-commits] proj/crossdev:master commit in: /
commit: 301d1bb0c55e2e848a13decae8201e674e1600f7 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 05:12:20 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 05:12:20 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=301d1bb0 Makefile: use git describe Lets us handle .1 and so on. Signed-off-by: Sam James gentoo.org> Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index aa07a91..a935a98 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ install: sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g" $(DESTDIR)$(PREFIX)/bin/crossdev $(MAKE) -C wrappers install -PV = $(shell test -e .git && date --date="`git log -1 --format=%ci`" +%Y%m%d) +PV = $(shell test -e .git && git describe) P = crossdev-$(PV) COMP = xz dist:
[gentoo-commits] proj/crossdev:master commit in: /
commit: 5fcf21142c9bc90ecae60826e0a2e70357769666 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 04:40:54 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 04:41:20 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5fcf2114 crossdev: build openmp, fortran by default for nvptx Followup to c272f335f8b0df15f724e9ee3e2289a9deddbd11. Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/crossdev b/crossdev index f26da45..1c2650f 100755 --- a/crossdev +++ b/crossdev @@ -303,11 +303,14 @@ parse_target() { KPKG="[none]" BPKG="nvptx-tools" LPKG="newlib" - STAGE_DEFAULT=${STAGE_LIBC} + # Offloading targets are only really useful with + # openmp, unless doing standalone bare minimum testing. + # They also often want Fortran. + STAGE_DEFAULT=${STAGE_C_CPP} + GUSE+=" cxx openmp fortran" # TODO: deduplicate this with newlib block below GMASK+=" default-stack-clash-protection hardened ssp" - GUSE+=" cxx" GUSE+=" -hardened" #687598, needs -fstack-check=specific support GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway MULTILIB_USE="yes" #407275
[gentoo-commits] proj/crossdev:master commit in: /
commit: c272f335f8b0df15f724e9ee3e2289a9deddbd11 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 02:28:09 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 02:52:12 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c272f335 crossdev: don't turn off openmp/fortran for nvptx openmp and fortran are rather useful for offloading. Not clear to me whether or not we can turn this on for newlib in general wrt bug #489798 and bug #589672. Bug: https://bugs.gentoo.org/489798 Bug: https://bugs.gentoo.org/589672 Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crossdev b/crossdev index 60db465..f26da45 100755 --- a/crossdev +++ b/crossdev @@ -307,8 +307,7 @@ parse_target() { # TODO: deduplicate this with newlib block below GMASK+=" default-stack-clash-protection hardened ssp" - GUSE+=" cxx -openmp" #489798 - GUSE+=" -fortran" #589672, needs syscalls + GUSE+=" cxx" GUSE+=" -hardened" #687598, needs -fstack-check=specific support GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway MULTILIB_USE="yes" #407275
[gentoo-commits] proj/crossdev:master commit in: /
commit: 2b44881a2d2defadcdcd30260f535b92458da9b5 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 01:46:37 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 02:08:19 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2b44881a crossdev: no SSP for nvptx Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 176bb71..82183bb 100755 --- a/crossdev +++ b/crossdev @@ -490,7 +490,7 @@ parse_target() { case ${CTARGET} in # [1.]: no -fstack-protector flag support: # check as '$CC -fstack-protector -c -x c -
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: ae9adb13dc23de2fb45a858ba7f18998fb238b62 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 02:06:18 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 02:08:20 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=ae9adb13 wrappers/emerge-wrapper: add nvptx* Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> wrappers/emerge-wrapper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper index 79c182e..eab8f96 100755 --- a/wrappers/emerge-wrapper +++ b/wrappers/emerge-wrapper @@ -62,7 +62,7 @@ cross_wrap_etc() *musl*) LIBC=musl ;; *cygwin*) LIBC=Cygwin ;; *mingw*) LIBC=mingw ;; - *-newlib|*-elf|*-eabi) LIBC=newlib ;; + nvptx*|*-newlib|*-elf|*-eabi) LIBC=newlib ;; *)emit_setup_warning "No LIBC is known for this target." ;; esac
[gentoo-commits] proj/crossdev:master commit in: /
commit: f212c4740e1e16748d965bbd80155fcdfd4786a1 Author: Sam James gentoo org> AuthorDate: Sat Nov 30 02:06:58 2024 + Commit: Sam James gentoo org> CommitDate: Sat Nov 30 02:08:20 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f212c474 crossdev: nvptx target fixes * We don't need linux-headers * Set the same GMASK/GUSE as newlib (not sure how useful the multilib bit here is, mind) Bug: https://bugs.gentoo.org/945296 Signed-off-by: Sam James gentoo.org> crossdev | 10 ++ 1 file changed, 10 insertions(+) diff --git a/crossdev b/crossdev index 82183bb..60db465 100755 --- a/crossdev +++ b/crossdev @@ -300,9 +300,19 @@ parse_target() { ;; nvptx*) + KPKG="[none]" BPKG="nvptx-tools" LPKG="newlib" STAGE_DEFAULT=${STAGE_LIBC} + + # TODO: deduplicate this with newlib block below + GMASK+=" default-stack-clash-protection hardened ssp" + GUSE+=" cxx -openmp" #489798 + GUSE+=" -fortran" #589672, needs syscalls + GUSE+=" -hardened" #687598, needs -fstack-check=specific support + GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway + MULTILIB_USE="yes" #407275 + WITH_DEF_HEADERS="no" ;; # due to upstream lameness, build C/C++ at first glance
[gentoo-commits] proj/crossdev:master commit in: /, .github/workflows/, scripts/
commit: f8448b2265ffdaefd2991f16116d15cf3562927e Author: Michal Rostecki protonmail com> AuthorDate: Wed Nov 13 19:29:37 2024 + Commit: Sam James gentoo org> CommitDate: Mon Nov 25 16:22:09 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f8448b22 ci: Test more targets, move the testing logic to a script Cover all possible targets. The ones which fail to build, are disabled with an appropriate comment explaining the error. To make the tests easier to reproduce locally, provide the `container_test.sh` script and move the most of logic there. Signed-off-by: Michal Rostecki protonmail.com> Closes: https://github.com/gentoo/crossdev/pull/28 Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 99 +-- README | 15 ++ scripts/container_test.sh | 102 + 3 files changed, 193 insertions(+), 23 deletions(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 321bb31..27b01b1 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -14,35 +14,88 @@ jobs: crossdev: strategy: matrix: +# All targets which are known to be broken, are commented. Pull +# requests fixing them welcome! target: - - aarch64-unknown-linux-gnu - - aarch64-unknown-linux-musl + - target: aarch64-unknown-linux-gnu + - target: aarch64-unknown-linux-musl + - target: arm-unknown-linux-gnueabi + - target: arm-unknown-linux-gnueabihf + - target: arm-unknown-linux-musleabi + - target: arm-unknown-linux-musleabihf + - target: armeb-unknown-linux-gnueabi + - target: armeb-unknown-linux-gnueabihf + - target: armeb-unknown-linux-musleabi + - target: armeb-unknown-linux-musleabihf + # glibc fails to build: `attempt to use an ARM instruction on a + # Thumb-only processor`. + # - target: armv7-unknown-linux-gnueabi + # - target: armv7-unknown-linux-gnueabihf + - target: armv7-unknown-linux-musleabi + - target: armv7-unknown-linux-musleabihf + # binutils fails to configure: `machine 'loongaarch64-unknown' not + # recognized` + # - target: loongaarch64-unknown-linux-gnu + # - target: loongaarch64-unknown-linux-musl + - target: m68k-unknown-linux-gnu + - target: mips-unknown-linux-gnu + - target: mips-unknown-linux-musl + - target: mipsel-unknown-linux-gnu + - target: mipsel-unknown-linux-musl + - target: mips64-unknown-linux-gnu + # libgcc_s.so fails to build: `cannot find crti.o: No such file or + # directory`. + # - target: mips64-unknown-linux-musl + - target: mips64el-unknown-linux-gnu + # libgcc_s.so fails to build: `cannot find crti.o: No such file or + # directory`. + # - target: mips64el-unknown-linux-musl + - target: or1k-unknown-linux-gnu +args: --skip-system + - target: or1k-unknown-linux-musl +args: --skip-system + - target: powerpc-unknown-linux-gnu + - target: powerpc-unknown-linux-musl + - target: powerpc64-unknown-linux-gnu + - target: powerpc64-unknown-linux-musl + - target: riscv32-unknown-linux-gnu + # busybox fails to buils: `‘SYS_settimeofday’ undeclared`. + # - target: riscv32-unknown-linux-musl + - target: riscv64-unknown-linux-gnu + - target: riscv64-unknown-linux-musl + # glibc fails to build: `no support for pre-v8 sparc`. + # - target: sparc-unknown-linux-gnu + - target: sparc64-unknown-linux-gnu + - target: s390x-unknown-linux-gnu + # musl ebuilds don't support s390x. The target is supported upstream, + # we need to fix and test our ebuilds. + # - target: s390x-unknown-linux-musl + # All sh* targets fail to install binutils, because of a missing + # keyword. + # - target: sh2-unknown-linux-gnu + # - target: sh2-unknown-linux-musl + # - target: sh2eb-unknown-linux-gnu + # - target: sh2eb-unknown-linux-musl + # - target: sh4-unknown-linux-gnu + # - target: sh4-unknown-linux-musl + # - target: sh4eb-unknown-linux-gnu + # - target: sh4eb-unknown-linux-musl + - target: x86_64-unknown-linux-gnu + - target: x86_64-unknown-linux-musl stage3: - latest # `openrc` (glibc+GCC) is tagged as `latest` - - musl -name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }} + - musl + fail-fast: false +name: crossdev target=${{ matrix.target.target }} stage3=${{ matrix.stage3 }} runs-on: ubuntu-latest step
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: a46280d73c8eef5fafc705d2b91363ae32b48bcf Author: Michal Rostecki protonmail com> AuthorDate: Tue Nov 12 14:12:01 2024 + Commit: Sam James gentoo org> CommitDate: Tue Nov 12 15:24:00 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a46280d7 ci: Run the container explicitly with `docker run` Using `container:` setting in GitHub actions unfortunately doesn't work with musl-llvm Gentoo images. The reason is that GitHub actions are injecting a NodeJS binary and for distros other than Alpine, it injects a binary linked against glibc.[0] The proper fix would involve either defaulting to musl or making the libc detection in the container system smarter, but for now, let's just run the container manually. [0] https://github.com/actions/runner/blob/6ef5803f24724b77a8d3599a478d06018da5d7c6/src/Runner.Worker/Handlers/StepHost.cs#L143-L172 Signed-off-by: Michal Rostecki protonmail.com> Closes: https://github.com/gentoo/crossdev/pull/27 Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 33 + 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index 5af15bb..321bb31 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -22,26 +22,27 @@ jobs: - musl name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }} runs-on: ubuntu-latest -container: docker.io/gentoo/stage3:${{ matrix.stage3 }} steps: - uses: actions/checkout@v4 - - name: Install dependencies + - name: Create cross environment run: | - emerge --sync --quiet - emerge \ -app-eselect/eselect-repository \ -sys-apps/config-site + docker run -v $(pwd):/workspace -w /workspace \ +docker.io/gentoo/stage3:${{ matrix.stage3 }} bash -c " +# Install dependencies +emerge --sync --quiet +emerge \ + app-eselect/eselect-repository \ + sys-apps/config-site - - name: Install crossdev -run: make install +# Install crossdev +make install - - name: Create cross environment -run: | - eselect repository create crossdev - crossdev ${{ matrix.args }} --target ${{ matrix.target }} +# Create cross environment +eselect repository create crossdev +crossdev ${{ matrix.args }} --target ${{ matrix.target }} - # zstd and its dependencies need both C and C++ toolchain. If any of them - # is broken, the installation will fail. - - name: Sanity check -run: ${{ matrix.target }}-emerge app-arch/zstd +# zstd and its dependencies need both C and C++ toolchain. If any of them +# is broken, the installation will fail. +run: ${{ matrix.target }}-emerge app-arch/zstd +"
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: c9aaa3e484e39debe599b82fdc8451833bb8f19e Author: Michal Rostecki protonmail com> AuthorDate: Tue Nov 12 00:39:35 2024 + Commit: Sam James gentoo org> CommitDate: Tue Nov 12 08:46:11 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c9aaa3e4 ci: Test crossdev in GitHub Actions Add a workflow which sets up and tests crossdev for the given list of targets. Signed-off-by: Michal Rostecki protonmail.com> Closes: https://github.com/gentoo/crossdev/pull/25 Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 47 ++ 1 file changed, 47 insertions(+) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml new file mode 100644 index 000..5af15bb --- /dev/null +++ b/.github/workflows/crossdev.yml @@ -0,0 +1,47 @@ +name: CI + +on: + push: +branches: + - master + pull_request: +branches: + - master + schedule: +- cron: 00 4 * * * + +jobs: + crossdev: +strategy: + matrix: +target: + - aarch64-unknown-linux-gnu + - aarch64-unknown-linux-musl +stage3: + - latest # `openrc` (glibc+GCC) is tagged as `latest` + - musl +name: crossdev target=${{ matrix.target }} stage3=${{ matrix.stage3 }} +runs-on: ubuntu-latest +container: docker.io/gentoo/stage3:${{ matrix.stage3 }} +steps: + - uses: actions/checkout@v4 + + - name: Install dependencies +run: | + emerge --sync --quiet + emerge \ +app-eselect/eselect-repository \ +sys-apps/config-site + + - name: Install crossdev +run: make install + + - name: Create cross environment +run: | + eselect repository create crossdev + crossdev ${{ matrix.args }} --target ${{ matrix.target }} + + # zstd and its dependencies need both C and C++ toolchain. If any of them + # is broken, the installation will fail. + - name: Sanity check +run: ${{ matrix.target }}-emerge app-arch/zstd
[gentoo-commits] proj/crossdev:master commit in: /
commit: 467cff30d0a828868dcdc98f49afcd7d136234d5 Author: Michal Rostecki protonmail com> AuthorDate: Mon Oct 7 20:01:11 2024 + Commit: Sam James gentoo org> CommitDate: Tue Oct 15 07:13:52 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=467cff30 crossdev: Use libunwind and libc++ in LLVM environments Avoid build issues on cross environments using musl and LLVM by using libunwind and libc++ explicitly in the clang configuration. Otherwise, clang expects GCC libunwind and libstdc++. These flags were not set explicitly in the clang configuration, because LLVM profiles were setting them, but that's not the case anymore[0]. [0] https://github.com/gentoo/gentoo/commit/5e5c9d5c524871f5af260557dbd2962b8eec5087 Bug: https://bugs.gentoo.org/941140 Signed-off-by: Michal Rostecki protonmail.com> Closes: https://github.com/gentoo/crossdev/pull/23 Signed-off-by: Sam James gentoo.org> crossdev | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 1b53fd2..176bb71 100755 --- a/crossdev +++ b/crossdev @@ -1736,7 +1736,8 @@ if [[ "${LLVM}" == "yes" ]]; then --rtlib=compiler-rt --sysroot=/usr/${CTARGET} --target=${CTARGET} - --unwindlib=none + --unwindlib=libunwind + --stdlib=libc++ -fuse-ld=lld EOF # Workaround until LLVM libc supports dynamic linking and SSP
[gentoo-commits] proj/crossdev:master commit in: /
commit: b9bcca92c56e87436852888a7ef0f52cee7d5ee2 Author: Sam James gentoo org> AuthorDate: Tue Oct 15 07:11:57 2024 + Commit: Sam James gentoo org> CommitDate: Tue Oct 15 07:13:51 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b9bcca92 crossdev: tweak GUSE_DISABLE* USE=boundschecking, USE=gcj, USE=gtk, USE=libffi, USE=mudflap are all long gone, so drop those from GUSE_DISABLE. USE=mpx is also gone, so remove that from GUSE_DISABLE_STAGE_1. Shift USE=vtv from GUSE_DISABLE_STAGE_1 -> GUSE_DISABLE as it falls under everything described in that comment ;) Signed-off-by: Sam James gentoo.org> crossdev | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crossdev b/crossdev index a02016a..1b53fd2 100755 --- a/crossdev +++ b/crossdev @@ -884,9 +884,9 @@ CROSSDEV_OVERLAY_CREATE_REPOS_CONF="" AUTOGEN_TAG="# Autogenerated and managed by crossdev" # These flags are always disabled for cross-gcc; either usually/always broken, or # not tested, or doesn't make sense, or no one simply cares about them -GUSE_DISABLE="-boundschecking -d -gcj -gtk -libffi -mudflap -objc -objc++ -objc-gc" +GUSE_DISABLE="-d -objc -objc++ -objc-gc -vtv" # These are disabled only for stage1 gcc. Normally need libc presence. -GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -mpx -openmp -sanitize -vtv" +GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -go -jit -cxx -openmp -sanitize" # These are also disabled for stage2, but could be used later if dependencies # are installed into ${SYSROOT}: # - sanitize needs crypt.h: #799707
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: a1f5ed5e8f866cd904e439b3792ac7505895f7f3 Author: James Le Cuirot gentoo org> AuthorDate: Sat Sep 21 21:35:27 2024 + Commit: James Le Cuirot gentoo org> CommitDate: Sat Sep 21 21:48:40 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a1f5ed5e cross-pkg-config: Don't unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS/LIBS These variables control whether pkg-config returns flags to search directories that the toolchain would search by default anyway. Rust's pkg-config-rs enables them by default, and some crates expect flags to always be returned, even if they are technically unnecessary. Unsetting these variables in the wrapper therefore breaks some crates. Having seen how this works in detail, it would be fruitless to ask upstream to change it. These lines were originally added at a time when we expected other non-Gentoo-based distributions to use crossdev. That didn't happen. Gentoo itself doesn't set these variables anywhere that I can see. Even if they were set, they are unlikely to break anything in practise now that our cross builds are better behaved than they used to be. Bug: https://bugs.gentoo.org/939334 Signed-off-by: James Le Cuirot gentoo.org> wrappers/cross-pkg-config | 2 -- 1 file changed, 2 deletions(-) diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index eb4047f..9bff474 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -103,8 +103,6 @@ export PKG_CONFIG_FDO_SYSROOT_RULES=1 # Time to pull a captain planet on them. # unset PKG_CONFIG_PATH -unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS -unset PKG_CONFIG_ALLOW_SYSTEM_LIBS # # Try and figure out the appropriate libdir for this target.
[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/
commit: 6caddf235b5598a9725d21134801b4426e6d3ea6 Author: James Le Cuirot gentoo org> AuthorDate: Sat Sep 21 21:02:45 2024 + Commit: James Le Cuirot gentoo org> CommitDate: Sat Sep 21 21:02:45 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6caddf23 Don't set PKG_CONFIG_PATH in make.conf This is pointless because cross-pkg-config unsets it anyway. It's also harmful because if a cross build needs to call CBUILD's pkg-config, which doesn't use the wrapper, it will pick up .pc files from the wrong location. Bug: https://bugs.gentoo.org/936677 Signed-off-by: James Le Cuirot gentoo.org> wrappers/etc/portage/make.conf | 1 - 1 file changed, 1 deletion(-) diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index b845ba6..0d74bc0 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -19,5 +19,4 @@ FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc" PKGDIR=${ROOT}var/cache/binpkgs/ PORTAGE_TMPDIR=${ROOT}tmp/ -PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/" #PORTDIR_OVERLAY="/var/db/repos/local/"
[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/
commit: da3d831561b884a6b3d02d069ec9c7cd9d8df475 Author: James Le Cuirot gentoo org> AuthorDate: Sat Sep 21 21:05:32 2024 + Commit: James Le Cuirot gentoo org> CommitDate: Sat Sep 21 21:05:32 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=da3d8315 Remove commented PORTDIR_OVERLAY line from make.conf This variable is deprecated in favour of repos.conf. Signed-off-by: James Le Cuirot gentoo.org> wrappers/etc/portage/make.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index 0d74bc0..4a93675 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -18,5 +18,3 @@ FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc" # Be sure we dont overwrite pkgs from another repo.. PKGDIR=${ROOT}var/cache/binpkgs/ PORTAGE_TMPDIR=${ROOT}tmp/ - -#PORTDIR_OVERLAY="/var/db/repos/local/"
[gentoo-commits] proj/crossdev:master commit in: /
commit: daec387a1c91d5a0b9f94ee00ef95f63a9a6d9d2 Author: James Le Cuirot gentoo org> AuthorDate: Tue Jul 2 16:22:06 2024 + Commit: James Le Cuirot gentoo org> CommitDate: Tue Jul 2 16:22:06 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=daec387a crossdev: Configure the cet USE flag to match the profiles We especially don't want to enable it on i?86. Signed-off-by: James Le Cuirot gentoo.org> crossdev | 15 +++ 1 file changed, 15 insertions(+) diff --git a/crossdev b/crossdev index 020d17c..a02016a 100755 --- a/crossdev +++ b/crossdev @@ -499,6 +499,21 @@ parse_target() { GMASK+=" default-stack-clash-protection ssp hardened -nossp" GFORCE+=" nossp" fi + + # Configure the cet USE flag to match the profiles. We especially + # don't want to enable it on i?86. + case ${CTARGET} in + x86_64-*) + BFORCE+=" cet" + GUSE+=" cet" + LUSE+=" cet" + ;; + *) + BMASK+=" cet" + GMASK+=" cet" + LMASK+=" cet" + ;; + esac } parse_repo_config() {
[gentoo-commits] proj/crossdev:master commit in: /
commit: 9b82332fb2a1068640c07c60f627fb6779f28a3b Author: Luca Barbato gentoo org> AuthorDate: Thu Jun 13 18:26:09 2024 + Commit: Luca Barbato gentoo org> CommitDate: Sun Jun 16 13:46:47 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9b82332f crossdev: Force static-libs for -gnu targets Without `static-libs`, the configure check for `-static` would fail and it leads to a cascade failure in finding `-lpthread` in stage2 gcc. Closes: https://github.com/gentoo/crossdev/pull/21 Signed-off-by: Luca Barbato gentoo.org> crossdev | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crossdev b/crossdev index 6de317a..020d17c 100755 --- a/crossdev +++ b/crossdev @@ -354,6 +354,9 @@ parse_target() { ;; *-gnu*) LPKG="glibc" + # gcc would not find -lpthread without static libraries while building + # its copy of libgomp. + LUSE+=" static-libs" ;; *-klibc) LPKG="klibc"
[gentoo-commits] proj/crossdev:master commit in: /
commit: df5372661bd09a1ffcbc129d89caa7b2a4a65aec Author: vindicatorr gmail com> AuthorDate: Tue May 7 11:36:16 2024 + Commit: Sam James gentoo org> CommitDate: Tue May 7 16:06:18 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=df537266 Reorder gnu<-glibc wording, under "LIBC" for "--help", to follow with usage of other libs listed. Signed-off-by: vindicatorr gmail.com> Closes: https://github.com/gentoo/crossdev/pull/20 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index d643aaa..6de317a 100755 --- a/crossdev +++ b/crossdev @@ -162,7 +162,7 @@ parse_target() { - sh / sh[1-5] / sh64 - x86_64 (amd64) Supported C Libraries (LIBC): - - glibc (gnu) + - gnu (glibc) - klibc [prob wont work] - musl - newlib [bare metal/no operating system]
[gentoo-commits] proj/crossdev:master commit in: /
commit: 118ced12162677ba67d634245dc56e701af9ce94 Author: Sam James gentoo org> AuthorDate: Tue May 7 13:04:23 2024 + Commit: Sam James gentoo org> CommitDate: Tue May 7 13:04:23 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=118ced12 crossdev: fix whitespace in comment Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 8d8f186..d643aaa 100755 --- a/crossdev +++ b/crossdev @@ -1694,7 +1694,7 @@ doemerge() { eend 0 } -# We include the '-u' so that we don't re-emerge packages. Avoid +# We include the '-u' so that we don't re-emerge packages. Avoid # using --nodeps as packages have more host depends nowadays (like # gcc wanting updated mpfr/gmp). Don't use --oneshot anymore to # follow normal emerge behavior; people can pass the -1 to portage
[gentoo-commits] proj/crossdev:master commit in: /
commit: 656fb7aac1d118c3814b8d5997943791fbbf34ef Author: Sam James gentoo org> AuthorDate: Tue May 7 12:41:35 2024 + Commit: Sam James gentoo org> CommitDate: Tue May 7 12:41:35 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=656fb7aa crossdev: fix setting EAPI Fixes: c012baee91797ddbd87fa26f4cb73c9a58de3c0c Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index af47349..8d8f186 100755 --- a/crossdev +++ b/crossdev @@ -1498,7 +1498,7 @@ set_metadata() { if [[ ! -f "${CROSSDEV_OVERLAY}"/profiles/eapi ]] ; then cat <<-EOF > "${CROSSDEV_OVERLAY}"/profiles/eapi || die "could not write ${CROSSDEV_OVERLAY}/profiles/eapi" - ${repo_name} + 8 EOF fi
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 1a15a8788a72f6649636a52b468e0e8d440b7e1b Author: Sam James gentoo org> AuthorDate: Sat May 4 11:58:47 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:58:47 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=1a15a878 wrappers/README: update config.site path Signed-off-by: Sam James gentoo.org> wrappers/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/README b/wrappers/README index 0ff42ac..9fdb2ae 100644 --- a/wrappers/README +++ b/wrappers/README @@ -1,2 +1,2 @@ Drop here your local overrides for autoconf cache variables. -See @PREFIX@/share/config.site for details. +See @PREFIX@/share/config.site.d/80crossdev.conf for details.
[gentoo-commits] proj/crossdev:master commit in: /
commit: 5b76e726a4000e28a2bc7c76e3538027c745de48 Author: Sam James gentoo org> AuthorDate: Sat May 4 11:57:12 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:57:12 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5b76e726 README: small fixes Signed-off-by: Sam James gentoo.org> README | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README b/README index d4198b2..c37472e 100644 --- a/README +++ b/README @@ -15,7 +15,7 @@ It is useful for various purposes: Crossdev nano HOWTO --- -So you want to cross-compile a Gentoo package (say busybox to s390x): +So you want to cross-compile a Gentoo package (say, busybox to s390x): # crossdev -t s390x-unknown-linux-gnu # (optional) ARCH=s390 PORTAGE_CONFIGROOT=/usr/s390x-unknown-linux-gnu eselect profile set default/linux/s390/17.0/s390x @@ -30,7 +30,7 @@ You can use qemu-user to run this binary: $ qemu-s390x -L /usr/s390x-unknown-linux-gnu/ /usr/s390x-unknown-linux-gnu/bin/busybox uname -m s390x -or even chroot to /usr/s390x-unknown-linux-gnu directory! +or even chroot to the /usr/s390x-unknown-linux-gnu directory! https://wiki.gentoo.org/wiki/Crossdev_qemu-static-user-chroot @@ -120,7 +120,7 @@ If toolchains were simple programs crossdev would be a one-liner script: ROOT=...\ emerge "$@" -Unfortunately todays' toolchains have loops in their build-time dependencies: +Unfortunately today's toolchains have cycles/loops in their build-time dependencies: - cross-compiler itself normally needs a libc built for because libc defines various aspects of userland ABI and features provided. @@ -153,11 +153,13 @@ Done! How crossdev works (more details) - -This section contains more details on what actually happens. +This section contains more details on what actually happens (what crossdev +does for you). + Here we elaborate on each step outlined in previous section: 1. create an overlay with new ebuilds (symlinks to existing ebuilds) - . After this step the + . After this step the outcomes are: - overlay layout is formed in cross-overlay/: @@ -262,19 +264,19 @@ Various notes (AKA dirty little tricks) Some ./configure scripts rely on runtime feature testing. We would still like to enable things even in cross-environment. - crossdev installs /usr/share/config.site with a bunch of cache + crossdev installs /usr/share/config.site.d/80crossdev.conf with a bunch of cache variables preset for targets. It might be a nice place to drop more things into. Or it could be a source of all your cross-compilation problems if variables set incorrect values. - eclass importing - To find out various things about target crossdev loads multilib.eclass - and tries to find out default ABI supported by the target. + To find out various things about the target, crossdev loads multilib.eclass + and tries to find out the default ABI supported by the target. - crossdev is just a tiny shell script around emerge :) - It's full source code is comparable to the size of this README. + Its full source code is comparable to the size of this README. - USE=headers-only
[gentoo-commits] proj/crossdev:master commit in: /
commit: fbbcdd8e4ba2dd77c6161745b43602dd69a1e096 Author: Sam James gentoo org> AuthorDate: Sat May 4 11:52:49 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:52:49 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=fbbcdd8e crossdev: tweak comment Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 48a848c..af47349 100755 --- a/crossdev +++ b/crossdev @@ -315,7 +315,7 @@ parse_target() { KPKG="[none]"; LCAT="dev-util" LPKG="mingw64-runtime" - WITH_DEF_HEADERS="yes" # gcc can't boot without headers: bug #693770 + WITH_DEF_HEADERS="yes" # gcc can't bootstrap without headers: bug #693770 GMASK+=" default-stack-clash-protection hardened" GUSE+=" -default-stack-clash-protection -hardened" # gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc ;;
[gentoo-commits] proj/crossdev:master commit in: /
commit: 250ce4a1e3661118f30626d5be4a597d27843615 Author: Sam James gentoo org> AuthorDate: Sat May 4 11:51:04 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:51:04 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=250ce4a1 crossdev: fix whitespace Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 5eef531..90381f9 100755 --- a/crossdev +++ b/crossdev @@ -1439,7 +1439,7 @@ set_metadata() { fi # build up a list of possible repos where we can pull from - for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" "${ROVL}" "${DOVL}" ${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do + for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" "${ROVL}" "${DOVL}" ${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do [[ -z ${d} ]] && continue name=
[gentoo-commits] proj/crossdev:master commit in: /
commit: 5bff6e60922c7eaa7ea9e8d11b7ee43ef467c994 Author: Sam James gentoo org> AuthorDate: Sat May 4 11:51:15 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:51:15 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5bff6e60 crossdev: crank copyright Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 90381f9..48a848c 100755 --- a/crossdev +++ b/crossdev @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 CROSSDEV_VER="@CDEVPV@"
[gentoo-commits] proj/crossdev:master commit in: /
commit: c012baee91797ddbd87fa26f4cb73c9a58de3c0c Author: Sam James gentoo org> AuthorDate: Sat May 4 11:47:08 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:47:33 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c012baee crossdev: declare EAPI in profiles/ Declare the EAPI in profiles/, otherwise we're EAPI 0. pkgcraft rightly complains about this. * Similar to 9e889bc74012c4d7bedb9f7fa31d6625be93cf3c. * See also 7f2f74f4e471172ceeceb78913fd8f8c88aa031d in app-eselect/eselect-repository. Signed-off-by: Sam James gentoo.org> crossdev | 6 ++ 1 file changed, 6 insertions(+) diff --git a/crossdev b/crossdev index 1a63bb8..5eef531 100755 --- a/crossdev +++ b/crossdev @@ -1496,6 +1496,12 @@ set_metadata() { EOF fi + if [[ ! -f "${CROSSDEV_OVERLAY}"/profiles/eapi ]] ; then + cat <<-EOF > "${CROSSDEV_OVERLAY}"/profiles/eapi || die "could not write ${CROSSDEV_OVERLAY}/profiles/eapi" + ${repo_name} + EOF + fi + # If there is no repos.conf entry for the output overlay, create one here if [[ -n ${CROSSDEV_OVERLAY_CREATE_REPOS_CONF} ]]; then cat <<-EOF > "${CROSSDEV_OVERLAY_CREATE_REPOS_CONF}" || die "could not create the repo conf"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 9e889bc74012c4d7bedb9f7fa31d6625be93cf3c Author: Sam James gentoo org> AuthorDate: Sat May 4 11:44:11 2024 + Commit: Sam James gentoo org> CommitDate: Sat May 4 11:47:05 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=9e889bc7 crossdev: write profiles/repo_name PMS requires it, the key in layout.conf isn't enough. Noticed after pkgcraft rightly complained about it. Signed-off-by: Sam James gentoo.org> crossdev | 6 ++ 1 file changed, 6 insertions(+) diff --git a/crossdev b/crossdev index 7a5ad37..1a63bb8 100755 --- a/crossdev +++ b/crossdev @@ -1490,6 +1490,12 @@ set_metadata() { $(printf '%b' "${this_manifests}") EOF + if [[ ! -f "${CROSSDEV_OVERLAY}"/profiles/repo_name ]] ; then + cat <<-EOF > "${CROSSDEV_OVERLAY}"/profiles/repo_name || die "could not write ${CROSSDEV_OVERLAY}/profiles/repo_name" + ${repo_name} + EOF + fi + # If there is no repos.conf entry for the output overlay, create one here if [[ -n ${CROSSDEV_OVERLAY_CREATE_REPOS_CONF} ]]; then cat <<-EOF > "${CROSSDEV_OVERLAY_CREATE_REPOS_CONF}" || die "could not create the repo conf"
[gentoo-commits] proj/crossdev:master commit in: wrappers/site/
commit: bff7bb77cc9d7f8219c95a8e6a35459fec2b458a Author: Sam James gentoo org> AuthorDate: Fri Feb 9 06:13:53 2024 + Commit: Sam James gentoo org> CommitDate: Fri Feb 9 06:13:53 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=bff7bb77 wrappers: mipsel-linux-gnu: fix ac_cv_type_uid_t cache value Reported by matoro when building coreutils for mipsel-unknown-linux-gnu. If autoconf-2.72 is used, apparently this shows up, and the coreutils-9.4 dist tarball was indeed built with it... The symptoms are similar to bug #885485 but it's a different cause -- we were exporting a dodgy cache value with a missing '$': ``` configure:14771: checking for uid_t configure:14771: result: {ac_cv_type_uid_t=yes} ``` ``` ac_cv_type_uid_t='{ac_cv_type_uid_t=yes}' ``` ``` $ rg ac_cv_type_uid_t wrappers/site/mipsel-linux-gnu:115:ac_cv_type_uid_t={ac_cv_type_uid_t=yes} ``` Bug: https://bugs.gentoo.org/885485 Signed-off-by: Sam James gentoo.org> wrappers/site/mipsel-linux-gnu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/site/mipsel-linux-gnu b/wrappers/site/mipsel-linux-gnu index 7ecdba1..c96fad1 100644 --- a/wrappers/site/mipsel-linux-gnu +++ b/wrappers/site/mipsel-linux-gnu @@ -112,7 +112,7 @@ mono_cv_uscore=${mono_cv_uscore=no} ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=no} ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes} ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes} -ac_cv_type_uid_t={ac_cv_type_uid_t=yes} +ac_cv_type_uid_t=${ac_cv_type_uid_t=yes} # bash bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=no}
[gentoo-commits] proj/crossdev:master commit in: /
commit: a5daa83d8dd73d73035403aa57b24f7e057e4e19 Author: Alfred Persson Forsberg catcream org> AuthorDate: Fri Jan 26 00:05:30 2024 + Commit: Sam James gentoo org> CommitDate: Fri Jan 26 09:30:46 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a5daa83d llvm.conf: set AS="clang -c" instead of llvm-as Bug: https://bugs.gentoo.org/680652 Signed-off-by: Alfred Persson Forsberg catcream.org> Closes: https://github.com/gentoo/crossdev/pull/18 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 8788747..7a5ad37 100755 --- a/crossdev +++ b/crossdev @@ -1594,7 +1594,7 @@ esac if [[ "${LLVM}" == "yes" ]] ; then cat <<-EOF > "${CONFIGROOT}/env/${CROSSDEV_OVERLAY_CATEGORY}/llvm.conf" AR=llvm-ar - AS=llvm-as + AS="${CTARGET}-clang -c" CC="${CTARGET}-clang" CROSS_COMPILE="${CTARGET}-" CXX="${CTARGET}-clang++"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 7aadbdb87851afeebae018b00679acfd105a21a5 Author: Krzesimir Nowak microsoft com> AuthorDate: Tue Jan 16 16:21:11 2024 + Commit: Sam James gentoo org> CommitDate: Wed Jan 17 04:51:20 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7aadbdb8 crossdev: Make dev-debug a default category for gdb The sys-devel/gdb package was moved to dev-debug category, so reflect this change in the script. Signed-off-by: Krzesimir Nowak microsoft.com> Closes: https://github.com/gentoo/crossdev/pull/17 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 94313b9..8788747 100755 --- a/crossdev +++ b/crossdev @@ -853,7 +853,7 @@ BCAT="sys-devel" ; BPKG="binutils" ; BVER="" BUSE="" BENV="" BOVL="" BMASK GCAT="sys-devel" ; GPKG="gcc" ; GVER="" GUSE="" GENV="" GOVL="" GMASK="" GFORCE="" KCAT="sys-kernel" ; KPKG="linux-headers" ; KVER="" KUSE="" KENV="" KOVL="" KMASK="" KFORCE="" LCAT="sys-libs" ; LPKG="[none]"; LVER="" LUSE="" LENV="" LOVL="" LMASK="" LFORCE="" -DCAT="sys-devel" ; DPKG="gdb" ; DVER="" DUSE="" DENV="" DOVL="" DMASK="" DFORCE="" +DCAT="dev-debug" ; DPKG="gdb" ; DVER="" DUSE="" DENV="" DOVL="" DMASK="" DFORCE="" RCAT="sys-libs" ; RPKG="compiler-rt" ; RVER="" RUSE="" RENV="" ROVL="" RMASK="" RFORCE="" CCAT="sys-devel" ; CPKG="clang-crossdev-wrappers" ; CVER="" CUSE="" CENV="" COVL="" CMASK="" CFORCE="" XPKGS=() XVERS=() XUSES=() XENVS=() XOVLS=() XMASKS=() XFORCES=()
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 40d924aafe602583a23aa3212528ca3d528c5b2c Author: Sam James gentoo org> AuthorDate: Mon Jan 8 14:27:31 2024 + Commit: Sam James gentoo org> CommitDate: Mon Jan 8 14:27:31 2024 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=40d924aa cross-{ebuild,emerge}: improve error message for missing SYSROOT This can happen if you rm -rf the SYSROOT (rather than crossdev -C). Signed-off-by: Sam James gentoo.org> wrappers/cross-ebuild | 7 ++- wrappers/cross-emerge | 7 ++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild index 6f47cb8..a520e18 100644 --- a/wrappers/cross-ebuild +++ b/wrappers/cross-ebuild @@ -19,11 +19,16 @@ fi : ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}} export EPREFIX SYSROOT PORTAGE_CONFIGROOT -if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then +if [ -z "${CHOST}" ] ; then echo "cross-ebuild: CHOST is not set properly" exit 1 fi +if [ ! -d "${SYSROOT}" ] ; then + echo "cross-ebuild: ${SYSROOT} does not exist (is CHOST set properly?)" + exit 1 +fi + # Portage defaults CBUILD to CHOST, so we have to remove CHOST # from the env to get a "good" value for CBUILD query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS" diff --git a/wrappers/cross-emerge b/wrappers/cross-emerge index a85d41e..eb2d5b5 100755 --- a/wrappers/cross-emerge +++ b/wrappers/cross-emerge @@ -19,11 +19,16 @@ fi : ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}} export EPREFIX SYSROOT PORTAGE_CONFIGROOT -if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then +if [ -z "${CHOST}" ] ; then echo "cross-emerge: CHOST is not set properly" exit 1 fi +if [ ! -d "${SYSROOT}" ] ; then + echo "cross-emerge: ${SYSROOT} does not exist (is CHOST set properly?)" + exit 1 +fi + # Portage defaults CBUILD to CHOST, so we have to remove CHOST # from the env to get a "good" value for CBUILD query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS"
[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/
commit: 5fd3a2f7f14512bb2a56e1b0e7a8e143ab3d5600 Author: Ian Jordan gmail com> AuthorDate: Tue Dec 12 06:03:31 2023 + Commit: James Le Cuirot gentoo org> CommitDate: Tue Dec 12 22:02:26 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5fd3a2f7 wrapper/etc/portage/make.conf: Remove -pam Removing default option of disabling PAM as no longer needed in all tests done. Signed-off-by: Ian Jordan gmail.com> Closes: https://github.com/gentoo/crossdev/pull/16 Signed-off-by: James Le Cuirot gentoo.org> wrappers/etc/portage/make.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index 59bf61e..b845ba6 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -9,7 +9,7 @@ ROOT=@GENTOO_PORTAGE_EPREFIX@/usr/${CHOST}/ ACCEPT_KEYWORDS="${ARCH} ~${ARCH}" -USE="${ARCH} -pam" +USE="${ARCH}" CFLAGS="-O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}"
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 7392a9387240d86af931b517178ff657453ac4d6 Author: Matt Turner gentoo org> AuthorDate: Fri Oct 13 18:51:33 2023 + Commit: Matt Turner gentoo org> CommitDate: Sun Oct 15 04:23:17 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7392a938 cross-pkg-config: Set PKG_CONFIG_FDO_SYSROOT_RULES=1 When cross-compiling, pkgconf behaves in a way that causes many packages to install files to ${SYSROOT}/${SYSROOT}/... without PKG_CONFIG_FDO_SYSROOT_RULES set. I'm aware of at least gobject-introspection, modemmanager, and libp11, but there are likely more. Signed-off-by: Matt Turner gentoo.org> wrappers/cross-pkg-config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index ba4d3ac..eb4047f 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -95,6 +95,9 @@ fi export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR%/} PKG_CONFIG_ESYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}${PREFIX} +# https://github.com/pkgconf/pkgconf/issues/205 +export PKG_CONFIG_FDO_SYSROOT_RULES=1 + # # Some distributions pollute the pkg-config environment. # Time to pull a captain planet on them.
[gentoo-commits] proj/crossdev:master commit in: /
commit: 90995af1950ac42dbb8795450dabd93de6d15dc3 Author: Nathan Du outlook com> AuthorDate: Tue Sep 26 07:39:19 2023 + Commit: Sam James gentoo org> CommitDate: Tue Sep 26 18:30:18 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=90995af1 make riscv targets use riscv portage arch Closes: https://bugs.gentoo.org/914725 Signed-off-by: Nathan Du outlook.com> Signed-off-by: Sam James gentoo.org> crossdev | 1 + 1 file changed, 1 insertion(+) diff --git a/crossdev b/crossdev index f6ad232..94313b9 100755 --- a/crossdev +++ b/crossdev @@ -244,6 +244,7 @@ parse_target() { mips*) TARCH=mips;; powerpc64*) TARCH=ppc64;; powerpc*) TARCH=ppc;; + riscv*) TARCH=riscv;; sparc*) TARCH=sparc;; s390*) TARCH=s390;; sh*)TARCH=sh;;
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: d57c266058fcfd2bc3f535a832ab86efde3fb0ab Author: James Le Cuirot gentoo org> AuthorDate: Wed Sep 20 07:59:29 2023 + Commit: Sam James gentoo org> CommitDate: Sat Sep 23 12:56:09 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d57c2660 cross-pkg-config: Properly set PKG_CONFIG_SYSTEM_*_PATH variables Perhaps this was a difference between pkg-config and pkgconf, but we have not set PKG_CONFIG_SYSTEM_LIBRARY_PATH correctly since we began setting it in 2014. It should include the SYSROOT. We also never set PKG_CONFIG_SYSTEM_INCLUDE_PATH at all. These variables tell pkg-config not to emit paths that the toolchain would search in anyway. This helps to reduce the noise appearing in newly-installed .pc files. This change does assume that if you have set SYSROOT differently to the toolchain's default, then you have also added the --sysroot argument to your compiler flags. Neither Portage nor Gentoo currently do this for you. cross-boss does, but it's not an officially supported solution. The change could therefore potentially break things, but it's likely you'll run into other problems if you don't add --sysroot anyway. Signed-off-by: James Le Cuirot gentoo.org> Closes: https://github.com/gentoo/crossdev/pull/13 Signed-off-by: Sam James gentoo.org> wrappers/cross-pkg-config | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index 4e4da92..ba4d3ac 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -118,7 +118,9 @@ if [ -z "${libdir}" ] ; then libdir=${libdir##*/} fi : ${libdir:=lib} -export PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PREFIX}/usr/${libdir}:${PREFIX}/${libdir}" +export \ + PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PKG_CONFIG_ESYSROOT_DIR}/usr/${libdir}:${PKG_CONFIG_ESYSROOT_DIR}/${libdir}" \ + PKG_CONFIG_SYSTEM_INCLUDE_PATH="${PKG_CONFIG_ESYSROOT_DIR}/usr/include" # # Set the pkg-config search paths to our staging directory.
[gentoo-commits] proj/crossdev:master commit in: /
commit: c92086906ae712ffe5cd5dde9ad470f3950695d8 Author: Benjamin Gilbert backtick net> AuthorDate: Sat Sep 23 11:09:50 2023 + Commit: Sam James gentoo org> CommitDate: Sat Sep 23 12:21:29 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c9208690 Fix check for installed LLVM It always succeeds, and then if LLVM isn't installed, crossdev fails with a confusing error: Target architecture not supported by installed LLVM toolchain Signed-off-by: Benjamin Gilbert backtick.net> Closes: https://github.com/gentoo/crossdev/pull/14 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index b84b757..f6ad232 100755 --- a/crossdev +++ b/crossdev @@ -1722,7 +1722,7 @@ if ! ex_fast ; then # stage 0: binutils if [[ "${LLVM}" == "yes" ]] ; then - if [[ $(portageq has_version / "sys-devel/llvm") -ne 0 ]] ; then + if ! portageq has_version / "sys-devel/llvm" ; then eerror "LLVM is not installed" exit 1 fi
[gentoo-commits] proj/crossdev:master commit in: /
commit: d787403e6b0a7715cc9a90024f7554690dd081bb Author: Alfred Persson Forsberg catcream org> AuthorDate: Thu Aug 31 01:26:29 2023 + Commit: Sam James gentoo org> CommitDate: Thu Aug 31 01:32:14 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d787403e LLVM/Clang: abort early if libc is glibc Signed-off-by: Alfred Persson Forsberg catcream.org> Closes: https://github.com/gentoo/crossdev/pull/12 Signed-off-by: Sam James gentoo.org> crossdev | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crossdev b/crossdev index c1b59de..b84b757 100755 --- a/crossdev +++ b/crossdev @@ -966,6 +966,8 @@ done if [[ "${LLVM}" == "yes" ]] ; then WITH_HEADERS="yes" CROSSDEV_OVERLAY_CATEGORY_PREFIX="cross_llvm-" +# To avoid bug reports +[[ "${LPKG}" == "glibc" ]] && die "LLVM/Clang cannot currently compile glibc" fi CROSSDEV_OVERLAY_CATEGORY="${CROSSDEV_OVERLAY_CATEGORY_PREFIX}${CTARGET}"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 7c2e00bf7c5f2ea52c2687e39cad70344c8596e2 Author: Alfred Persson Forsberg catcream org> AuthorDate: Wed Aug 30 11:01:15 2023 + Commit: Sam James gentoo org> CommitDate: Thu Aug 31 01:15:44 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7c2e00bf fix x86 in LLVM targets check previously it would match CTARGET for amd64*. Signed-off-by: Alfred Persson Forsberg catcream.org> Closes: https://github.com/gentoo/crossdev/pull/11 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 29adbeb..c1b59de 100755 --- a/crossdev +++ b/crossdev @@ -1730,7 +1730,7 @@ if ! ex_fast ; then llvm_arch="" case ${CTARGET} in - amd64*) llvm_arch="X86" ;; + x86*) llvm_arch="X86" ;; arm*) llvm_arch="ARM" ;; aarch64*) llvm_arch="AArch64" ;; riscv*) llvm_arch="RISCV" ;;
[gentoo-commits] proj/crossdev:master commit in: wrappers/, /
commit: bc2c2acbc92f2119db9633fd186978265eed8f03 Author: Alfred Persson Forsberg catcream org> AuthorDate: Wed Jul 5 18:59:29 2023 + Commit: Sam James gentoo org> CommitDate: Tue Aug 22 17:05:32 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=bc2c2acb Support standalone LLVM/Clang as crosscompiler This change makes it possible to use Clang instead of GCC in Crossdev. As LLVM is already able to target other architectures, provided that LLVM_TARGETS is set accordingly, the only thing needed to do is compile builtins (compiler-rt) for the target triple. Note that compiler-rt needs libc headers to target when building, and in turn linux-headers needs to be installed for Linux targets, so most stages except binutils and GCC are still there. Currently having both a GCC and LLVM Crossdev environment installed for the same triple is not supported since many ebuilds just use /usr/${CTARGET} as a hardcoded sysroot, but I plan adding support. Note: by standalone I mean a pure LLVM toolchain not dependent on an existing GCC toolchain. Bug: https://bugs.gentoo.org/680652 Signed-off-by: Alfred Persson Forsberg catcream.org> Closes: https://github.com/gentoo/crossdev/pull/10 Signed-off-by: Sam James gentoo.org> crossdev | 243 -- wrappers/cross-pkg-config | 1 + wrappers/emerge-wrapper | 20 3 files changed, 215 insertions(+), 49 deletions(-) diff --git a/crossdev b/crossdev index befce40..29adbeb 100755 --- a/crossdev +++ b/crossdev @@ -31,7 +31,7 @@ die_logs() { local log eerror eerror "If you file a bug, please attach the following logfiles:" - eerror "${PORT_LOGDIR}/cross-${CTARGET}-info.log" + eerror "${PORT_LOGDIR}/${CROSSDEV_OVERLAY_CATEGORY}-info.log" for log in "$@" ; do eerror "${log}" done @@ -48,6 +48,7 @@ cat << EOF Usage: ${HILITE}crossdev${NORMAL} ${GOOD}[options]${NORMAL} ${BRACKET}--target TARGET${NORMAL} Options: +${GOOD}-L, --llvm${NORMAL} Use LLVM/Clang as a cross compiler ${GOOD}--b, --binutils${NORMAL} ver Specify version of binutils to use ${GOOD}--g, --gcc${NORMAL} ver Specify version of gcc to use ${GOOD}--k, --kernel${NORMAL} verSpecify version of kernel headers to use @@ -68,7 +69,6 @@ Options: ${GOOD}--with[out]-headers${NORMAL} Build C library headers before C compiler? ${GOOD}--show-fail-log${NORMAL} If the build fails, dump the failing log - Overlay Options: ${GOOD}-oS, --overlays${NORMAL} list Space delimited list of overlays to search [default: \`portageq repositories_configuration\`] @@ -102,6 +102,15 @@ Extra Fun (must be run after above stages): ${GOOD}--ex-gdb${NORMAL} Build a cross gdb ${GOOD}--ex-pkg${NORMAL} pkg Build extra packages (may be used multiple times) +LLVM/Clang Specific Options (--llvm): +${GOOD}--r, --crt${NORMAL} ver Specify version of compiler-rt to use +${GOOD}--c, --ccw${NORMAL} ver Specify version of clang-crossdev-wrapper to use +${GOOD}--[rc]env${NORMAL} envSpecify env settings for compiler-rt/clang-crossdev-wrapper +${GOOD}--[rc]cat${NORMAL} category Use compiler-rt/clang-crossdev-wrapper package from category +${GOOD}--[rc]pkg${NORMAL} pkgUse compiler-rt/clang-crossdev-wrapper package with given name +${GOOD}-or, --ov-crt${NORMAL} path Overlay for compiler-rt ebuilds [default: search] +${GOOD}-oc, --ov-ccw${NORMAL} path Overlay for clang-crossdev-wrapper ebuilds [default: search] + ${BRACKET}Target (-t)${NORMAL} takes a tuple ${BRACKET}ARCHITECTURE-VENDOR-OS-LIBC${NORMAL}; see 'crossdev -t help' EOF [[ -n $* ]] && echo && eerror "Error: $*" @@ -123,6 +132,12 @@ STAGE_DISP=( parse_target() { CTARGET=${1#cross-} + if [[ ${CTARGET} == "cross-*" ]] ; then + CTARGET=${1#cross-} + elif [[ ${CTARGET} == "cross_llvm-*" ]] ; then + CTARGET=${1#cross_llvm-} + LLVM="yes" + fi [[ -z ${CTARGET} ]] && usage 1 @@ -351,6 +366,9 @@ parse_target() { *-musl*) LPKG="musl" ;; + *-llvm*) + LPKG="llvm-libc" + ;; # Windows targets *-cygwin) @@ -569,7 +587,7 @@ setup_portage_vars() { # install our stuff to the first overlay in the list. if [[ -z ${CROSSDEV_OVERLAY} ]] ; then local repo_path repo_name - for repo_name in "cross-${CTARGET}" crossdev ; do + for repo_name in "${CROSSDEV_OVERLAY_CATEGORY}" crossdev ; do repo_path=$(echo "${REPO_CONFIG}" | sed -n "/^${repo_name}:/s,^[^:]*:,,p")
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 54839f5869b46c727c43f247e421b1f9e32704d4 Author: Mike Gilbert gentoo org> AuthorDate: Fri Jun 16 18:17:34 2023 + Commit: Mike Gilbert gentoo org> CommitDate: Fri Jun 16 18:17:34 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=54839f58 Avoid calling portageq from Makefile It is probably better to look up the repo path at runtime anyway. Bug: https://bugs.gentoo.org/908602 Signed-off-by: Mike Gilbert gentoo.org> wrappers/Makefile | 4 +--- wrappers/emerge-wrapper | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/wrappers/Makefile b/wrappers/Makefile index 031f099..a55c2bc 100644 --- a/wrappers/Makefile +++ b/wrappers/Makefile @@ -1,9 +1,8 @@ -# Copyright 2008-2010 Gentoo Foundation +# Copyright 2008-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 include ../settings.mk -PORTDIR ?= $(shell portageq envvar PORTDIR) FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper SITEDIR = $(PREFIX)/share/crossdev/include/site ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site @@ -24,6 +23,5 @@ install: sed -i -e s:@SITEDIR@:$(SITEDIR):g $(DESTDIR)$(SITEDIR)/config.site sed -i -e s:@ETC_SITEDIR@:$(ETC_SITEDIR):g $(DESTDIR)$(SITEDIR)/config.site mv $(DESTDIR)$(SITEDIR)/config.site $(DESTDIR)$(PREFIX)/share/ - ln -sf $(PORTDIR)/profiles/embedded $(DESTDIR)$(PREFIX)/share/crossdev/etc/portage/make.profile .PHONY: all install diff --git a/wrappers/emerge-wrapper b/wrappers/emerge-wrapper index 051948a..87dcb00 100755 --- a/wrappers/emerge-wrapper +++ b/wrappers/emerge-wrapper @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 2008-2010 Gentoo Foundation +# Copyright 2008-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 if [[ $1 == "--help" || $1 == "-h" ]] ; then @@ -37,6 +37,7 @@ cross_wrap_etc() setup_warning=false cp -a "${PREFIX}"/share/crossdev/etc ${SYSROOT}/ || return 1 + ln -snf "${MAIN_REPO_PATH}/profiles/embedded" "${SYSROOT}/etc/portage/make.profile" || return 1 local confs=( ${SYSROOT}/etc/portage/make.conf
[gentoo-commits] proj/crossdev:master commit in: /
commit: 32b6409942f31a8029d27ae3470d4338a8ae4d5d Author: Sam James gentoo org> AuthorDate: Tue Mar 21 22:41:19 2023 + Commit: Sam James gentoo org> CommitDate: Tue Mar 21 22:41:37 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=32b64099 crossdev: initial nvptx-none porting Signed-off-by: Sam James gentoo.org> crossdev | 6 ++ 1 file changed, 6 insertions(+) diff --git a/crossdev b/crossdev index 2282826..befce40 100755 --- a/crossdev +++ b/crossdev @@ -283,6 +283,12 @@ parse_target() { WITH_DEF_HEADERS="no" ;; + nvptx*) + BPKG="nvptx-tools" + LPKG="newlib" + STAGE_DEFAULT=${STAGE_LIBC} + ;; + # due to upstream lameness, build C/C++ at first glance *-cygwin) GUSE_DISABLE_STAGE_1+=" -nocxx cxx"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 45ec770440ce8b23673546a7d119656bfd4b1208 Author: Sam James gentoo org> AuthorDate: Sat Feb 25 01:13:44 2023 + Commit: Sam James gentoo org> CommitDate: Sat Feb 25 01:14:39 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=45ec7704 crossdev: delete ${CTARGET}-ebuild too on --clean Fixes: c4cf9b41b4b7b7bc36d3878383666a77d51c804b Fixes: 7eeb1d8f8fbb712706165e780c9b2904e4da7b92 Fixes: 748fcd09f89d10b8cf85d11dc574aad3896281d9 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 2299661..2282826 100755 --- a/crossdev +++ b/crossdev @@ -682,7 +682,7 @@ uninstall() { # clean out files from crossdev itself [[ -e ${EPREFIX}/var/db/pkg/cross-${CTARGET} ]] && rmdir "${EPREFIX}"/var/db/pkg/cross-${CTARGET} - rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} "${EPREFIX}"/usr/bin/emerge-${CTARGET} + rm -f "${EPREFIX}"/usr/bin/${CTARGET}-{emerge,ebuild,fix-root,pkg-config} "${EPREFIX}"/usr/bin/emerge-${CTARGET} for f in make.{conf,globals,profile} ; do f="${EPREFIX}/usr/${CTARGET}/etc/${f}"
[gentoo-commits] proj/crossdev:master commit in: wrappers/site/
commit: 86c7a0a4149490bfb53077a1e26543130f2baca2 Author: Sam James gentoo org> AuthorDate: Thu Feb 9 00:46:24 2023 + Commit: Sam James gentoo org> CommitDate: Thu Feb 9 00:46:24 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=86c7a0a4 wrappers: fix mipsel-linux-gnu cache vars for *sys_siglist sys_siglist was removed from glibc-2.32. Before now, for mipsel-linux-gnu, we were forcing the cache var to 'yes', rather than 'no'. I suspect this test would've worked correctly even without caching anyway, but it is what it is. Default to 'no' instead of 'yes'. See also: https://lists.openembedded.org/g/openembedded-core/topic/dunfell_patch_site_make/77178472?p= Closes: https://bugs.gentoo.org/791154 Signed-off-by: Sam James gentoo.org> wrappers/site/mipsel-linux-gnu | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/wrappers/site/mipsel-linux-gnu b/wrappers/site/mipsel-linux-gnu index 42f82bf..7ecdba1 100644 --- a/wrappers/site/mipsel-linux-gnu +++ b/wrappers/site/mipsel-linux-gnu @@ -109,14 +109,14 @@ cv_mono_sizeof_sunpath=108 mono_cv_uscore=${mono_cv_uscore=no} # general -ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=yes} +ac_cv_have_decl_sys_siglist=${ac_cv_have_decl_sys_siglist=no} ac_cv_func_malloc_0_nonnull=${ac_cv_func_malloc_0_nonnull=yes} ac_cv_func_memcmp_working=${ac_cv_func_memcmp_working=yes} ac_cv_type_uid_t={ac_cv_type_uid_t=yes} # bash -bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=yes} -bash_cv_sys_siglist=${bash_cv_sys_siglist=yes} +bash_cv_under_sys_siglist=${bash_cv_under_sys_siglist=no} +bash_cv_sys_siglist=${bash_cv_sys_siglist=no} # clamav clamav_av_func_working_snprintf_long=${clamav_av_func_working_snprintf_long=yes}
[gentoo-commits] proj/crossdev:master commit in: /
commit: 47c9af8ca53f3612be6e4ddfb0090644cde4d94a Author: Sam James gentoo org> AuthorDate: Thu Feb 2 17:03:53 2023 + Commit: Sam James gentoo org> CommitDate: Thu Feb 2 17:03:53 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=47c9af8c crossdev: disable SSP for freestanding/no libc targets Otherwise, we end up with a mess like: ``` [...] /usr/libexec/gcc/arm-none-eabi/ld: /usr/lib/gcc/arm-none-eabi/12/../../../../arm-none-eabi/lib/libg.a(libc_a-stack_protector.o): in function `__stack_chk_fail': stack_protector.c:(.text.__stack_chk_fail+0x60): undefined reference to `_exit' [...] ``` Signed-off-by: Sam James gentoo.org> crossdev | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 902d9dc..bd13f7f 100755 --- a/crossdev +++ b/crossdev @@ -334,10 +334,11 @@ parse_target() { LPKG="newlib" KPKG="[none]" STAGE_DEFAULT=${STAGE_LIBC} - GMASK+=" hardened" + GMASK+=" default-stack-clash-protection hardened ssp" GUSE+=" cxx -openmp" #489798 GUSE+=" -fortran" #589672, needs syscalls GUSE+=" -hardened" #687598, needs -fstack-check=specific support + GUSE+=" -default-stack-clash-protection -ssp" # SSP isn't supported for freestanding anyway MULTILIB_USE="yes" #407275 WITH_DEF_HEADERS="no" ;;
[gentoo-commits] proj/crossdev:master commit in: /
commit: f8695a7d33d03250bacc1dd833653adda34c357a Author: Sam James gentoo org> AuthorDate: Thu Feb 2 17:04:28 2023 + Commit: Sam James gentoo org> CommitDate: Thu Feb 2 17:13:55 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f8695a7d crossdev: style tweaks Signed-off-by: Sam James gentoo.org> crossdev | 125 ++- 1 file changed, 76 insertions(+), 49 deletions(-) diff --git a/crossdev b/crossdev index bd13f7f..2299661 100755 --- a/crossdev +++ b/crossdev @@ -244,21 +244,23 @@ parse_target() { # this is a linux+ target, not microcontroller (below) avr32*) :;; - avr*) KPKG="[none]" - LCAT="dev-embedded" - LPKG="avr-libc" - GUSE+=" -fortran -go" # doesn't work - MULTILIB_USE="yes" #377039 - BUSE+=" cxx" - STAGE_DEFAULT=${STAGE_LIBC} - WITH_DEF_HEADERS="no";; + avr*) + KPKG="[none]" + LCAT="dev-embedded" + LPKG="avr-libc" + GUSE+=" -fortran -go" # doesn't work + MULTILIB_USE="yes" #377039 + BUSE+=" cxx" + STAGE_DEFAULT=${STAGE_LIBC} + WITH_DEF_HEADERS="no" + ;; # Has no glibc support yet (or even ABI defined). Can # only compile linux kernel: # https://parisc.wiki.kernel.org/index.php/Userspace64 hppa64*) - STAGE_DEFAULT=${STAGE_C_ONLY} - WITH_DEF_HEADERS="no";; + STAGE_DEFAULT=${STAGE_C_ONLY} + WITH_DEF_HEADERS="no";; ia64*) # gcc's libgcc needs glibc headers for unwinder. @@ -275,58 +277,80 @@ parse_target() { # added in bug #609602 mmix*) - KPKG="[none]" - LPKG="newlib" - STAGE_DEFAULT=${STAGE_LIBC} - WITH_DEF_HEADERS="no";; + KPKG="[none]" + LPKG="newlib" + STAGE_DEFAULT=${STAGE_LIBC} + WITH_DEF_HEADERS="no" + ;; # due to upstream lameness, build C/C++ at first glance *-cygwin) - GUSE_DISABLE_STAGE_1+=" -nocxx cxx";; + GUSE_DISABLE_STAGE_1+=" -nocxx cxx" + ;; # these are the mingw64 targets that binutils seems to use x86_64-*-mingw*|*-w64-mingw*) - KPKG="[none]"; - LCAT="dev-util"; LPKG="mingw64-runtime" - WITH_DEF_HEADERS="yes" # gcc can't boot without headers: bug #693770 - GMASK+=" default-stack-clash-protection hardened" - GUSE+=" -default-stack-clash-protection -hardened" # gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc - ;; + KPKG="[none]"; + LCAT="dev-util" + LPKG="mingw64-runtime" + WITH_DEF_HEADERS="yes" # gcc can't boot without headers: bug #693770 + GMASK+=" default-stack-clash-protection hardened" + GUSE+=" -default-stack-clash-protection -hardened" # gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc + ;; mingw*|*-mingw*) - # bug #584858 - die "'${CTARGET}' target is not supported anymore, use i686-w64-mingw32" - ;; + # bug #584858 + die "'${CTARGET}' target is not supported anymore, use i686-w64-mingw32" + ;; - spu*) TARCH=ppc64; - KPKG="[none]"; - LPKG="newlib";; - ppu*) TARCH=ppc64;; + spu*) + TARCH=ppc64 + KPKG="[none]" + LPKG="newlib" + ;; + ppu*) + TARCH=ppc64 + ;; mips64*-gnuabin32|mipsisa64*-gnuabin32) - [[ ${MULTILIB_ABIS} == "default" ]] && MULTILIB_ABIS="n32";; - mips64*-gnuabi64|mipsisa64*-gnuabi64|\ - mips64*-gnuabin64|mipsisa64*-gnuabin64) - [[ ${MULTILIB_ABIS} == "default" ]] && MULTILIB_ABIS="n64";; - mips64*-gnuabi32|mipsisa64*-gnuabi32|\ - mips64*-gnuabio32|mipsisa64*-gnuabio32) - [[ ${MULTILIB_A
[gentoo-commits] proj/crossdev:master commit in: /
commit: dd89e2ff97e249a0800660cd6d135ff161e30ed0 Author: Sam James gentoo org> AuthorDate: Sat Jan 14 17:58:08 2023 + Commit: Sam James gentoo org> CommitDate: Sat Jan 14 17:58:08 2023 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=dd89e2ff crossdev: add TODO re picking versions from overlays & best version Signed-off-by: Sam James gentoo.org> crossdev | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crossdev b/crossdev index de9ce7a..902d9dc 100755 --- a/crossdev +++ b/crossdev @@ -1225,6 +1225,8 @@ set_links() { ;; esac + # TODO: Import eapi7-ver.eclass and prefer the best version + # rather than just the first we find. if grep -qre "KEYWORDS=.*${search_kw_string}" "${s}/${cat}/${pkg}" ; then # ... so only skip if we found one which is at least stable. srcdir=${s}
[gentoo-commits] proj/crossdev:master commit in: /
commit: 82dd3e00f1838f3ce00c4a156e67d73bbb1a2760 Author: Sam James gentoo org> AuthorDate: Wed Dec 28 15:17:40 2022 + Commit: Sam James gentoo org> CommitDate: Wed Dec 28 15:17:40 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=82dd3e00 crossdev: adapt to new USE=default-stack-clash-protection Signed-off-by: Sam James gentoo.org> crossdev | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crossdev b/crossdev index caf912e..de9ce7a 100755 --- a/crossdev +++ b/crossdev @@ -289,8 +289,8 @@ parse_target() { KPKG="[none]"; LCAT="dev-util"; LPKG="mingw64-runtime" WITH_DEF_HEADERS="yes" # gcc can't boot without headers: bug #693770 - GUSE+=" -hardened" # gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc - GMASK+=" hardened" + GMASK+=" default-stack-clash-protection hardened" + GUSE+=" -default-stack-clash-protection -hardened" # gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc ;; mingw*|*-mingw*) @@ -440,7 +440,7 @@ parse_target() { if [[ $ssp_support = "no" ]]; then # ssp is >=gcc-6, nossp is
[gentoo-commits] proj/crossdev:master commit in: /
commit: 0f55fd20c5d70f84bbf009a8f4c08ad1558ba9b0 Author: Sam James gentoo org> AuthorDate: Wed Dec 28 15:17:09 2022 + Commit: Sam James gentoo org> CommitDate: Wed Dec 28 15:17:09 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=0f55fd20 crossdev: force off hardened in more cases (avoid leaking hardened from host) See: c439961a06625b27d39d683beee00e8c3a54005f See: cb41e7e05c55f6ef64e7a617869bbb644899e724 Signed-off-by: Sam James gentoo.org> crossdev | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crossdev b/crossdev index 1b37e47..caf912e 100755 --- a/crossdev +++ b/crossdev @@ -290,6 +290,7 @@ parse_target() { LCAT="dev-util"; LPKG="mingw64-runtime" WITH_DEF_HEADERS="yes" # gcc can't boot without headers: bug #693770 GUSE+=" -hardened" # gcc ICEs as libssp/ssp.c:186:1: internal compiler error: in seh_emit_stackalloc + GMASK+=" hardened" ;; mingw*|*-mingw*) @@ -333,6 +334,7 @@ parse_target() { LPKG="newlib" KPKG="[none]" STAGE_DEFAULT=${STAGE_LIBC} + GMASK+=" hardened" GUSE+=" cxx -openmp" #489798 GUSE+=" -fortran" #589672, needs syscalls GUSE+=" -hardened" #687598, needs -fstack-check=specific support
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: cbaa46284277310826fbe3e32c0f33ae8d977960 Author: James Le Cuirot gentoo org> AuthorDate: Tue Dec 27 15:49:41 2022 + Commit: Sam James gentoo org> CommitDate: Tue Dec 27 16:06:30 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=cbaa4628 cross-pkg-config: Rework to properly support prefix This helps with both cross-compiling into a prefix and cross-compiling within a prefix. Signed-off-by: James Le Cuirot gentoo.org> Signed-off-by: Sam James gentoo.org> wrappers/cross-pkg-config | 87 +++ 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index 62f0dfa..f178147 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2008-2014 Gentoo Foundation +# Copyright 2008-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @@ -20,6 +20,9 @@ error() { exit 1 } +# abort infinite loop due to misconfiguration +[ "${0##*/}" = "pkg-config" ] && error "aborting infinite loop! (make sure to delete uClinux-dist/tools/pkg-config)" + # # Allow very basic checks. This is not very sophisticated, but should get the # job done, practically speaking. @@ -48,32 +51,49 @@ if [ "$1" = "--cross-pkg-config-install" ] ; then exit 0 fi -unset EXTRA_PKG_CONFIG_LIBDIR +export PKG_CONFIG_LIBDIR= +unset PREFIX + if [ -z "${CHOST}" ] ; then CHOST=${0##*/} CHOST=${CHOST%-pkg-config} fi -if [ -z "${SYSROOT}" ] ; then - if [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then - # Manual install - SYSROOT="@CROSS_PKG_CONFIG_PATH@" - elif [ -n "${ROOT}" ] ; then - # Gentoo - SYSROOT=${ROOT} - elif [ -n "${STAGEDIR}" ] ; then - # uClinux-dist - SYSROOT=${STAGEDIR} - EXTRA_PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR} + +if [ -n "${ESYSROOT+x}" ] ; then + # Gentoo EAPI 7+ + : ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}} + PREFIX=${ESYSROOT%/} + PREFIX=${PREFIX#${SYSROOT%/}} +elif [ -n "${ROOT+x}" ] ; then + # Gentoo EAPI 0-6 + if [ -n "${SYSROOT%/}" ]; then + : ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}} + PREFIX=${EPREFIX%/} else - # /usr/ - SYSROOT="/usr/${CHOST}" - if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then - error "Need \$ROOT or \$STAGEDIR set first" - fi + : ${PKG_CONFIG_SYSROOT_DIR=} + PREFIX=${PORTAGE_OVERRIDE_EPREFIX%/} + fi +elif [ -n "${SYSROOT+x}" ] ; then + # Generic + : ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}} +elif [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then + # Manual install + : ${PKG_CONFIG_SYSROOT_DIR="@CROSS_PKG_CONFIG_PATH@"} +elif [ -n "${STAGEDIR}" ] ; then + # uClinux-dist + : ${PKG_CONFIG_SYSROOT_DIR=${STAGEDIR}} + PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR} +else + # /usr/ + : ${PKG_CONFIG_SYSROOT_DIR=/usr/${CHOST}} + + if [ -z "${CHOST}" ] || [ ! -d "${PKG_CONFIG_SYSROOT_DIR}" ] ; then + error "Need \$ROOT or \$STAGEDIR set first" fi fi -# abort infinite loop due to misconfiguration -[ "${0##*/}" = "pkg-config" ] && error "aborting infinite loop! (make sure to delete uClinux-dist/tools/pkg-config)" + +export PKG_CONFIG_SYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR%/} +PKG_CONFIG_ESYSROOT_DIR=${PKG_CONFIG_SYSROOT_DIR}${PREFIX} # # Some distributions pollute the pkg-config environment. @@ -94,20 +114,15 @@ if [ -z "${libdir}" ] ; then # Fall back to probing the compiler. libdir=$(realpath "$(${CC:-${CHOST}-gcc} ${CFLAGS} ${LDFLAGS} -print-file-name=pkgconfig)/..") # Chopping the basename isn't exactly correct, but it's good enough for now. - libdir=$(basename "${libdir}") + libdir=${libdir##*/} fi : ${libdir:=lib} -export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/usr/${libdir}:/${libdir}" +export PKG_CONFIG_SYSTEM_LIBRARY_PATH="${PREFIX}/usr/${libdir}:${PREFIX}/${libdir}" # # Set the pkg-config search paths to our staging directory. # -export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/${libdir}/pkgconfig:${SYSROOT}/usr/share/pkgconfig" -if [ -n "${EXTRA_PKG_CONFIG_LIBDIR}" ] ; then - PKG_CONFIG_LIBDIR="${EXTRA_PKG_CONFIG_LIBDIR}:${PKG_CONFIG_LIBDIR}" -fi -: ${PKG_CONFIG_SYSROOT_DIR=${SYSROOT}} -export PKG_CONFIG_SYSROOT_DIR +PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR}${PKG_CONFIG_LIBDIR:+:}${PKG_CONFIG_ESYSROOT_DIR}/usr/${libdir}/pkgconfig:${PKG_CONFIG_ESYSROOT_DIR}/usr/share/pkgconfig" # # Sanity check the output to catch common errors that do not @@ -118,20 +133,20 @@ ret=$? # We turn the output into a newline separate string of options, then use grep # to look for bad -Is and -Ls. Bad -Is and -Ls
[gentoo-commits] proj/crossdev:master commit in: wrappers/site/
commit: 0cc5fdf16454cfc371bdd50472c098fe01b6443b Author: James Le Cuirot gentoo org> AuthorDate: Tue Dec 27 15:51:47 2022 + Commit: Sam James gentoo org> CommitDate: Tue Dec 27 16:06:30 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=0cc5fdf1 config.site: Fix tzset in Python with autoconf override The Python build assumes that tzset is broken when cross-compiling. We can assume it works under Linux. Signed-off-by: James Le Cuirot gentoo.org> Closes: https://github.com/gentoo/crossdev/pull/8 Signed-off-by: Sam James gentoo.org> wrappers/site/linux | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wrappers/site/linux b/wrappers/site/linux index e97d26b..cb6b191 100644 --- a/wrappers/site/linux +++ b/wrappers/site/linux @@ -58,3 +58,6 @@ screen_cv_sys_select_broken_retval=${screen_cv_sys_select_broken_retval=no} screen_cv_sys_sockets_nofs=${screen_cv_sys_sockets_nofs=no} screen_cv_sys_sockets_usable=${screen_cv_sys_sockets_usable=yes} screen_cv_sys_terminfo_used=${screen_cv_sys_terminfo_used=yes} + +# Python +ac_cv_working_tzset=${ac_cv_working_tzset=yes}
[gentoo-commits] proj/crossdev:master commit in: /
commit: 10a87d6f135b30140a168190b408c49daf8a15ae Author: Mike Gilbert gentoo org> AuthorDate: Fri Sep 23 15:19:26 2022 + Commit: Mike Gilbert gentoo org> CommitDate: Fri Sep 23 15:23:24 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=10a87d6f Call emerge instead of qmerge to unmerge packages qmerge does not remove packages from the world file. Also, this allows us to drop the dependency on portage-utils. Signed-off-by: Mike Gilbert gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 6b868f8..6c3a3e4 100755 --- a/crossdev +++ b/crossdev @@ -638,7 +638,7 @@ uninstall() { rmdir "${EPREFIX}"/etc/revdep-rebuild 2>/dev/null # Unmerge all toolchain packages for this target. - qmerge -Uqy $(qlist -IC "cross-${CTARGET}/") + emerge -q --rage-clean "cross-${CTARGET}/*" # clean out known toolchain files (binutils/gcc) for f in \
[gentoo-commits] proj/crossdev:master commit in: /
commit: f7af005b835e7fee7cb9990fa551128e3fc480a5 Author: Mike Gilbert gentoo org> AuthorDate: Fri Nov 18 17:34:50 2022 + Commit: Mike Gilbert gentoo org> CommitDate: Fri Nov 18 17:34:50 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=f7af005b Revert "crossdev: clean world file on uninstall" This hack is unnecessary if we use emerge for uninstalls instead. Reverts: bec5fd6a5597f736a868e79017f99b5bc79a9dbf Signed-off-by: Mike Gilbert gentoo.org> crossdev | 3 --- 1 file changed, 3 deletions(-) diff --git a/crossdev b/crossdev index 6c3a3e4..1b37e47 100755 --- a/crossdev +++ b/crossdev @@ -584,9 +584,6 @@ uninstall() { ewarn "Uninstalling target '${CTARGET}' ..." # clean out portage config files - if grep -qs "^cross-${CTARGET}/" "${EPREFIX}"/var/lib/portage/world ; then - sed -i "/^cross-${CTARGET}/d" "${EPREFIX}"/var/lib/portage/world - fi if [[ -d ${CROSSDEV_OVERLAY}/cross-${CTARGET} ]]; then rm -r "${CROSSDEV_OVERLAY}"/cross-${CTARGET} # if we remove all the package in the category,
[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/
commit: 5ff32d9c306ecdfdcc2b2f828a4f7938676bd564 Author: Jakov Smolić gentoo org> AuthorDate: Thu Sep 8 19:47:11 2022 + Commit: Sam James gentoo org> CommitDate: Fri Sep 9 04:31:57 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=5ff32d9c wrappers: Actually set PKGDIR to /var/cache/binpkgs Probably a typo, so accidentally got changed to `cache/binpkgs` instead of `/var/cache/binpkgs` Signed-off-by: Jakov Smolić gentoo.org> Closes: https://github.com/gentoo/crossdev/pull/5 Signed-off-by: Sam James gentoo.org> wrappers/etc/portage/make.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index 0571e8b..59bf61e 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -16,7 +16,7 @@ CXXFLAGS="${CFLAGS}" FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc" # Be sure we dont overwrite pkgs from another repo.. -PKGDIR=${ROOT}cache/binpkgs/ +PKGDIR=${ROOT}var/cache/binpkgs/ PORTAGE_TMPDIR=${ROOT}tmp/ PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 2e96f990095bd86dbe2d181047fbb00674fb Author: Alfred Persson Forsberg catcream org> AuthorDate: Thu Aug 18 21:49:32 2022 + Commit: Sam James gentoo org> CommitDate: Thu Aug 18 21:57:26 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2e96f990 wrappers/Makefile: fix weird double spaces Signed-off-by: Alfred Persson Forsberg catcream.org> Closes: https://github.com/gentoo/crossdev/pull/4 Signed-off-by: Sam James gentoo.org> wrappers/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/Makefile b/wrappers/Makefile index 79f47aa..031f099 100644 --- a/wrappers/Makefile +++ b/wrappers/Makefile @@ -4,7 +4,7 @@ include ../settings.mk PORTDIR ?= $(shell portageq envvar PORTDIR) -FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper +FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper SITEDIR = $(PREFIX)/share/crossdev/include/site ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: c4cf9b41b4b7b7bc36d3878383666a77d51c804b Author: Alfred Persson Forsberg catcream org> AuthorDate: Thu Aug 18 21:16:38 2022 + Commit: Sam James gentoo org> CommitDate: Thu Aug 18 21:57:25 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c4cf9b41 wrappers/cross-ebuild: new file Crossdev currently installs a dead symlink to cross-ebuild. This commit creates it. Mostly copied from cross-emerge. Signed-off-by: Alfred Persson Forsberg catcream.org> Signed-off-by: Sam James gentoo.org> wrappers/Makefile | 2 +- wrappers/cross-ebuild | 41 + 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/wrappers/Makefile b/wrappers/Makefile index 19a1da3..79f47aa 100644 --- a/wrappers/Makefile +++ b/wrappers/Makefile @@ -4,7 +4,7 @@ include ../settings.mk PORTDIR ?= $(shell portageq envvar PORTDIR) -FNAMES = cross-emerge cross-fix-root cross-pkg-config emerge-wrapper +FNAMES = cross-ebuild cross-emerge cross-fix-root cross-pkg-config emerge-wrapper SITEDIR = $(PREFIX)/share/crossdev/include/site ETC_SITEDIR = $(EPREFIX)/etc/crossdev/include/site diff --git a/wrappers/cross-ebuild b/wrappers/cross-ebuild new file mode 100644 index 000..6f47cb8 --- /dev/null +++ b/wrappers/cross-ebuild @@ -0,0 +1,41 @@ +#!/bin/sh +# Copyright 2008-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +if [ -z "${CHOST}" ] ; then + CHOST=${0##*/} + CHOST=${CHOST%-ebuild} + CHOST=${CHOST#ebuild-} +fi +export CHOST + +BROOT="@GENTOO_PORTAGE_EPREFIX@" +if [ "${BROOT}" = "@"GENTOO_PORTAGE_EPREFIX"@" ] ; then + BROOT="" +fi + +: ${EPREFIX=} +: ${SYSROOT=${BROOT}/usr/${CHOST}} +: ${PORTAGE_CONFIGROOT=${SYSROOT}${EPREFIX}} +export EPREFIX SYSROOT PORTAGE_CONFIGROOT + +if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then + echo "cross-ebuild: CHOST is not set properly" + exit 1 +fi + +# Portage defaults CBUILD to CHOST, so we have to remove CHOST +# from the env to get a "good" value for CBUILD +query_vars="CBUILD CFLAGS CXXFLAGS CPPFLAGS LDFLAGS" +clean_vars="${query_vars} CHOST SYSROOT PORTAGE_CONFIGROOT" +eval $(env $(printf -- '-u %s ' ${clean_vars}) \ + portageq envvar -v ${query_vars} | sed s:^:_E_:) +: ${CBUILD=${_E_CBUILD}} +: ${BUILD_CFLAGS=${_E_CFLAGS}} +: ${BUILD_CXXFLAGS=${_E_CXXFLAGS}} +: ${BUILD_CPPFLAGS=${_E_CPPFLAGS}} +: ${BUILD_LDFLAGS=${_E_LDFLAGS}} +export CBUILD BUILD_CFLAGS BUILD_CXXFLAGS BUILD_CPPFLAGS BUILD_LDFLAGS + +: ${CROSS_CMD:=ebuild} +exec ${CROSS_CMD} "$@"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 718184e68a99cad05475854c136ab4664da12dee Author: Krzesimir Nowak microsoft com> AuthorDate: Wed Jul 6 19:44:21 2022 + Commit: Sam James gentoo org> CommitDate: Sat Jul 9 03:45:00 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=718184e6 crossdev: Fix matching of stable keywords Not sure how this worked before - in our case emerge couldn't find a matching ebuild any more when requesting stable versions. Signed-off-by: Krzesimir Nowak microsoft.com> Closes: https://github.com/gentoo/crossdev/pull/3 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 954d2ce..6b868f8 100755 --- a/crossdev +++ b/crossdev @@ -1219,7 +1219,7 @@ set_links() { case "${LVER}" in "[stable]") - search_kw_string="^[~]${TARCH}" + search_kw_string="[^~]${TARCH}" ;; *) search_kw_string="${TARCH}"
[gentoo-commits] proj/crossdev:master commit in: /
commit: e4acb756ed5c898e4b244807fa5d3d14464765ea Author: Krzesimir Nowak microsoft com> AuthorDate: Thu Jul 7 12:56:57 2022 + Commit: Sam James gentoo org> CommitDate: Sat Jul 9 03:45:00 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=e4acb756 crossdev: Fall back to default version for gdb too Passing `--stable` didn't affect the version of built GDB, thus we needed to pass `--gdb '[stable]'` on our own. Signed-off-by: Krzesimir Nowak microsoft.com> Signed-off-by: Sam James gentoo.org> crossdev | 1 + 1 file changed, 1 insertion(+) diff --git a/crossdev b/crossdev index a7566ba..8cc3693 100755 --- a/crossdev +++ b/crossdev @@ -900,6 +900,7 @@ BVER=${BVER:-${DEFAULT_VER}} GVER=${GVER:-${DEFAULT_VER}} KVER=${KVER:-${DEFAULT_VER}} LVER=${LVER:-${DEFAULT_VER}} +DVER=${DVER:-${DEFAULT_VER}} STAGE=${STAGE:-${STAGE_DEFAULT}} [[ -z ${CTARGET} ]] && usage 1 for with in HEADERS ; do
[gentoo-commits] proj/crossdev:master commit in: /
commit: 951e3f54dae6c815fbd89c16004c99b5c4c391ae Author: Krzesimir Nowak microsoft com> AuthorDate: Thu Jul 7 12:58:55 2022 + Commit: Sam James gentoo org> CommitDate: Sat Jul 9 03:45:00 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=951e3f54 crossdev: Take gdb variables into account When restoring user settings and when figuring out the list of repos. Signed-off-by: Krzesimir Nowak microsoft.com> Signed-off-by: Sam James gentoo.org> crossdev | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crossdev b/crossdev index 8cc3693..954d2ce 100755 --- a/crossdev +++ b/crossdev @@ -988,7 +988,7 @@ done # grab user settings d="${CONFIGROOT}/crossdev/${CTARGET}" -for v in MULTILIB_ABIS USE BVER GVER KVER LVER STAGE CFLAGS LDFLAGS ASFLAGS ; do +for v in MULTILIB_ABIS USE BVER GVER KVER LVER DVER STAGE CFLAGS LDFLAGS ASFLAGS ; do if [[ -e ${d}/${v} ]] ; then # yes, quotes are needed in this instance (export $var="...") export ${v}="$(<"${d}"/${v})" @@ -1347,7 +1347,7 @@ set_metadata() { fi # build up a list of possible repos where we can pull from - for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" ${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do + for d in "${BOVL}" "${GOVL}" "${KOVL}" "${LOVL}" "${DOVL}" ${SEARCH_OVERLAYS} "${MAIN_REPO_PATH}" ; do [[ -z ${d} ]] && continue name=
[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/
commit: 553ab9e4f5d985103fa2f30de74aad0780cd2a0d Author: Sam James gentoo org> AuthorDate: Mon May 2 23:34:05 2022 + Commit: Sam James gentoo org> CommitDate: Mon May 2 23:34:05 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=553ab9e4 wrappers: use /var/cache/binpkgs as PKGDIR Modern location. Signed-off-by: Sam James gentoo.org> wrappers/etc/portage/make.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index ec66ede..0571e8b 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -16,7 +16,7 @@ CXXFLAGS="${CFLAGS}" FEATURES="-collision-protect sandbox buildpkg noman noinfo nodoc" # Be sure we dont overwrite pkgs from another repo.. -PKGDIR=${ROOT}packages/ +PKGDIR=${ROOT}cache/binpkgs/ PORTAGE_TMPDIR=${ROOT}tmp/ PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
[gentoo-commits] proj/crossdev:master commit in: wrappers/site/
commit: 51dfd93c5122df670d2753070807e5a172727ded Author: Sam James gentoo org> AuthorDate: Fri Jun 17 02:39:46 2022 + Commit: Sam James gentoo org> CommitDate: Fri Jun 17 02:43:42 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=51dfd93c site: add linux-musl Follow-up to 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b. Sets ``` ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ``` ... to sort out flex and a bunch of other packages, like procps. I was wondering why this never seemed to come up when doing cross for other "standard" targets which we know work and are used often; the answer is that we never had the -musl suffix CHOSTs covered. (e.g. linux-gnu already has this set.) Bug: https://bugs.gentoo.org/554032 Closes: https://bugs.gentoo.org/675368 Closes: https://bugs.gentoo.org/705800 See: 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b Signed-off-by: Sam James gentoo.org> wrappers/site/linux-musl | 4 1 file changed, 4 insertions(+) diff --git a/wrappers/site/linux-musl b/wrappers/site/linux-musl new file mode 100644 index 000..d126046 --- /dev/null +++ b/wrappers/site/linux-musl @@ -0,0 +1,4 @@ +# sys-devel/flex-2.5.35 +# bug #705800 and many others +ac_cv_func_malloc_0_nonnull=yes +ac_cv_func_realloc_0_nonnull=yes
[gentoo-commits] proj/crossdev:master commit in: wrappers/etc/portage/
commit: 8a959b0877934420d6c0bf3345c98f58319399ed Author: Sam James gentoo org> AuthorDate: Mon May 2 23:33:07 2022 + Commit: Sam James gentoo org> CommitDate: Mon May 2 23:33:07 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=8a959b08 wrappers: use /var/db/repos/local in commented out example PORTDIR_OVERLAY Signed-off-by: Sam James gentoo.org> wrappers/etc/portage/make.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf index 2ab65b3..ec66ede 100644 --- a/wrappers/etc/portage/make.conf +++ b/wrappers/etc/portage/make.conf @@ -20,4 +20,4 @@ PKGDIR=${ROOT}packages/ PORTAGE_TMPDIR=${ROOT}tmp/ PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/" -#PORTDIR_OVERLAY="/usr/portage/local/" +#PORTDIR_OVERLAY="/var/db/repos/local/"
[gentoo-commits] proj/crossdev:master commit in: /
commit: cb41e7e05c55f6ef64e7a617869bbb644899e724 Author: Sam James gentoo org> AuthorDate: Mon May 2 23:17:29 2022 + Commit: Sam James gentoo org> CommitDate: Mon May 2 23:18:51 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=cb41e7e0 crossdev: force off USE=hardened where no SSP This fixes e.g. hppa2.0-unknown-linux-gnu where the stack grows up and hence we lack SSP, but also -fstack-clash-protection which is forced on by USE=hardened. glibc failed to build before this with: ``` checking for broken __attribute__((alias()))... yes configure: error: working alias attribute support required * ERROR: cross-hppa2.0-unknown-linux-gnu/glibc-2.35-r4::crossdev failed (configure phase): ``` config.log: ``` configure:4199: checking if compiler warns about alias for function with incompatible types cc1: error: '-fstack-clash-protection' is not supported on targets where the stack grows from lower to higher addresses [-Werror] conftest.c:9:34: error: 'foo_alias' alias between functions of incompatible types 'int(const void *, int)' and 'int (*(void))(const void *, int)' [-Werror=attribute-alias=] 9 | extern __typeof (__redirect_foo) foo_alias __attribute__ ((alias ("foo"))); | ^ conftest.c:4:28: note: aliased declaration here 4 | __typeof (__redirect_foo) *foo_impl (void) |^~~~ cc1: all warnings being treated as errors ``` Signed-off-by: Sam James gentoo.org> crossdev | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 7ec9a9d..a7566ba 100755 --- a/crossdev +++ b/crossdev @@ -437,7 +437,8 @@ parse_target() { # Running a hardened profile on the host forces ssp #831165 if [[ $ssp_support = "no" ]]; then # ssp is >=gcc-6, nossp is
[gentoo-commits] proj/crossdev:master commit in: /
commit: 7bd38b79de36573ba1f19e9754fb78072993c387 Author: WANG Xuerui gentoo org> AuthorDate: Mon Aug 9 13:22:30 2021 + Commit: Sam James gentoo org> CommitDate: Sun Apr 24 16:29:56 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=7bd38b79 crossdev: Add support for LoongArch (ARCH=loong) Closes: https://bugs.gentoo.org/840431 Closes: https://github.com/gentoo/crossdev/pull/2 Signed-off-by: WANG Xuerui gentoo.org> Signed-off-by: Sam James gentoo.org> README | 1 + crossdev | 11 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README b/README index 5c72e7b..d4198b2 100644 --- a/README +++ b/README @@ -60,6 +60,7 @@ executables or kernels if applies): i686-pc-gnu i686-w64-mingw32 ia64-unknown-linux-gnu + loongarch64-unknown-linux-gnu m68k-unknown-linux-gnu mips-unknown-linux-gnu mips64-unknown-linux-gnu diff --git a/crossdev b/crossdev index d8e25fb..7ec9a9d 100755 --- a/crossdev +++ b/crossdev @@ -136,6 +136,7 @@ parse_target() { - hppa (parisc) - ia64 - i386 / i486 / i586 / i686 (x86) + - loongarch64 - m68k - mips / mipsel / mips64 / mips64el - or1k @@ -208,7 +209,7 @@ parse_target() { CTARGET="${CTARGET}-unknown-linux-gnueabihf";; arm*) CTARGET="${CTARGET}-unknown-linux-gnueabi";; - aarch64*|alpha*|cris*|hppa*|ia64*|m68*|mips*|powerpc*|riscv*|sparc*|sh*|tile*) + aarch64*|alpha*|cris*|hppa*|ia64*|loongarch*|m68*|mips*|powerpc*|riscv*|sparc*|sh*|tile*) CTARGET="${CTARGET}-unknown-linux-gnu";; bfin*|h8300*|msp430*|nds32*|nios2*|spu*|xc16x*) CTARGET="${CTARGET}-elf";; @@ -223,6 +224,7 @@ parse_target() { hppa*) TARCH=hppa;; ia64*) TARCH=ia64;; i?86*) TARCH=x86;; + loongarch*) TARCH=loong;; m68*) TARCH=m68k;; mips*) TARCH=mips;; powerpc64*) TARCH=ppc64;; @@ -264,6 +266,13 @@ parse_target() { WITH_DEF_HEADERS="yes" ;; + loongarch*) + # have to bring in the experimental LoongArch patchset before + # everything is upstream + KUSE+=" experimental-loong" + LUSE+=" experimental-loong" + ;; + # added in bug #609602 mmix*) KPKG="[none]"
[gentoo-commits] proj/crossdev:master commit in: /
commit: b15c1d5f590a309d6015ae6f225fc1b4611ff427 Author: Mikk Margus Möll eesti ee> AuthorDate: Tue Apr 19 18:01:54 2022 + Commit: Sam James gentoo org> CommitDate: Tue Apr 19 20:25:18 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=b15c1d5f crossdev: add quotes to set_keywords variable Signed-off-by: Mikk Margus Möll eesti.ee> Closes: https://github.com/gentoo/crossdev/pull/1 Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index db9dbd5..d8e25fb 100755 --- a/crossdev +++ b/crossdev @@ -1304,7 +1304,7 @@ set_portage() { set_use_mask ${pkg} "${mask}" set_use_force ${pkg} "${force}" - set_keywords ${pkg} ${ver} + set_keywords ${pkg} "${ver}" set_use ${pkg} ${use} set_links ${cat} ${pkg} "${ovl}" set_env ${l} ${pkg} "${env}"
[gentoo-commits] proj/crossdev:master commit in: /
commit: e8bc12da4e22b0a1dc0d52f4ea01905b0ab3db2d Author: Sam James gentoo org> AuthorDate: Thu Mar 17 23:42:26 2022 + Commit: Sam James gentoo org> CommitDate: Thu Mar 17 23:42:36 2022 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=e8bc12da crossdev: update copyright line Signed-off-by: Sam James gentoo.org> crossdev | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crossdev b/crossdev index 4e88913..db9dbd5 100755 --- a/crossdev +++ b/crossdev @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 CROSSDEV_VER="@CDEVPV@"