diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-12-29 20:30:54 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-12-29 20:30:54 +0000 |
commit | 6027263a03cbfaa177399c466d48aa04f2e93f1d (patch) | |
tree | 6fbfc32fc1d618ffe86bc91cea6e2f1172f9ff19 | |
parent | crossdev: change USE=sanitize to whitelist (diff) | |
download | crossdev-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-x | crossdev | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -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() { |