Gentoo Archives: gentoo-commits

From: Sergei Trofimovich <slyfox@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/crossdev:master commit in: /
Date: Fri, 29 Dec 2017 20:44:17
Message-Id: 1514579454.6027263a03cbfaa177399c466d48aa04f2e93f1d.slyfox@gentoo
1 commit: 6027263a03cbfaa177399c466d48aa04f2e93f1d
2 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
3 AuthorDate: Fri Dec 29 20:30:54 2017 +0000
4 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
5 CommitDate: Fri Dec 29 20:30:54 2017 +0000
6 URL: https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=6027263a
7
8 crossdev: change USE=vtv to whitelist
9
10 Gentoo profiles enable vtv only for x86, amd64, arm and arm64.
11 vtv is known to be broken at least for:
12 - musl libc
13 - bare metal targets
14 - powerpc, powerpc64 (compiler SEGISEGVs: bug #618786)
15 - hppa, ia64 (missing vtv crt* files)
16
17 User can still explicitly enable vtv by tweaking
18 /etc/portage/package.use/cross-${CTARGET}
19
20 Bug: https://bugs.gentoo.org/618786
21 Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>
22
23 crossdev | 24 +++++++++++++++++++++++-
24 1 file changed, 23 insertions(+), 1 deletion(-)
25
26 diff --git a/crossdev b/crossdev
27 index 76f9a06..06d2775 100755
28 --- a/crossdev
29 +++ b/crossdev
30 @@ -335,7 +335,7 @@ parse_target() {
31 esac
32
33 local sanitizer_support=no
34 - # Whitelist asan on explicitly supported arches fo linux.
35 + # Whitelist asan on explicitly supported arches for linux.
36 # Broken examples:
37 # - musl libc
38 # - bare metal targets
39 @@ -357,6 +357,28 @@ parse_target() {
40 if [[ $sanitizer_support = "no" ]]; then
41 GUSE+=" -sanitize"
42 fi
43 +
44 + local vtv_support=no
45 + # Whitelist asan on explicitly supported arches for linux.
46 + # Broken examples:
47 + # - musl libc
48 + # - bare metal targets
49 + # - powerpc
50 + # Untested examples:
51 + # - *BSD
52 + case ${CTARGET} in
53 + # glibc targets
54 + *-gnu*)
55 + case ${CTARGET} in
56 + x86_64*|i?86*|arm*|aarch64)
57 + vtv_support=yes
58 + ;;
59 + esac
60 + ;;
61 + esac
62 + if [[ $vtv_support = "no" ]]; then
63 + GUSE+=" -vtv"
64 + fi
65 }
66
67 parse_repo_config() {