b6407a85f0
Update to the latest upstream commit 47216437e79a ("Fix "net" command on kernel configured with CONFIG_IPV6=m") Resolves: rhbz#2166880 Resolves: rhbz#2161133 Resolves: rhbz#2158721 Resolves: rhbz#2156904 Resolves: rhbz#2156898 Resolves: rhbz#2156892 Resolves: rhbz#2156889 Resolves: rhbz#2156885 Resolves: rhbz#2152619 Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
64 lines
2.3 KiB
Diff
64 lines
2.3 KiB
Diff
From 39a938a62d0153a98ab3d1115d845b904192a832 Mon Sep 17 00:00:00 2001
|
|
From: Lianbo Jiang <lijiang@redhat.com>
|
|
Date: Tue, 21 Feb 2023 11:03:26 +0800
|
|
Subject: [PATCH 76/89] Fix for "dis" command to correctly display the offset
|
|
of disassembly code
|
|
|
|
For gdb-10.2, the disassembly code may start with "=>", which needs to
|
|
be stripped when calculating the address. Otherwise, parsing the address
|
|
will fail because the current code always assumes that it starts with the
|
|
"0x". For example:
|
|
|
|
crash> gdb disassemble 0xffffffffa2317add
|
|
Dump of assembler code for function native_queued_spin_lock_slowpath:
|
|
...
|
|
0xffffffffa2317ad3 <+35>: mov %edx,%eax
|
|
0xffffffffa2317ad5 <+37>: lock cmpxchg %ecx,(%rdi)
|
|
=> 0xffffffffa2317ad9 <+41>: cmp %eax,%edx
|
|
0xffffffffa2317adb <+43>: jne 0xffffffffa2317ac0 ...
|
|
0xffffffffa2317add <+45>: pop %rbp
|
|
...
|
|
|
|
Without the patch:
|
|
crash> dis 0xffffffffa2317add -r | tail -5
|
|
0xffffffffa2317ad3 <native_queued_spin_lock_slowpath+35>: mov %edx,%eax
|
|
0xffffffffa2317ad5 <native_queued_spin_lock_slowpath+37>: lock cmpxchg %ecx,(%rdi)
|
|
0xffffffffa2317ad5 <native_queued_spin_lock_slowpath+37>: cmp %eax,%edx
|
|
^^
|
|
0xffffffffa2317adb <native_queued_spin_lock_slowpath+43>: jne 0xffffffffa2317ac0 ...
|
|
0xffffffffa2317add <native_queued_spin_lock_slowpath+45>: pop %rbp
|
|
|
|
With the patch:
|
|
|
|
crash> dis 0xffffffffa2317add -r | tail -5
|
|
0xffffffffa2317ad3 <native_queued_spin_lock_slowpath+35>: mov %edx,%eax
|
|
0xffffffffa2317ad5 <native_queued_spin_lock_slowpath+37>: lock cmpxchg %ecx,(%rdi)
|
|
0xffffffffa2317ad9 <native_queued_spin_lock_slowpath+41>: cmp %eax,%edx
|
|
0xffffffffa2317adb <native_queued_spin_lock_slowpath+43>: jne 0xffffffffa2317ac0 ...
|
|
0xffffffffa2317add <native_queued_spin_lock_slowpath+45>: pop %rbp
|
|
|
|
Reported-by: Vernon Lovejoy <vlovejoy@redhat.com>
|
|
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
|
|
---
|
|
kernel.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/kernel.c b/kernel.c
|
|
index 3ca513962970..3f2d9a15a78d 100644
|
|
--- a/kernel.c
|
|
+++ b/kernel.c
|
|
@@ -2113,6 +2113,10 @@ cmd_dis(void)
|
|
rewind(pc->tmpfile);
|
|
|
|
while (fgets(buf2, BUFSIZE, pc->tmpfile)) {
|
|
+
|
|
+ if (STRNEQ(buf2, "=>"))
|
|
+ shift_string_left(buf2, 2);
|
|
+
|
|
strip_beginning_whitespace(buf2);
|
|
|
|
if (do_load_module_filter)
|
|
--
|
|
2.37.1
|
|
|