[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 768f84cb1863dfe62770731a1527f0314ecc5b51
Author: Sam James gentoo org>
AuthorDate: Wed Jan 21 07:18:15 2026 +
Commit: Sam James gentoo org>
CommitDate: Wed Jan 21 07:18:15 2026 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=768f84cb
ci: run job once a month
Nightly is too much. It hogs and steals from other projects in the org.
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 0a04d1c..6c03c8d 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -8,7 +8,7 @@ on:
branches:
- master
schedule:
-- cron: 00 4 * * *
+- cron: 00 4 7 * *
concurrency:
group: ${{ github.head_ref || github.ref }}
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 6a249af2ad2e58f3b705e9431aef087b421ff368 Author: Sam James gentoo org> AuthorDate: Wed Jan 21 07:17:34 2026 + Commit: Sam James gentoo org> CommitDate: Wed Jan 21 07:17:34 2026 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6a249af2 ci: set max concurrency of 10 After discussion w/ Arthur. 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 8f45031..0a04d1c 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -17,6 +17,7 @@ concurrency: jobs: crossdev: strategy: + max-parallel: 10 matrix: # All targets which are known to be broken, are commented. Pull # requests fixing them welcome!
[gentoo-commits] proj/crossdev:master commit in: /
commit: 6f5234af31c4240b70bfca6655ab9234bc528336
Author: Michal Rostecki protonmail com>
AuthorDate: Fri Jan 2 00:44:38 2026 +
Commit: Sam James gentoo org>
CommitDate: Fri Jan 2 00:59:09 2026 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6f5234af
crossdev: Mention all LLVM options in the usage text
--libunwind, --libcxxabi and --libcxx were not mentioned.
Signed-off-by: Michal Rostecki protonmail.com>
Part-of: https://github.com/gentoo/crossdev/pull/38
Closes: https://github.com/gentoo/crossdev/pull/38
Signed-off-by: Sam James gentoo.org>
crossdev | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/crossdev b/crossdev
index db74135..2062145 100755
--- a/crossdev
+++ b/crossdev
@@ -110,10 +110,13 @@ Extra Fun (must be run after above stages):
LLVM/Clang Specific Options (--llvm):
${GOOD}--r, --crt${NORMAL} ver Specify version of compiler-rt to
use
+${GOOD}--u, --libunwind${NORMAL} ver Specify version of libunwind to
use
+${GOOD}--a, --libcxxabi${NORMAL} ver Specify version of libcxxabi to
use
+${GOOD}--p, --libcxx${NORMAL} verSpecify version of libcxx 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}--[ruapc]env${NORMAL} env Specify env settings for
compiler-rt/libunwind/libcxxabi/libcxx/clang-crossdev-wrapper
+${GOOD}--[ruapc]cat${NORMAL} categoryUse
compiler-rt/libunwind/libcxxabi/libcxx/clang-crossdev-wrapper package from
category
+${GOOD}--[ruapc]pkg${NORMAL} pkg Use
compiler-rt/libunwind/libcxxabi/libcxx/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]
[gentoo-commits] proj/crossdev:master commit in: /
commit: cc102a08b1f206ce1c01d2295f621e0c42c2dd04
Author: Sam James gentoo org>
AuthorDate: Sat Dec 13 02:47:04 2025 +
Commit: Sam James gentoo org>
CommitDate: Sun Dec 14 03:22:38 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=cc102a08
crossdev: rework nvptx support
Split nvptx support into two:
* nvptx-none for `nvtpx-none-gcc` and friends which retain the ability
to build standalone code for nvptx.
* accel-nvptx-none for the acclerator bits for GCC.
To get up and running, two commands will now be needed:
$ crossdev nvptx-none
$ crossdev accel-nvptx-none
This approach means that upgrades and rebuilds of components will work
fine, as opposed to before where newlib or nvptx-tools could not be rebuilt
once the process had completed. The other options evaluated are detailed
in the bug.
Bug: https://bugs.gentoo.org/965844
Signed-off-by: Sam James gentoo.org>
crossdev | 40 +++-
1 file changed, 35 insertions(+), 5 deletions(-)
diff --git a/crossdev b/crossdev
index 6a73393..db74135 100755
--- a/crossdev
+++ b/crossdev
@@ -311,15 +311,45 @@ parse_target() {
WITH_DEF_HEADERS="no"
;;
+ #
# Offload targets
- nvptx*)
+ #
+
+ # nvptx
+ accel-nvptx*)
KPKG="[none]"
- BPKG="nvptx-tools"
- LPKG="newlib"
+ BPKG="[none]"
+ LPKG="[none]"
+
+ # TODO: Die if nvptx-none isn't available
+
# 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"
+ #
https://gcc.gnu.org/legacy-ml/gcc/2018-03/msg00122.html
+ GMASK+=" ada d go graphite modula2 rust"
+
+ 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"
+
+ # We need multilib for openmp to be built w/ -mgomp
+ MULTILIB_USE="yes"
+ WITH_DEF_HEADERS="no"
+ ;;
+ nvptx*)
+ KPKG="[none]"
+ BPKG="nvptx-tools"
+ LPKG="newlib"
+
+ STAGE_DEFAULT=${STAGE_LIBC}
# We can't force these on via GFORCE because they need
# to be disabled for stage1.
GUSE+=" cxx openmp fortran"
@@ -523,7 +553,7 @@ parse_target() {
case ${CTARGET} in
# [1.]: no -fstack-protector flag support:
# check as '$CC -fstack-protector -c -x c - https://gcc.gnu.org/legacy-ml/gcc-help/2020-01/msg00106.html.
mask+=" -multilib"
force+=" multilib"
[gentoo-commits] proj/crossdev:master commit in: /
commit: 1e532d7912d3342b582c18eadc267923308d43d2
Author: Sam James gentoo org>
AuthorDate: Sat Dec 13 01:17:49 2025 +
Commit: Sam James gentoo org>
CommitDate: Sun Dec 14 03:22:37 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=1e532d79
crossdev: fix indentation
Signed-off-by: Sam James gentoo.org>
crossdev | 53 +++--
1 file changed, 27 insertions(+), 26 deletions(-)
diff --git a/crossdev b/crossdev
index c3e0ead..6a73393 100755
--- a/crossdev
+++ b/crossdev
@@ -1036,8 +1036,9 @@ 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"
+
+ # To avoid bug reports
+ [[ "${LPKG}" == "glibc" ]] && die "LLVM/Clang cannot currently compile
glibc"
fi
CROSSDEV_OVERLAY_CATEGORY="${CROSSDEV_OVERLAY_CATEGORY_PREFIX}${CTARGET}"
@@ -1460,7 +1461,7 @@ set_env() {
output=$(_set_portage_file ${pkg} package.env)
echo "${CROSSDEV_OVERLAY_CATEGORY}/${pkg}
${CROSSDEV_OVERLAY_CATEGORY}/${pkg}.conf" >> ${output}
-[[ "${LLVM}" == "yes" ]] && echo "${CROSSDEV_OVERLAY_CATEGORY}/${pkg}
${CROSSDEV_OVERLAY_CATEGORY}/llvm.conf" >> ${output}
+ [[ "${LLVM}" == "yes" ]] && echo "${CROSSDEV_OVERLAY_CATEGORY}/${pkg}
${CROSSDEV_OVERLAY_CATEGORY}/llvm.conf" >> ${output}
}
set_portage() {
local l=$1
@@ -1658,31 +1659,31 @@ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib
### step 2: set up the compat symlink of the default abi for non-multilib
case ${CTARGET} in
riscv*)
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib64
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib64/lp64
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib64/lp64d
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib64
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib64/lp64
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib64/lp64d
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib32
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib32/ilp32
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib32/ilp32d
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib32
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib32/ilp32
- xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib32/ilp32d
- ;;&
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib64
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib64/lp64
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib64/lp64d
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib64
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib64/lp64
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib64/lp64d
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib32
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib32/ilp32
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/lib32/ilp32d
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib32
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib32/ilp32
+ xmkdir -p "${EPREFIX}"/usr/${CTARGET}/usr/lib32/ilp32d
+ ;;&
riscv64*)
- rmdir "${EPREFIX}"/usr/${CTARGET}/lib64/${DEFAULT_ABI}
- ln -s . "${EPREFIX}"/usr/${CTARGET}/lib64/${DEFAULT_ABI}
- rmdir
"${EPREFIX}"/usr/${CTARGET}/usr/lib64/${DEFAULT_ABI}
- ln -s .
"${EPREFIX}"/usr/${CTARGET}/usr/lib64/${DEFAULT_ABI}
- ;;
+ rmdir "${EPREFIX}"/usr/${CTARGET}/lib64/${DEFAULT_ABI}
+ ln -s . "${EPREFIX}"/usr/${CTARGET}/lib64/${DEFAULT_ABI}
+ rmdir "${EPREFIX}"/usr/${CTARGET}/usr/lib64/${DEFAULT_ABI}
+ ln -s . "${EPREFIX}"/usr/${CTARGET}/usr/lib64/${DEFAULT_ABI}
+ ;;
riscv32*)
- rmdir "${EPREFIX}"/usr/${CTARGET}/lib32/${DEFAULT_ABI}
- ln -s ../lib
"${EPREFIX}"/usr/${CTARGET}/lib32/${DEFAULT_ABI}
- rmdir
"${EPREFIX}"/usr/${CTARGET}/usr/lib32/${DEFAULT_ABI}
- ln -s ../lib
"${EPREFIX}"/usr/${CTARGET}/usr/lib32/${DEFAULT_ABI}
- ;;
+ rmdir "${EPREFIX}"/usr/${CTARGET}/lib32/${DEFAULT_ABI}
+ ln -s ../lib "${EPREFIX}"/usr/${CTARGET}/lib32/${DEFAULT_ABI}
+ rmdir "${EPREFIX}"/usr/${CTARGET}/usr/lib32/${DEFAULT_ABI}
+ ln -s ../lib
"${EPREFIX}"/usr/${CTARGET}/usr/lib32/${DEFAULT_ABI}
+ ;;
esac
# HOSTCC is used by linux-headers to compile fixdeps program for CBUILD
[gentoo-commits] proj/crossdev:master commit in: scripts/
commit: 26861c7a06d5ea82e9c6233caec3e6d9fd68be52
Author: Michal Rostecki protonmail com>
AuthorDate: Tue Sep 16 12:14:59 2025 +
Commit: Sam James gentoo org>
CommitDate: Wed Oct 8 02:21:22 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=26861c7a
scripts: Always pull the container image
That way we make sure that stage3 is up-to-date.
Signed-off-by: Michal Rostecki protonmail.com>
Part-of: https://github.com/gentoo/crossdev/pull/24
Signed-off-by: Sam James gentoo.org>
scripts/container_test.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/container_test.sh b/scripts/container_test.sh
index 4205dbd..d30be3b 100755
--- a/scripts/container_test.sh
+++ b/scripts/container_test.sh
@@ -86,6 +86,7 @@ while [[ $# -gt 0 ]]; do
done
"${CONTAINER_ENGINE}" run -d \
+ --pull always \
--name "${CONTAINER_NAME}" \
-v "${TOPDIR}:/workspace" \
-w /workspace \
[gentoo-commits] proj/crossdev:master commit in: /
commit: 6fcf738f7222d3f288a7670a8f6f257dfe8cb11b
Author: Michal Rostecki protonmail com>
AuthorDate: Sat Sep 13 18:41:08 2025 +
Commit: Sam James gentoo org>
CommitDate: Wed Oct 8 02:20:23 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6fcf738f
crossdev: Bootstrap the full LLVM toolchain
Include llvm-libunwind and libcxx in the LLVM-based cross environments,
so they are fully ready to build any package.
Bug: https://bugs.gentoo.org/915048
Closes: https://bugs.gentoo.org/941140
Closes: https://bugs.gentoo.org/942214
Signed-off-by: Michal Rostecki protonmail.com>
Part-of: https://github.com/gentoo/crossdev/pull/24
Signed-off-by: Sam James gentoo.org>
crossdev | 184 +--
1 file changed, 109 insertions(+), 75 deletions(-)
diff --git a/crossdev b/crossdev
index fb03720..c3e0ead 100755
--- a/crossdev
+++ b/crossdev
@@ -906,6 +906,9 @@ KCAT="sys-kernel" ; KPKG="linux-headers" ; KVER="" KUSE=""
KENV="" KOVL="" KMASK
LCAT="sys-libs" ; LPKG="[none]"; LVER="" LUSE="" LENV="" LOVL=""
LMASK="" LFORCE=""
DCAT="dev-debug" ; DPKG="gdb" ; DVER="" DUSE="" DENV="" DOVL=""
DMASK="" DFORCE=""
RCAT="llvm-runtimes" ; RPKG="compiler-rt" ; RVER="" RUSE="" RENV="" ROVL=""
RMASK="" RFORCE=""
+UCAT="llvm-runtimes" ; UPKG="libunwind" ; UVER="" UUSE="" UENV="" UOVL=""
UMASK="" UFORCE=""
+ACAT="llvm-runtimes" ; APKG="libcxxabi" ; AVER="" AUSE="" AENV="" AOVL=""
AMASK="" AFORCE=""
+PCAT="llvm-runtimes" ; PPKG="libcxx"; PVER="" PUSE="" PENV="" POVL=""
PMASK="" PFORCE=""
CCAT="sys-devel" ; CPKG="clang-crossdev-wrappers" ; CVER="" CUSE="" CENV=""
COVL="" CMASK="" CFORCE=""
XPKGS=() XVERS=() XUSES=() XENVS=() XOVLS=() XMASKS=() XFORCES=()
DEFAULT_VER="[latest]"
@@ -948,69 +951,84 @@ LLVM="no"
while [[ $# -gt 0 ]] ; do
case $1 in
- -V|--version) echo "crossdev-${CROSSDEV_VER}"; exit 0;;
- -t|--target) shift; parse_target $1;;
- --b|--binutils)shift; BVER=$1;;
- --benv)shift; BENV=$1;;
- -ob|--ov-binutils) shift; BOVL=$1;;
- --bcat)shift; BCAT=$1;;
- --bpkg)shift; BPKG=$1;;
- --d|--gdb) shift; DVER=$1;;
- --denv)shift; DENV=$1;;
- -od|--ov-gdb) shift; DOVL=$1;;
- --dcat)shift; DCAT=$1;;
- --dpkg)shift; DPKG=$1;;
- --g|--gcc) shift; GVER=$1;;
- --genv)shift; GENV=$1;;
- -og|--ov-gcc) shift; GOVL=$1;;
- --gcat)shift; GCAT=$1;;
- --gpkg)shift; GPKG=$1;;
- --k|--kernel) shift; KVER=$1;;
- --kenv)shift; KENV=$1;;
- -ok|--ov-kernel) shift; KOVL=$1;;
- --kcat)shift; KCAT=$1;;
- --kpkg)shift; KPKG=$1;;
- --l|--libc)shift; LVER=$1;;
- --lenv)shift; LENV=$1;;
- -ol|--ov-libc) shift; LOVL=$1;;
- --lcat)shift; LCAT=$1;;
- --lpkg)shift; LPKG=$1;;
- --r|--crt) shift; RVER=$1;;
- --renv)shift; RENV=$1;;
- -or|--ov-crt) shift; ROVL=$1;;
- --rcat)shift; RCAT=$1;;
- --rpkg)shift; RPKG=$1;;
- --c|--ccw) shift; CVER=$1;;
- --cenv)shift; CENV=$1;;
- -oc|--ov-ccw) shift; COVL=$1;;
- --ccat)shift; CCAT=$1;;
- --cpkg)shift; CPKG=$1;;
- -ox|--ov-extra)shift; XOVLS+=( "$1" );;
- --env) shift; AENV=$1;;
- -L|--llvm) LLVM="yes";;
- -A|--abis) shift; MULTILIB_ABIS=$1;;
- --host-abi)shift; HOST_ABI=$1;;
- -S|--stable) DEFAULT_VER="[stable]";;
- -C|--clean)shift; parse_target $1; ACTION="uninstall";;
- -s?|--stage?) STAGE=${1:0-1};;
- -oS|--overlays)shift; SEARCH_OVERLAYS=$1;;
- -oO|--ov-output) shift; CROSSDEV_OVERLAY=$1;;
- --ex-only) EX_FAST="yes";;
- --ex-gcc) EX_GCC="yes";;
- --ex-gdb) EX_GDB="yes";;
- --ex-pkg) shift; XPKGS+=( "$1" );;
- --with-*) eval $(set_withval $1);;
- --without-*) eval $(set_withval $1);;
- -f|--force)FORCE="yes";;
- -x)SET_X="yes";;
- --show-target-cfg) SHOW_TARGET_CFG="yes";;
- --init-target) INIT_TARGET_ONLY="yes";;
- --show-fail-log) SHOW_FAIL_LOG="yes";;
- --show-repo-cfg) show_repo_cfg "$2";;
- -P|--portage) UOPTS="${UOPTS} $2"; shift;;
- -h|--help) usage;;
- -*)eerror "UNKNOWN OPTION: '$1'" ; usage 1;;
- *) parse_target $1;;
+ -V|--version)echo "crossdev-${CROSSDEV_VER}"; exit 0;;
+ -t|--target) shift; parse_target $1;;
+ --b|--binut
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/, scripts/
commit: 2a853cee8ed7b3eaa1088ba9cdd93969eae77f39 Author: Michal Rostecki protonmail com> AuthorDate: Sun Sep 14 06:39:34 2025 + Commit: Sam James gentoo org> CommitDate: Wed Oct 8 02:21:22 2025 + URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=2a853cee ci: Test building sysroots with LLVM Add --llvm argument to the container_test.sh script. Use it on CI in combination with the llvm stage3 image. Signed-off-by: Michal Rostecki protonmail.com> Part-of: https://github.com/gentoo/crossdev/pull/24 Closes: https://github.com/gentoo/crossdev/pull/24 Signed-off-by: Sam James gentoo.org> .github/workflows/crossdev.yml | 122 +++-- scripts/container_test.sh | 13 - 2 files changed, 129 insertions(+), 6 deletions(-) diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml index f9f11ba..8f45031 100644 --- a/.github/workflows/crossdev.yml +++ b/.github/workflows/crossdev.yml @@ -22,63 +22,147 @@ jobs: # requests fixing them welcome! target: - target: aarch64-unknown-linux-gnu +gcc: true +llvm: false - target: aarch64-unknown-linux-musl +gcc: true +llvm: true - target: aarch64_be-unknown-linux-gnu +gcc: true +llvm: false - target: alpha-unknown-linux-gnu +gcc: true +llvm: false - target: arm-unknown-linux-gnueabi +gcc: true +llvm: false - target: arm-unknown-linux-gnueabihf +gcc: true +llvm: false - target: arm-unknown-linux-musleabi +gcc: true +llvm: false - target: arm-unknown-linux-musleabihf +gcc: true +llvm: false - target: armeb-unknown-linux-gnueabi +gcc: true +llvm: false - target: armeb-unknown-linux-gnueabihf +gcc: true +llvm: false - target: armeb-unknown-linux-musleabi +gcc: true +llvm: false - target: armeb-unknown-linux-musleabihf +gcc: true +llvm: false - target: armv7-unknown-linux-musleabi +gcc: true +llvm: false - target: armv7-unknown-linux-musleabihf +gcc: true +llvm: false - target: armv6j-softfp-linux-gnueabi +gcc: true +llvm: false - target: armv6j-unknown-linux-gnueabihf +gcc: true +llvm: false - target: armv7a-softfp-linux-gnueabi +gcc: true +llvm: false - target: armv7a-unknown-linux-gnueabihf +gcc: true +llvm: false - target: hppa1.1-unknown-linux-gnu +gcc: true +llvm: false - target: hppa2.0-unknown-linux-gnu +gcc: true +llvm: false - target: hppa64-unknown-linux-gnu args: --skip-system +gcc: true +llvm: false - target: loongarch64-unknown-linux-gnu +gcc: true +llvm: false # 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 +gcc: true +llvm: false - target: mips-unknown-linux-gnu +gcc: true +llvm: false - target: mips-unknown-linux-musl +gcc: true +llvm: false - target: mipsel-unknown-linux-gnu +gcc: true +llvm: false - target: mipsel-unknown-linux-musl +gcc: true +llvm: false - target: mips64-unknown-linux-gnu +gcc: true +llvm: false # 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 +gcc: true +llvm: false # 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 +gcc: true +llvm: false - target: or1k-unknown-linux-musl args: --skip-system +gcc: true +llvm: false - target: powerpc-unknown-linux-gnu +gcc: true +llvm: false - target: powerpc-unknown-linux-musl +gcc: true +llvm: false - target: powerpc64-unknown-linux-gnu +gcc: true +llvm: false - target: powerpc64-unknown-linux-musl +gcc
[gentoo-commits] proj/crossdev:master commit in: .github/workflows/
commit: 83cc4761ad935467818a28aa4a84454b34effc84
Author: Eli Schwartz gentoo org>
AuthorDate: Tue Sep 16 16:18:20 2025 +
Commit: Sam James gentoo org>
CommitDate: Tue Sep 16 16:27:12 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=83cc4761
ci: cancel running jobs when a new workflow run is triggered via push
Previously, modifying a PR resulted in two workflows being active, both
reserving job slots. But only the later one matters -- that is the whole
point of ***updating*** a PR.
Github doesn't cancel the old, outdated-logic jobs for you, but this
concurrency setting does. This is especially important for crossdev,
since crossdev has a matrix of 48 x 2 jobs, and a PR raised that instead
to 48 x 3 for a grand total of 144 jobs. Each one can take hours. Github
only gives you 20 concurrent jobs.
Any time crossdev CI runs, nothing else in the github org can. At least
avoid days-long waits for the next version of the PR.
Signed-off-by: Eli Schwartz gentoo.org>
Signed-off-by: Sam James gentoo.org>
.github/workflows/crossdev.yml | 4
1 file changed, 4 insertions(+)
diff --git a/.github/workflows/crossdev.yml b/.github/workflows/crossdev.yml
index f74cf03..f9f11ba 100644
--- a/.github/workflows/crossdev.yml
+++ b/.github/workflows/crossdev.yml
@@ -10,6 +10,10 @@ on:
schedule:
- cron: 00 4 * * *
+concurrency:
+ group: ${{ github.head_ref || github.ref }}
+ cancel-in-progress: true
+
jobs:
crossdev:
strategy:
[gentoo-commits] proj/crossdev:master commit in: /
commit: cd67ec614e07f99bbce3c08e4d938aac50e4d7f5
Author: Sam James gentoo org>
AuthorDate: Tue Aug 26 08:45:40 2025 +
Commit: Sam James gentoo org>
CommitDate: Tue Aug 26 08:45:40 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=cd67ec61
crossdev: link to more appropriate wiki page
Signed-off-by: Sam James gentoo.org>
crossdev | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crossdev b/crossdev
index 1e5c4ac..fb03720 100755
--- a/crossdev
+++ b/crossdev
@@ -1106,7 +1106,7 @@ show_target_cfg() {
setup_portage_vars
if [[ -z ${CROSSDEV_OVERLAY} ]] ; then
eerror "You need to specify an output overlay. Please use --ov-output,
or consult"
- eerror "https://wiki.gentoo.org/wiki/Custom_repository for more
details."
+ eerror "https://wiki.gentoo.org/wiki/Crossdev#Crossdev_overlay for more
details."
exit 1
fi
[gentoo-commits] proj/crossdev:master commit in: /
commit: d9d41ff1fc978d4bbc07b0ea3d53ef4a69d6f11e
Author: Sam James gentoo org>
AuthorDate: Sat Jun 7 02:02:36 2025 +
Commit: Sam James gentoo org>
CommitDate: Sat Jun 7 02:08:26 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=d9d41ff1
crossdev: disable openmp for avr
Explicitly disable openmp for avr as it needs threads, though we shouldn't
have to do this as the eclass tries to disable openmp when pthreads
aren't available...
But still, it's an easy fix/workaround, and we do -openmp for baremetal
below anyway.
See https://forums.gentoo.org/viewtopic-t-1174467.html. Given the user
had earlier cross-avr/gcc installed:
```
[ebuild U ] cross-avr/gcc-14.3.0 [14.2.1_p20241221] USE="cet cxx lto
(multilib) nls openmp -ada -custom-cflags
-d -debug -default-stack-clash-protection -default-znow -doc -fixed-point
-fortran -go -graphite (-hardened)
-ieee-long-double -jit -libssp -modula2 -objc -objc++ -objc-gc (-pch) -pgo
(-pie) -rust -sanitize
(-ssp) -systemtap -test (-time64) -valgrind -vanilla -vtv -zstd"
``
... I fear that it's a regression from 37dded9b48c93a67b9a32b5eca2b1ef0fc6e8b9e
in ::gentoo, just not sure how yet.
Bug: https://bugs.gentoo.org/326757
Bug: https://bugs.gentoo.org/335883
Bug: https://bugs.gentoo.org/489798
Signed-off-by: Sam James gentoo.org>
crossdev | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crossdev b/crossdev
index 9eda714..1e5c4ac 100755
--- a/crossdev
+++ b/crossdev
@@ -270,7 +270,7 @@ parse_target() {
KPKG="[none]"
LCAT="dev-embedded"
LPKG="avr-libc"
- GUSE+=" -fortran -go" # doesn't work
+ GUSE+=" -openmp -fortran -go" # doesn't work
MULTILIB_USE="yes" #377039
BUSE+=" cxx"
WITH_DEF_HEADERS="no"
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 99a3974e9108a231523af6002578682391b26260
Author: Mike Gilbert gentoo org>
AuthorDate: Mon May 12 14:57:27 2025 +
Commit: Mike Gilbert gentoo org>
CommitDate: Sat May 24 17:11:45 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=99a3974e
cross-pkg-config: remember PKG_CONFIG from build time
This should avoid recursive cross-pkg-config calls when someone sets
CBUILD = CHOST in the cross-emerge environment, which might be useful
for building a system image with SYSROOT != /.
For sys-devel/crossdev we will call "tc-export PKG_CONFIG" to set a
reasonable default for REAL_PKG_CONFIG. This will generally be
${CHOST}-pkg-config, where CBUILD = CHOST and SYSROOT = ROOT = /.
In the case we are cross-compiling crossdev itself, we want
${CHOST}-pkg-config for REAL_PKG_CONFIG in SYSROOT/ROOT in case it is later
used as a root image on appropriate hardware.
We also allow the user to override REAL_PKG_CONFIG via the environment
in case some unforseen use case is discovered.
Bug: https://bugs.gentoo.org/955822
Signed-off-by: Mike Gilbert gentoo.org>
wrappers/Makefile | 4 +++-
wrappers/cross-pkg-config | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/wrappers/Makefile b/wrappers/Makefile
index a55c2bc..4e82566 100644
--- a/wrappers/Makefile
+++ b/wrappers/Makefile
@@ -1,4 +1,4 @@
-# Copyright 2008-2023 Gentoo Authors
+# Copyright 2008-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
include ../settings.mk
@@ -6,6 +6,7 @@ include ../settings.mk
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
+PKG_CONFIG ?= pkg-config
all:
@@ -15,6 +16,7 @@ install:
sed -i -e s:@PREFIX@:$(PREFIX):g $(DESTDIR)$(ETC_SITEDIR)/README
$(INSTALL_EXEC) $(FNAMES) $(DESTDIR)$(PREFIX)/bin/
sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g"
$(DESTDIR)$(PREFIX)/bin/cross-emerge
+ sed -i -e "s:@PKG_CONFIG@:$(PKG_CONFIG):g"
$(DESTDIR)$(PREFIX)/bin/cross-pkg-config
sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g"
$(DESTDIR)$(PREFIX)/bin/emerge-wrapper
cp -a etc $(DESTDIR)$(PREFIX)/share/crossdev/
sed -i -e "s:@GENTOO_PORTAGE_EPREFIX@:$(EPREFIX):g"
$(DESTDIR)$(PREFIX)/share/crossdev/etc/portage/make.conf
diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index 0b417b6..ff7384e 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -20,7 +20,9 @@ error() {
exit 1
}
-REAL_PKG_CONFIG="${CBUILD}${CBUILD:+-}pkg-config"
+if [ -z "${REAL_PKG_CONFIG}" ]; then
+ REAL_PKG_CONFIG="@PKG_CONFIG@"
+fi
if ! command -v "${REAL_PKG_CONFIG}" >/dev/null; then
REAL_PKG_CONFIG=pkg-config
fi
[gentoo-commits] proj/crossdev:master commit in: /
commit: 612caeccea5731df3aea0bf0f21e5fe6fbfa9408
Author: Sam James gentoo org>
AuthorDate: Sat Apr 26 01:26:46 2025 +
Commit: Sam James gentoo org>
CommitDate: Sat Apr 26 01:27:04 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=612caecc
crossdev: don't disable D unnecessarily
Cross D should work fine now. Just disable it for stage 1.
Signed-off-by: Sam James gentoo.org>
crossdev | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/crossdev b/crossdev
index 5ab1b9e..9eda714 100755
--- a/crossdev
+++ b/crossdev
@@ -917,9 +917,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="-d -objc -objc++ -objc-gc -vtv"
+GUSE_DISABLE="-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
-zstd -zlib"
+GUSE_DISABLE_STAGE_1="${GUSE_DISABLE} -fortran -d -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: wrappers/site/
commit: c60ec5e000ffdfe1af5d458ce8e0ce6d3c0f0e0c
Author: Jakov Smolić gentoo org>
AuthorDate: Wed Apr 9 01:42:24 2025 +
Commit: Jakov Smolić gentoo org>
CommitDate: Wed Apr 9 12:46:18 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=c60ec5e0
wrappers: linux-{gnu,musl}: set gl_cv_func_strcasecmp_works for gnulib
Recent gnulib added a check for strcasecmp which the build system tries
to execute when cross-compiling, so we can set the corresponding
variable to avoid running in until its fixed upstream.
Closes: https://bugs.gentoo.org/953104
Signed-off-by: Jakov Smolić gentoo.org>
wrappers/site/linux-gnu | 4
wrappers/site/linux-musl | 4
2 files changed, 8 insertions(+)
diff --git a/wrappers/site/linux-gnu b/wrappers/site/linux-gnu
index 882c26d..7536fdd 100644
--- a/wrappers/site/linux-gnu
+++ b/wrappers/site/linux-gnu
@@ -86,3 +86,7 @@
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}
+
+# gnulib (nano et al.)
+# https://bugs.gentoo.org/953104
+gl_cv_func_strcasecmp_works=yes
diff --git a/wrappers/site/linux-musl b/wrappers/site/linux-musl
index d126046..4751491 100644
--- a/wrappers/site/linux-musl
+++ b/wrappers/site/linux-musl
@@ -2,3 +2,7 @@
# bug #705800 and many others
ac_cv_func_malloc_0_nonnull=yes
ac_cv_func_realloc_0_nonnull=yes
+
+# gnulib (nano et al.)
+# https://bugs.gentoo.org/953104
+gl_cv_func_strcasecmp_works=yes
[gentoo-commits] proj/crossdev:master commit in: /
commit: a67cf839e95f15caf47643114c566252ac4d9d4b
Author: James Le Cuirot gentoo org>
AuthorDate: Fri Jan 3 15:30:51 2025 +
Commit: James Le Cuirot gentoo org>
CommitDate: Wed Mar 26 23:23:33 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=a67cf839
crossdev: Prevent functions.sh from complaining about command line args
Such as -C, which means --clean for crossdev rather than NO_COLOR.
Signed-off-by: James Le Cuirot gentoo.org>
crossdev | 6 ++
1 file changed, 6 insertions(+)
diff --git a/crossdev b/crossdev
index ad1065c..5ab1b9e 100755
--- a/crossdev
+++ b/crossdev
@@ -21,7 +21,13 @@ EROOT=${ROOT%/}"${EPREFIX}"/
: ${PORTAGE_CONFIGROOT:=${EROOT}}
CONFIGROOT="${PORTAGE_CONFIGROOT}/etc/portage"
+# Prevent functions.sh from complaining about command line arguments like -C,
+# which has a different meaning for crossdev.
+declare -a ARGV=( "${@}" )
+set --
source "${EPREFIX}"/lib/gentoo/functions.sh || exit 1
+set -- "${ARGV[@]}"
+
esyslog() { :; }
die_logs() {
echo
[gentoo-commits] proj/crossdev:master commit in: /
commit: 6d05467f761b561650c83c3f89d14fcdb666fed4
Author: Jordan R Abrahams-Whitehead google com>
AuthorDate: Tue Apr 4 21:36:08 2023 +
Commit: Mike Gilbert gentoo org>
CommitDate: Mon Feb 3 17:13:49 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6d05467f
crossdev: allow --ex-pkg to install stable
At present, --ex-pkg flags always install the [latest] version.
However, sometimes one may want to install [stable] if required.
Closes: https://bugs.gentoo.org/949254
Closes: https://github.com/gentoo/crossdev/pull/34
Signed-off-by: Jordan R Abrahams-Whitehead google.com>
Signed-off-by: Adrian Ratiu collabora.com>
Signed-off-by: Mike Gilbert gentoo.org>
crossdev | 4
1 file changed, 4 insertions(+)
diff --git a/crossdev b/crossdev
index 57c9bb0..ad1065c 100755
--- a/crossdev
+++ b/crossdev
@@ -1023,6 +1023,10 @@ case ${ACTION} in
uninstall) uninstall; exit 0;;
esac
+for _ in "${XPKGS[@]}"; do
+ XVERS+=( "${DEFAULT_VER}" )
+done
+
BVER=${BVER:-${DEFAULT_VER}}
GVER=${GVER:-${DEFAULT_VER}}
KVER=${KVER:-${DEFAULT_VER}}
[gentoo-commits] proj/crossdev:master commit in: wrappers/
commit: 15280e942a3f6490c62b2978e0b951f9cbb9066d
Author: Mike Gilbert gentoo org>
AuthorDate: Tue Jan 28 17:09:02 2025 +
Commit: Mike Gilbert gentoo org>
CommitDate: Tue Jan 28 17:11:14 2025 +
URL:https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=15280e94
cross-pkg-config: call ${CBUILD}-pkg-config when available
This avoids calling plain pkg-config in environments where that binary
has been blacklisted.
Bug: https://bugs.gentoo.org/948948
Signed-off-by: Mike Gilbert gentoo.org>
wrappers/cross-pkg-config | 15 ++-
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config
index 9bff474..0b417b6 100755
--- a/wrappers/cross-pkg-config
+++ b/wrappers/cross-pkg-config
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2008-2022 Gentoo Authors
+# Copyright 2008-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
#
@@ -20,8 +20,13 @@ error() {
exit 1
}
+REAL_PKG_CONFIG="${CBUILD}${CBUILD:+-}pkg-config"
+if ! command -v "${REAL_PKG_CONFIG}" >/dev/null; then
+ REAL_PKG_CONFIG=pkg-config
+fi
+
# abort infinite loop due to misconfiguration
-[ "${0##*/}" = "pkg-config" ] && error "aborting infinite loop! (make sure to
delete uClinux-dist/tools/pkg-config)"
+[ "${0##*/}" = "${REAL_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
@@ -30,7 +35,7 @@ error() {
case $1 in
--about|--help|--version)
- exec pkg-config "$@"
+ exec "${REAL_PKG_CONFIG}" "$@"
;;
esac
@@ -132,7 +137,7 @@
PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR}${PKG_CONFIG_LIBDIR:+:}${PKG_CONFIG_ESYSR
# Sanity check the output to catch common errors that do not
# cause failures until much later on.
#
-output=$(pkg-config "$@")
+output=$("${REAL_PKG_CONFIG}" "$@")
ret=$?
# We turn the output into a newline separate string of options, then use grep
@@ -145,7 +150,7 @@ bad_lines=$(
)
if [ -n "${bad_lines}" ] ; then
warn "### falling down so here is a dump state ##"
- pkg-config --debug "$@" 1>&2
+ "${REAL_PKG_CONFIG}" --debug "$@" 1>&2
warn "### end of dump ###"
warn "### suspicious compile flags dumped here ##"
printf "%s\n" "${bad_lines}"
[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
