commit:     85c6de2213e35965d2e7c79c06d9e9b9d6af7e0d
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 17 21:33:55 2021 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jul 17 21:37:06 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85c6de22

toolchain.eclass: pull virtual/libcrypt as a dependency for USE=sanitize

Closes: https://bugs.gentoo.org/802648
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 eclass/toolchain.eclass | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
index 57a2c95dd10..5bfa58e4a20 100644
--- a/eclass/toolchain.eclass
+++ b/eclass/toolchain.eclass
@@ -157,7 +157,7 @@ if [[ ${PN} != "kgcc64" && ${PN} != gcc-* ]] ; then
        tc_version_is_at_least 4.7 && IUSE+=" go"
        # sanitizer support appeared in gcc-4.8, but <gcc-5 does not
        # support modern glibc.
-       tc_version_is_at_least 5 && IUSE+=" +sanitize"
+       tc_version_is_at_least 5 && IUSE+=" +sanitize"  TC_FEATURES+=(sanitize)
        # Note:
        #   <gcc-4.8 supported graphite, it required forked ppl
        #     versions which we dropped.  Since graphite was also experimental 
in
@@ -245,6 +245,13 @@ if tc_has_feature gcj ; then
        "
 fi
 
+if tc_has_feature sanitize ; then
+       # libsanitizer relies on 'crypt.h' to be present
+       # on target. glibc user to provide it unconditionally.
+       # Nowadays it's a standalone library: #802648
+       DEPEND+=" sanitize? ( virtual/libcrypt )"
+fi
+
 if tc_has_feature systemtap ; then
        # gcc needs sys/sdt.h headers on target
        DEPEND+=" systemtap? ( dev-util/systemtap )"

Reply via email to