Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package crash-trace for openSUSE:Factory 
checked in at 2026-09-18 22:08:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/crash-trace (Old)
 and      /work/SRC/openSUSE:Factory/.crash-trace.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "crash-trace"

Fri Sep 18 22:08:12 2026 rev:3 rq:1378814 version:3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/crash-trace/crash-trace.changes  2022-11-20 
19:47:18.385339237 +0100
+++ /work/SRC/openSUSE:Factory/.crash-trace.new.383539/crash-trace.changes      
2026-09-18 22:08:53.080493020 +0200
@@ -1,0 +2,14 @@
+Mon Sep 14 22:09:15 UTC 2026 - Tony Jones <[email protected]>
+
+- Update crash-trace to latest upstream (bsc#1262945)
+  New patch: [primary fix] 
crash-trace-Fix-segmentation-fault-during-executing-trace-dump-s.patch
+  New patch: crash-trace-Makefile-set-DT_SONAME-to-trace.so.patch
+  New patch: crash-trace-Support-module-memory-layout-change-on-Linux-6.4.patch
+
+-------------------------------------------------------------------
+Thu May 29 08:10:33 UTC 2025 - Petr Tesařík <[email protected]>
+
+- crash-trace-fix-arm.patch: Fix build for 32-bit Arm.
+- crash-trace-fix-riscv64.patch: Fix build for RISCV64.
+
+-------------------------------------------------------------------

New:
----
  _scmsync.obsinfo
  build.specials.obscpio
  crash-trace-Fix-segmentation-fault-during-executing-trace-dump-s.patch
  crash-trace-Makefile-set-DT_SONAME-to-trace.so.patch
  crash-trace-Support-module-memory-layout-change-on-Linux-6.4.patch
  crash-trace-fix-arm.patch
  crash-trace-fix-riscv64.patch

----------(New B)----------
  New:- Update crash-trace to latest upstream (bsc#1262945)
  New patch: [primary fix] 
crash-trace-Fix-segmentation-fault-during-executing-trace-dump-s.patch
  New patch: crash-trace-Makefile-set-DT_SONAME-to-trace.so.patch
  New:  New patch: [primary fix] 
crash-trace-Fix-segmentation-fault-during-executing-trace-dump-s.patch
  New patch: crash-trace-Makefile-set-DT_SONAME-to-trace.so.patch
  New patch: crash-trace-Support-module-memory-layout-change-on-Linux-6.4.patch
  New:  New patch: crash-trace-Makefile-set-DT_SONAME-to-trace.so.patch
  New patch: crash-trace-Support-module-memory-layout-change-on-Linux-6.4.patch
  New:
- crash-trace-fix-arm.patch: Fix build for 32-bit Arm.
- crash-trace-fix-riscv64.patch: Fix build for RISCV64.
  New:- crash-trace-fix-arm.patch: Fix build for 32-bit Arm.
- crash-trace-fix-riscv64.patch: Fix build for RISCV64.
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ crash-trace.spec ++++++
--- /var/tmp/diff_new_pack.VRtgin/_old  2026-09-18 22:08:53.908527723 +0200
+++ /var/tmp/diff_new_pack.VRtgin/_new  2026-09-18 22:08:53.909527765 +0200
@@ -25,6 +25,11 @@
 URL:            https://github.com/fujitsu/crash-trace
 Source:         
https://github.com/fujitsu/crash-trace/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
 Patch1:         %{name}-fix-aarch64-ppc64le.patch
+Patch2:         %{name}-fix-arm.patch
+Patch3:         %{name}-fix-riscv64.patch
+Patch4:         %{name}-Makefile-set-DT_SONAME-to-trace.so.patch
+Patch5:         %{name}-Support-module-memory-layout-change-on-Linux-6.4.patch
+Patch6:         
%{name}-Fix-segmentation-fault-during-executing-trace-dump-s.patch
 BuildRequires:  crash-devel
 Requires:       trace-cmd
 

++++++ _scmsync.obsinfo ++++++
mtime: 1789734580
commit: 51af9405a094504323f8c06b1b43f376fe3c50a563a8bb1f10563cef866343af
url: https://src.opensuse.org/kernel-kdump/crash-trace
revision: 51af9405a094504323f8c06b1b43f376fe3c50a563a8bb1f10563cef866343af
projectscmsync: https://src.opensuse.org/kernel-kdump/_ObsPrj

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-09-18 14:29:40.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ crash-trace-Fix-segmentation-fault-during-executing-trace-dump-s.patch 
++++++
From: HATAYAMA Daisuke <[email protected]>
Date: Wed, 5 Mar 2025 07:14:51 +0000
Subject: Fix segmentation fault during executing trace dump -s
Git-repo: https://github.com/fujitsu/crash-trace.git
Git-commit: 2106a9d04020192f6f286171a060c4d2300059b7
References: bsc#1262945

Currently, trace dump -s results in segmentation fault on the vmcore
corresponding to kernel-core-6.13.5-200.fc41.x86_64:

  crash> trace dump -s trace_dump_dir
  Segmentation fault (core dumped)

This is caused by the commit c5913a960dfa07d64397e6b591e6f0d40ea0b503
(trace: Support module memory layout change on Linux 6.4) that added
support of the module memory layout change on Linux kernel 6.4, where
the implementation on function dump_kallsyms() was overlooked.

Fix this issue by introducing a new version of dump_kallsyms() for the
new module memory layout.

Signed-off-by: Tony Jones <[email protected]>
---
 trace.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 50 insertions(+), 3 deletions(-)

diff --git a/trace.c b/trace.c
index 9e51707..dc5252e 100644
--- a/trace.c
+++ b/trace.c
@@ -1628,7 +1628,52 @@ static int dump_saved_cmdlines(const char 
*dump_tracing_dir)
        return 0;
 }
 
-static int dump_kallsyms(const char *dump_tracing_dir)
+#ifdef MODULE_MEMORY
+static int dump_kallsyms_mod_v6_4(const char *dump_tracing_dir)
+{
+       char path[PATH_MAX];
+       FILE *out;
+       int i, t;
+       struct syment *sp;
+
+       snprintf(path, sizeof(path), "%s/kallsyms", dump_tracing_dir);
+       out = fopen(path, "w");
+       if (out == NULL)
+               return -1;
+
+       for (sp = st->symtable; sp < st->symend; sp++)
+               fprintf(out, "%lx %c %s\n", sp->value, sp->type, sp->name);
+
+       for (i = 0; i < st->mods_installed; i++) {
+               struct load_module *lm = &st->load_modules[i];
+
+               for_each_mod_mem_type(t) {
+                       if (!lm->symtable[t])
+                               continue;
+
+                       for (sp = lm->symtable[t]; sp <= lm->symend[t]; sp++) {
+                               if (!strncmp(sp->name, "_MODULE_", 
strlen("_MODULE_")))
+                                       continue;
+
+                               /* Currently sp->type for modules is not 
trusted */
+                               fprintf(out, "%lx %c %s\t[%s]\n", sp->value, 
'm',
+                                       sp->name, lm->mod_name);
+                       }
+               }
+       }
+
+       fclose(out);
+       return 0;
+}
+#else
+#define MODULE_MEMORY() (0)
+static int dump_kallsyms_mod_v6_4(const char *dump_tracing_dir)
+{
+       return 0;
+}
+#endif
+
+static int dump_kallsyms_legacy(const char *dump_tracing_dir)
 {
        char path[PATH_MAX];
        FILE *out;
@@ -1700,7 +1745,10 @@ static int populate_ftrace_dir_tree(struct 
trace_instance *ti,
 
        if (flags & FTRACE_DUMP_SYMBOLS) {
                /* Dump all symbols of the kernel */
-               dump_kallsyms(root);
+               if (MODULE_MEMORY())
+                       dump_kallsyms_mod_v6_4(root);
+               else
+                       dump_kallsyms_legacy(root);
        }
 
        return TRUE;
@@ -2263,7 +2311,6 @@ static void __save_proc_kallsyms_mod_v6_4(void)
        }
 }
 #else
-#define MODULE_MEMORY() (0)
 static inline void __save_proc_kallsyms_mod_v6_4(void)
 {
 }


++++++ crash-trace-Makefile-set-DT_SONAME-to-trace.so.patch ++++++
From: HATAYAMA Daisuke <[email protected]>
Date: Thu, 28 Jan 2021 00:08:35 -0500
Subject: Makefile: set DT_SONAME to trace.so
Git-repo: https://github.com/fujitsu/crash-trace.git
Git-commit: 153629a96b07a8ae96b0b28cce100fde9ea1398d
References: bsc#1262945

Fedora never requires SONAME versioning for plugins according to the
Packaging Guidelines:

    
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning

    In cases where upstream ships unversioned .so library (so this is
    not needed for plugins, drivers, etc.), the packager MUST try to
    convince upstream to start versioning it.

On the other hand, fedpkg lint still prints warning if the shared
library doesn't have DT_SONAME. To surpress this, we set DT_SONAME
field to trace.so for in case.

Signed-off-by: HATAYAMA Daisuke <[email protected]>
Signed-off-by: Tony Jones <[email protected]>
---
 Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/Makefile
+++ b/Makefile
@@ -36,4 +36,4 @@ INCDIR=/usr/include/crash
 all: trace.so
        
 trace.so: $(INCDIR)/defs.h trace.c 
-       gcc $(RPM_OPT_FLAGS) -Wall -I$(INCDIR) -nostartfiles -shared -rdynamic 
-o trace.so trace.c -fPIC -D$(TARGET) $(TARGET_CFLAGS)
+       gcc $(RPM_OPT_FLAGS) -Wall -I$(INCDIR) -nostartfiles -shared -rdynamic 
-Wl,-soname,trace.so -o trace.so trace.c -fPIC -D$(TARGET) $(TARGET_CFLAGS)

++++++ crash-trace-Support-module-memory-layout-change-on-Linux-6.4.patch ++++++
From: HATAYAMA Daisuke <[email protected]>
Date: Tue, 26 Sep 2023 02:55:49 -0400
Subject: trace: Support module memory layout change on Linux 6.4
Git-repo: https://github.com/fujitsu/crash-trace.git
Git-commit: c5913a960dfa07d64397e6b591e6f0d40ea0b503
References: bsc#1262945

Linux kernel introduced new module memory layout on Linux 6.4 at the
commit ac3b432 (module: replace module_layout with module_memory) and
crash utility supported it at the commit 7750e61 (Support module
memory layout change on Linux 6.4).

In the change, crash utility changed definition and usage of data
structure for kernel modules. However, crash trace also refers to the
data structures. As a result, with the crash utility with the change,
crash trace command results in segmentation fault:

  crash> extend trace.so
  /usr/lib64/crash/extensions/trace.so: shared object loaded
  crash> trace show
  Segmentation fault (core dumped)

To fix this issue, let's support the new definition and usage of
struct load_module in crash trace. This is at the same time intended
for crash trace to support the new module memory layout of the Linux
kernel.

On the other hand, there is still inevitable dependency left to size
of struct load_module, one of the data structures of crash utility, in
crash trace. struct symbol_table_data holds an array of objects of
struct load_module in member variable load_modules and we need to know
size of struct load_module in advance to refer to its elements.

  struct symbol_table_data {
  ...snip...
        int mods_installed;
        struct load_module *current;
        struct load_module *load_modules;

Due to this, once crash trace is built with the defs.h including
change of size of struct load_module, it can never be used with the
older crash utility that was built with a different size of struct
load_module.

Because there is no preferable way to tackle the dependency without
altering implementation of crash utility, we have no choice but accept
breaking backward-compatibility for the time being.

Signed-off-by: HATAYAMA Daisuke <[email protected]>
Signed-off-by: Tony Jones <[email protected]>
---
 trace.c | 49 +++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 45 insertions(+), 4 deletions(-)

diff --git a/trace.c b/trace.c
index c33907f..9e51707 100644
--- a/trace.c
+++ b/trace.c
@@ -2219,14 +2219,11 @@ fail:
        return -1;
 }
 
-static int save_proc_kallsyms(int fd)
+static void __save_proc_kallsyms_mod_legacy(void)
 {
        int i;
        struct syment *sp;
 
-       for (sp = st->symtable; sp < st->symend; sp++)
-               tmp_fprintf("%lx %c %s\n", sp->value, sp->type, sp->name);
-
        for (i = 0; i < st->mods_installed; i++) {
                struct load_module *lm = &st->load_modules[i];
 
@@ -2239,6 +2236,50 @@ static int save_proc_kallsyms(int fd)
                                        sp->name, lm->mod_name);
                }
        }
+}
+
+#ifdef MODULE_MEMORY
+static void __save_proc_kallsyms_mod_v6_4(void)
+{
+       int i, t;
+       struct syment *sp;
+
+        for (i = 0; i < st->mods_installed; i++) {
+                struct load_module *lm = &st->load_modules[i];
+
+                for_each_mod_mem_type(t) {
+                        if (!lm->symtable[t])
+                               continue;
+
+                        for (sp = lm->symtable[t]; sp <= lm->symend[t]; sp++) {
+                                if (!strncmp(sp->name, "_MODULE_", 
strlen("_MODULE_")))
+                                        continue;
+
+                                /* Currently sp->type for modules is not 
trusted */
+                                tmp_fprintf("%lx %c %s\t[%s]\n", sp->value, 
'm',
+                                            sp->name, lm->mod_name);
+                        }
+                }
+       }
+}
+#else
+#define MODULE_MEMORY() (0)
+static inline void __save_proc_kallsyms_mod_v6_4(void)
+{
+}
+#endif
+
+static int save_proc_kallsyms(int fd)
+{
+       struct syment *sp;
+
+       for (sp = st->symtable; sp < st->symend; sp++)
+               tmp_fprintf("%lx %c %s\n", sp->value, sp->type, sp->name);
+
+       if (MODULE_MEMORY())
+               __save_proc_kallsyms_mod_v6_4();
+       else
+               __save_proc_kallsyms_mod_legacy();
 
        if (tmp_file_record_size4(fd))
                return -1;


++++++ crash-trace-fix-aarch64-ppc64le.patch ++++++
--- /var/tmp/diff_new_pack.VRtgin/_old  2026-09-18 22:08:54.082535016 +0200
+++ /var/tmp/diff_new_pack.VRtgin/_new  2026-09-18 22:08:54.089535309 +0200
@@ -1,6 +1,7 @@
 From: Petr Tesarik <[email protected]>
 Subject: Fix build for ppc64le and arm64
-Upstream: submitted, https://github.com/fujitsu/crash-trace/pull/3
+Upstream: merged
+Git-commit: 17c35d075f067d80fee112ae18365b8defa2ca5a
 
 Build fails for AArch64 and little-endian IBM POWER, because TARGET
 is undefined, and the compiler complains like this:

++++++ crash-trace-fix-arm.patch ++++++
From: Petr Tesarik <[email protected]>
Subject: Fix build for 32-bit arm
Upstream: submitted, https://github.com/fujitsu/crash-trace/pull/5

---
 Makefile |    4 ++++
 1 file changed, 4 insertions(+)

--- a/Makefile
+++ b/Makefile
@@ -30,6 +30,10 @@ ifeq ($(shell arch), aarch64)
   TARGET=ARM64
   TARGET_CFLAGS=
 endif
+ifeq ($(patsubst arm%,arm,$(shell arch)), arm)
+  TARGET=ARM
+  TARGET_CFLAGS=
+endif
 
 INCDIR=/usr/include/crash
 

++++++ crash-trace-fix-riscv64.patch ++++++
From: Petr Tesarik <[email protected]>
Subject: Fix build for 32-bit arm
Upstream: submitted, https://github.com/fujitsu/crash-trace/pull/5

---
 Makefile |    4 ++++
 1 file changed, 4 insertions(+)

--- a/Makefile
+++ b/Makefile
@@ -34,6 +34,10 @@ ifeq ($(patsubst arm%,arm,$(shell arch))
   TARGET=ARM
   TARGET_CFLAGS=
 endif
+ifeq ($(shell arch), riscv64)
+  TARGET=RISCV64
+  TARGET_CFLAGS=
+endif
 
 INCDIR=/usr/include/crash
 

Reply via email to