From d040b627b1b2f604746963a91449821c6a58c7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 2 Feb 2022 15:36:06 +0100 Subject: [PATCH] gnu: perf: Help 'perf report --symfs' find separate debug info files. * gnu/packages/linux.scm (perf)[arguments]: In 'configure' phase, modify "util/dso.c". --- gnu/packages/linux.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index e496b5e2b2..cd64fdc076 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2021 Ludovic Courtès +;;; Copyright © 2012-2021, 2021-2022 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver @@ -4555,7 +4555,15 @@ in a digital read-out.") (lambda* (#:key inputs #:allow-other-keys) (setenv "SHELL_PATH" (which "bash")) (chdir "tools/perf") - #t))) + + ;; This file hard-codes file system layouts for specific distros + ;; but not for ours; address that. With this change, one can run + ;; "perf report --symfs=$HOME/.guix-profile" (without + ;; "/lib/debug") and 'perf' should be able to find separate debug + ;; info files. + (substitute* "util/dso.c" + (("/usr/lib/debug") + "/lib/debug"))))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) "CC=gcc"