aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcrossdev22
-rwxr-xr-xwrappers/cross-pkg-config2
-rw-r--r--wrappers/etc/portage/make.conf3
3 files changed, 19 insertions, 8 deletions
diff --git a/crossdev b/crossdev
index 020d17c..176bb71 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() {
@@ -869,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
@@ -1721,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
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.
diff --git a/wrappers/etc/portage/make.conf b/wrappers/etc/portage/make.conf
index b845ba6..4a93675 100644
--- a/wrappers/etc/portage/make.conf
+++ b/wrappers/etc/portage/make.conf
@@ -18,6 +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/
-
-PKG_CONFIG_PATH="${ROOT}usr/lib/pkgconfig/"
-#PORTDIR_OVERLAY="/var/db/repos/local/"