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() { |