lol
1From a3b7510e4c9e7201a4301f2a45d8569b06354607 Mon Sep 17 00:00:00 2001
2From: Jan Tojnar <jtojnar@gmail.com>
3Date: Sat, 24 Dec 2022 20:30:22 +0100
4Subject: [PATCH 4/4] libbacktrace: Support NIX_DEBUG_INFO_DIRS environment
5 variable
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Let’s make debug data lookup work on NixOS just like in gdb.
11---
12 elf.c | 11 +++++++++--
13 1 file changed, 9 insertions(+), 2 deletions(-)
14
15diff --git a/elf.c b/elf.c
16index 65c647a..5c8abc0 100644
17--- a/elf.c
18+++ b/elf.c
19@@ -6935,11 +6935,18 @@ elf_add (struct backtrace_state *state, const char *filename, int descriptor,
20
21 if (buildid_data != NULL)
22 {
23+ const char *debug_directories_immutable;
24+ const char *nix_debug = getenv ("NIX_DEBUG_INFO_DIRS");
25+ if (nix_debug != NULL)
26+ debug_directories_immutable = nix_debug;
27+ else
28+ debug_directories_immutable = SYSTEM_DEBUG_DIR;
29+
30 int d;
31- char debug_directories[strlen(SYSTEM_DEBUG_DIR) + 1];
32+ char debug_directories[strlen(debug_directories_immutable) + 1];
33 char *debug_dir;
34
35- strcpy(debug_directories, SYSTEM_DEBUG_DIR);
36+ strcpy(debug_directories, debug_directories_immutable);
37
38 debug_dir = strtok (debug_directories, ":");
39 while (debug_dir != NULL)
40--
412.38.1
42