[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/03: gnu: Clang: Install the CFI blacklist.
From: |
guix-commits |
Subject: |
02/03: gnu: Clang: Install the CFI blacklist. |
Date: |
Wed, 22 Jul 2020 19:16:52 -0400 (EDT) |
mbakke pushed a commit to branch master
in repository guix.
commit 300b795520baf106b662f045fe7d644643e8e7d1
Author: Marius Bakke <marius@gnu.org>
AuthorDate: Tue Jul 21 16:41:30 2020 +0200
gnu: Clang: Install the CFI blacklist.
* gnu/packages/llvm.scm (clang-from-llvm)[arguments]: Add phase to symlink
cfi_blacklist.txt from CLANG-RUNTIME.
---
gnu/packages/llvm.scm | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index b7bc21e..4a17ecd 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -388,6 +388,25 @@ given PATCHES. When TOOLS-EXTRA is given, it must point
to the
(("@GLIBC_LIBDIR@")
(string-append libc "/lib"))))))
#t)))
+ (add-after 'install 'symlink-cfi_blacklist
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib-share (string-append out "/lib/clang/"
+ ,version "/share"))
+ (compiler-rt (assoc-ref inputs "clang-runtime"))
+ ;; The location varies between Clang versions.
+ (cfi-blacklist
+ (cond ((file-exists?
+ (string-append compiler-rt
"/cfi_blacklist.txt"))
+ (string-append compiler-rt
"/cfi_blacklist.txt"))
+ (else (string-append compiler-rt
+
"/share/cfi_blacklist.txt")))))
+ (mkdir-p lib-share)
+ ;; Symlink cfi_blacklist.txt to where Clang expects
+ ;; to find it.
+ (symlink cfi-blacklist
+ (string-append lib-share
"/cfi_blacklist.txt"))
+ #t)))
(add-after 'install 'install-clean-up-/share/clang
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))