-----Original Message-----
From: Dave Anderson [mailto:anderson@redhat.com]
----- Original Message -----
> This is the release of crash gcore command, version 1.5.0.
>
> The aim of this release is mainly to support v4.18 and newer kernels.
>
> ChangeLog:
>
> - Fix the issue that special vmas such as vdso and vsyscall are not
> saved in a produced core file due to the commit
> 78d683e838a60ec4ba4591cca4364cba84a9e626 titled "mm, fs: Add
> vm_ops->name as an alternative to arch_vma_name" and merged at
> v3.15-rc5, which replaced the way of naming special vma such as
> vdso and vsyscall.
>
> - Fix the issue that no NT_PRFPREG is collected due to repeated
> changes on the x86 FPU code in the upstream kernel. Note that
> although the issue that no NT_PRFPREG is collected is (probably
> temporarily) fixed, its content would be useless in most cases
> since the FPU registers to be saved in NT_PRFPREG are now read
> dynamically when a core file is created.
>
> - Change the logic of restoring general-purpose registers at
> interrupt contexts according to the commit
> ff467594f2a4be01a0fa5e9ffc223fa930d232dd titled "x86/asm/entry/64:
> Save all regs on interrupt entry" and merged at v4.2-rc2 where all
> the registers including callee-saved registers are saved on
> interrupt entry. Thus, we don't have to try to restore
> callee-saved registers in the function frames. I'm very happy.
>
> - Address the change of vsyscall logic that vsyscall page is not
> mapped in user-space if vsyscall=none is configured in the kernel
> command-line parameters by the commit
> 87983c66bc02c9cd8e4a42e7924435145d52bb13 titled "x86_64, vsyscall:
> Turn vsyscalls all the way off when vsyscall==none" and merged at
> v3.18-rc3.
>
> - Fix NULL pointer dereference caused by the removal of old_rsp
> symbol by the commit 9854dd74c3f6af8d9d527de86c6074b7ed0495f1
> titled "x86: fix NULL pointer dereference caused by the removal of
> old_rsp" and merged at v4.0-rc3. But the commit simplifies how to
> save old_rsp and now it is saved in the bottom of kernel stack as
> part of a pt_regs structure object. Hence this also simplifies
> gcore's register restoration logic.
>
> MD5 CheckSum:
>
> # md5sum ./crash-gcore-command-1.5.0.tar.gz
> b420bb5be8013c8482861171ff78fbaf ./crash-gcore-command-1.5.0.tar.gz
>
> --
> Thanks.
> HATAYAMA, Daisuke
Hello Daisuke,
Thanks for the update. Note that the arm64 bug that we discussed a while
back was not addressed in your update. With the suggested patch, it does
work OK:
--- a/gcore.c.orig
+++ b/gcore.c
@@ -490,6 +490,10 @@ static void gcore_offset_table_init(void
GCORE_MEMBER_OFFSET_INIT(vfp_hard_struct_fpscr, "vfp_hard_struct",
"fpscr");
GCORE_MEMBER_OFFSET_INIT(thread_struct_fpsimd_state,
"thread_struct", "fpsimd_state");
GCORE_MEMBER_OFFSET_INIT(thread_struct_tp_value, "thread_struct",
"tp_value");
+ if (GCORE_INVALID_MEMBER(thread_struct_fpsimd_state)) {
+ GCORE_ANON_MEMBER_OFFSET_INIT(thread_struct_fpsimd_state,
"thread_struct", "uw.fpsimd_state");
+ GCORE_ANON_MEMBER_OFFSET_INIT(thread_struct_tp_value,
"thread_struct", "uw.tp_value");
+ }
}
static void gcore_size_table_init(void)
Do you want to update the release, or leave it as-is and allow distros
to add the patch above?
Yes, I'll include this patch in the next release.
Please backport the patch in the distro version.
Thanks.
HATAYAMA, Daisuke