From ea680f0524c1644642b55cadfe91b22797ec3530 Mon Sep 17 00:00:00 2001 From: Luca Boccassi <luca.boccassi@microsoft.com> Date: Wed, 17 Nov 2021 01:44:33 +0000 Subject: [PATCH] coredump: move elf parsing utilities to src/shared/elf-util --- meson.build | 1 - src/coredump/coredump.c | 7 +------ src/coredump/meson.build | 6 ------ src/{coredump/stacktrace.c => shared/elf-util.c} | 2 +- src/{coredump/stacktrace.h => shared/elf-util.h} | 0 src/shared/meson.build | 7 +++++++ 6 files changed, 9 insertions(+), 14 deletions(-) rename src/{coredump/stacktrace.c => shared/elf-util.c} (99%) rename src/{coredump/stacktrace.h => shared/elf-util.h} (100%) diff --git a/meson.build b/meson.build index b0054b66672..987ceb37b5b 100644 --- a/meson.build +++ b/meson.build @@ -2822,7 +2822,6 @@ if conf.get('ENABLE_COREDUMP') == 1 link_with : [libshared], dependencies : [threads, libacl, - libdw, libxz, liblz4, libzstd], diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index c4b393631ab..e2d8b382687 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -7,11 +7,6 @@ #include <sys/xattr.h> #include <unistd.h> -#if HAVE_ELFUTILS -#include <dwarf.h> -#include <elfutils/libdwfl.h> -#endif - #include "sd-daemon.h" #include "sd-journal.h" #include "sd-login.h" @@ -27,6 +22,7 @@ #include "copy.h" #include "coredump-vacuum.h" #include "dirent-util.h" +#include "elf-util.h" #include "escape.h" #include "fd-util.h" #include "fileio.h" @@ -43,7 +39,6 @@ #include "signal-util.h" #include "socket-util.h" #include "special.h" -#include "stacktrace.h" #include "stat-util.h" #include "string-table.h" #include "string-util.h" diff --git a/src/coredump/meson.build b/src/coredump/meson.build index 5607a78cf53..b832192c9f9 100644 --- a/src/coredump/meson.build +++ b/src/coredump/meson.build @@ -6,12 +6,6 @@ systemd_coredump_sources = files(''' coredump-vacuum.h '''.split()) -if conf.get('HAVE_ELFUTILS') == 1 - systemd_coredump_sources += files( - 'stacktrace.c', - 'stacktrace.h') -endif - coredumpctl_sources = files('coredumpctl.c') if conf.get('ENABLE_COREDUMP') == 1 and install_sysconfdir_samples diff --git a/src/coredump/stacktrace.c b/src/shared/elf-util.c similarity index 99% rename from src/coredump/stacktrace.c rename to src/shared/elf-util.c index b430f2b3eae..12b42bf90fb 100644 --- a/src/coredump/stacktrace.c +++ b/src/shared/elf-util.c @@ -10,6 +10,7 @@ #include <unistd.h> #include "alloc-util.h" +#include "elf-util.h" #include "errno-util.h" #include "fileio.h" #include "fd-util.h" @@ -19,7 +20,6 @@ #include "macro.h" #include "process-util.h" #include "rlimit-util.h" -#include "stacktrace.h" #include "string-util.h" #include "util.h" diff --git a/src/coredump/stacktrace.h b/src/shared/elf-util.h similarity index 100% rename from src/coredump/stacktrace.h rename to src/shared/elf-util.h diff --git a/src/shared/meson.build b/src/shared/meson.build index 130c03ec99a..2187cc62052 100644 --- a/src/shared/meson.build +++ b/src/shared/meson.build @@ -388,6 +388,12 @@ if conf.get('ENABLE_NSCD') == 1 shared_sources += files('nscd-flush.c') endif +if conf.get('HAVE_ELFUTILS') == 1 + shared_sources += files( + 'elf-util.c', + 'elf-util.h') +endif + generate_ip_protocol_list = find_program('generate-ip-protocol-list.sh') ip_protocol_list_txt = custom_target( 'ip-protocol-list.txt', @@ -436,6 +442,7 @@ libshared_deps = [threads, libcap, libcrypt, libdl, + libdw, libgcrypt, libiptc, libkmod,