aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-12-29 20:30:54 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-12-29 20:30:54 +0000
commit6027263a03cbfaa177399c466d48aa04f2e93f1d (patch)
tree6fbfc32fc1d618ffe86bc91cea6e2f1172f9ff19
parentcrossdev: change USE=sanitize to whitelist (diff)
downloadcrossdev-6027263a03cbfaa177399c466d48aa04f2e93f1d.tar.gz
crossdev-6027263a03cbfaa177399c466d48aa04f2e93f1d.tar.bz2
crossdev-6027263a03cbfaa177399c466d48aa04f2e93f1d.zip
crossdev: change USE=vtv to whitelist
Gentoo profiles enable vtv only for x86, amd64, arm and arm64. vtv is known to be broken at least for: - musl libc - bare metal targets - powerpc, powerpc64 (compiler SEGISEGVs: bug #618786) - hppa, ia64 (missing vtv crt* files) User can still explicitly enable vtv by tweaking /etc/portage/package.use/cross-${CTARGET} Bug: https://bugs.gentoo.org/618786 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
-rwxr-xr-xcrossdev24
1 files changed, 23 insertions, 1 deletions
diff --git a/crossdev b/crossdev
index 76f9a06..06d2775 100755
--- a/crossdev
+++ b/crossdev
@@ -335,7 +335,7 @@ parse_target() {
esac
local sanitizer_support=no
- # Whitelist asan on explicitly supported arches fo linux.
+ # Whitelist asan on explicitly supported arches for linux.
# Broken examples:
# - musl libc
# - bare metal targets
@@ -357,6 +357,28 @@ parse_target() {
if [[ $sanitizer_support = "no" ]]; then
GUSE+=" -sanitize"
fi
+
+ local vtv_support=no
+ # Whitelist asan on explicitly supported arches for linux.
+ # Broken examples:
+ # - musl libc
+ # - bare metal targets
+ # - powerpc
+ # Untested examples:
+ # - *BSD
+ case ${CTARGET} in
+ # glibc targets
+ *-gnu*)
+ case ${CTARGET} in
+ x86_64*|i?86*|arm*|aarch64)
+ vtv_support=yes
+ ;;
+ esac
+ ;;
+ esac
+ if [[ $vtv_support = "no" ]]; then
+ GUSE+=" -vtv"
+ fi
}
parse_repo_config() {