Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP5:Update
crash
crash-Fix-the-failure-of-reporting-vmcore-and-v...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File crash-Fix-the-failure-of-reporting-vmcore-and-vmlinux-do-n.patch of Package crash
From fce91bec5bef534e52f3261cc289a21a2cdb5fe3 Mon Sep 17 00:00:00 2001 From: Tao Liu <ltao@redhat.com> Date: Sun, 11 Jul 2021 22:30:22 +0800 Subject: [PATCH] Fix the failure of reporting vmcore and vmlinux do not match for kernels(<2.6.11) Fix lookup of "linux_banner" symbol. It is reported as 'D' by current gdb as its section ".rodata" marked as writable in vmlinux Fix the failure of reporting vmcore and vmlinux do not match for kernels(<2.6.11) There is a regression issue for kernels(<2.6.11) as below: $ crash 2.6.9-68.9/vmcore 2.6.9-68.9/vmlinux.gz ... GNU gdb (GDB) 10.2 ... crash: /var/tmp/vmlinux.gz_GLsAvX and 2.6.9-68.9/vmcore do not match! The reason is that it needs to read out the address of linux banner with readmem() first, and then the read_string() will be able to read the data from linux banner. So, for the kernels(<2.6.11) case, lets still invoke get_symbol_data() to accomplish this. See the changes: [1] https://elixir.bootlin.com/linux/v2.6.10/source/init/version.c#L38 [2] https://elixir.bootlin.com/linux/v2.6.11/source/init/version.c#L38 Signed-off-by: Tao Liu <ltao@redhat.com> Signed-off-by: Lianbo Jiang <lijiang@redhat.com> Index: crash-7.2.1/kernel.c =================================================================== --- crash-7.2.1.orig/kernel.c +++ crash-7.2.1/kernel.c @@ -1021,6 +1021,7 @@ verify_version(void) if (!(sp = symbol_search("linux_banner"))) error(FATAL, "linux_banner symbol does not exist?\n"); else if ((sp->type == 'R') || (sp->type == 'r') || + (THIS_KERNEL_VERSION >= LINUX(2,6,11) && sp->type == 'D') || (machine_type("ARM") && sp->type == 'T') || (machine_type("ARM64"))) linux_banner = symbol_value("linux_banner");
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor