]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
elf-util: add stub for builds without libdw
authorLuca Boccassi <luca.boccassi@microsoft.com>
Sun, 21 Nov 2021 17:31:20 +0000 (17:31 +0000)
committerLuca Boccassi <luca.boccassi@microsoft.com>
Tue, 30 Nov 2021 16:49:59 +0000 (16:49 +0000)
src/coredump/coredump.c
src/shared/elf-util.h

index e2d8b38268764081d2d106ecad8f29504a5c4004..cb74b34affac23e33ff1446d760f832f3520484a 100644 (file)
@@ -813,7 +813,6 @@ static int submit_coredump(
         if (r < 0)
                 return log_error_errno(r, "Failed to drop privileges: %m");
 
-#if HAVE_ELFUTILS
         /* Try to get a stack trace if we can */
         if (coredump_size > arg_process_size_max) {
                 log_debug("Not generating stack trace: core size %"PRIu64" is greater "
@@ -825,7 +824,6 @@ static int submit_coredump(
                                         /* fork_disable_dump= */endswith(context->meta[META_EXE], "systemd-coredump"), /* avoid loops */
                                         &stacktrace,
                                         &json_metadata);
-#endif
 
 log:
         core_message = strjoina("Process ", context->meta[META_ARGV_PID],
index 429fb5c912d8c188e9dc0e791a021266f3633086..cf3d9be12844f4972ca341059af6e57ef47221bf 100644 (file)
@@ -3,7 +3,13 @@
 
 #include "json.h"
 
+#if HAVE_ELFUTILS
 /* Parse an ELF object in a forked process, so that errors while iterating over
  * untrusted and potentially malicious data do not propagate to the main caller's process.
  * If fork_disable_dump, the child process will not dump core if it crashes. */
 int parse_elf_object(int fd, const char *executable, bool fork_disable_dump, char **ret, JsonVariant **ret_package_metadata);
+#else
+static inline int parse_elf_object(int fd, const char *executable, bool fork_disable_dump, char **ret, JsonVariant **ret_package_metadata) {
+        return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), "elfutils disabled, parsing ELF objects not supported");
+}
+#endif