diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch b/nixpkgs/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch new file mode 100644 index 000000000000..37da7ef4d964 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libbacktrace/0002-libbacktrace-Allow-configuring-debug-dir.patch @@ -0,0 +1,108 @@ +From f409ee343fe6cdc059bb411746f27a515aec66a8 Mon Sep 17 00:00:00 2001 +From: Jan Tojnar <jtojnar@gmail.com> +Date: Sat, 24 Dec 2022 16:46:18 +0100 +Subject: [PATCH 2/4] libbacktrace: Allow configuring debug dir +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +On platforms that do not use FHS like NixOS or GNU Guix, +the build-id directories are not under `/usr/lib/debug`. + +Let’s add `--with-separate-debug-dir` configure flag so that +the path can be changed. The same flag is supported by gdb: + +https://github.com/bminor/binutils-gdb/blob/095f84c7e3cf85cd68c657c46b80be078f336bc9/gdb/configure.ac#L113-L115 +--- + Makefile.am | 11 ++++++----- + configure.ac | 8 ++++++++ + elf.c | 4 ++-- + 3 files changed, 16 insertions(+), 7 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 6eab991..da443c1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -33,7 +33,8 @@ ACLOCAL_AMFLAGS = -I config + + AM_CPPFLAGS = + +-AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) ++AM_CFLAGS = $(EXTRA_FLAGS) $(WARN_FLAGS) $(PIC_FLAG) \ ++ -DSYSTEM_DEBUG_DIR=\"$(SEPARATE_DEBUG_DIR)\" + + include_HEADERS = backtrace.h backtrace-supported.h + +@@ -134,7 +135,7 @@ libbacktrace_noformat_la_DEPENDENCIES = $(libbacktrace_noformat_la_LIBADD) + if HAVE_ELF + if HAVE_OBJCOPY_DEBUGLINK + +-TEST_BUILD_ID_DIR=$(abs_builddir)/usr/lib/debug/.build-id/ ++TEST_DEBUG_DIR=$(abs_builddir)/usr/lib/debug + + check_LTLIBRARIES += libbacktrace_elf_for_test.la + +@@ -143,8 +144,8 @@ libbacktrace_elf_for_test_la_LIBADD = $(BACKTRACE_FILE) elf_for_test.lo \ + $(VIEW_FILE) $(ALLOC_FILE) + + elf_for_test.c: elf.c +- SEARCH='^#define SYSTEM_BUILD_ID_DIR.*$$'; \ +- REPLACE="#define SYSTEM_BUILD_ID_DIR \"$(TEST_BUILD_ID_DIR)\""; \ ++ SEARCH='^#define BUILD_ID_DIR.*$$'; \ ++ REPLACE='\0\n#undef SYSTEM_DEBUG_DIR\n#define SYSTEM_DEBUG_DIR "$(TEST_DEBUG_DIR)"'; \ + $(SED) "s%$$SEARCH%$$REPLACE%" \ + $< \ + > $@.tmp +@@ -468,7 +469,7 @@ endif HAVE_OBJCOPY_DEBUGLINK + + %_buildid: % + ./install-debuginfo-for-buildid.sh \ +- "$(TEST_BUILD_ID_DIR)" \ ++ "$(TEST_DEBUG_DIR)/.build-id" \ + $< + $(OBJCOPY) --strip-debug $< $@ + +diff --git a/configure.ac b/configure.ac +index 7f122cb..bb590ab 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -67,6 +67,14 @@ AM_MAINTAINER_MODE + AC_ARG_WITH(target-subdir, + [ --with-target-subdir=SUBDIR Configuring in a subdirectory for target]) + ++AC_ARG_WITH(separate-debug-dir, ++[ --with-separate-debug-dir=DEBUGDIR Look for global separate debug info in this path @<:@LIBDIR/debug@:>@], ++[separate_debug_dir=$withval], ++[separate_debug_dir=$libdir/debug]) ++ ++SEPARATE_DEBUG_DIR=$separate_debug_dir ++AC_SUBST(SEPARATE_DEBUG_DIR) ++ + # We must force CC to /not/ be precious variables; otherwise + # the wrong, non-multilib-adjusted value will be used in multilibs. + # As a side effect, we have to subst CFLAGS ourselves. +diff --git a/elf.c b/elf.c +index e82ecc5..8b1189c 100644 +--- a/elf.c ++++ b/elf.c +@@ -856,7 +856,7 @@ elf_readlink (struct backtrace_state *state, const char *filename, + } + } + +-#define SYSTEM_BUILD_ID_DIR "/usr/lib/debug/.build-id/" ++#define BUILD_ID_DIR "/.build-id/" + + /* Open a separate debug info file, using the build ID to find it. + Returns an open file descriptor, or -1. +@@ -870,7 +870,7 @@ elf_open_debugfile_by_buildid (struct backtrace_state *state, + backtrace_error_callback error_callback, + void *data) + { +- const char * const prefix = SYSTEM_BUILD_ID_DIR; ++ const char * const prefix = SYSTEM_DEBUG_DIR BUILD_ID_DIR; + const size_t prefix_len = strlen (prefix); + const char * const suffix = ".debug"; + const size_t suffix_len = strlen (suffix); +-- +2.38.1 + |