On Sat, Aug 30, 2025 at 9:40 PM Ajay Kaher <ajay.kaher(a)broadcom.com> wrote:
On Fri, Aug 29, 2025 at 2:42 PM lijiang <lijiang(a)redhat.com>
wrote:
> On Fri, Aug 29, 2025 at 2:16 PM <
devel-request(a)lists.crash-utility.osci.io> wrote:
>>
>> Date: Mon, 11 Aug 2025 05:56:22 +0000
>> From: Ajay Kaher <ajay.kaher(a)broadcom.com>
>> Subject: [Crash-utility] [PATCH 1/2] vmware_vmss: support segment
>> registers
>> To: devel(a)lists.crash-utility.osci.io
>> Cc: alexey.makhalov(a)broadcom.com,
>> vamsi-krishna.brahmajosyula(a)broadcom.com,
tapas.kundu(a)broadcom.com,
>> ajay.kaher(a)broadcom.com
>> Message-ID: <20250811055623.179491-1-ajay.kaher(a)broadcom.com>
>>
>> adding support for segment registers for vmware vmss dumps.
>>
>> Signed-off-by: Ajay Kaher <ajay.kaher(a)broadcom.com>
>>
>> ---
>> vmware_guestdump.c | 2 +-
>> vmware_vmss.c | 114 +++++++++++++++++++++++++++++++++++----------
>> vmware_vmss.h | 92 +++++++++++++++++++++++++-----------
>> 3 files changed, 154 insertions(+), 54 deletions(-)
>>
>
> The code looks good, but I saw a warning:
>
> gcc -c -g -DX86_64 -DLZO -DGDB_16_2 vmware_vmss.c -Wall -O2
-Wstrict-prototypes -Wmissing-prototypes -fstack-protector -Wformat-security
> vmware_vmss.c: In function ‘dump_registers_for_vmss_dump’:
> vmware_vmss.c:895:73: warning: format ‘%x’ expects argument of type
‘unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long unsigned
int’} [-Wformat=]
> 895 | fprintf(fp, "Missing registers for this
CPU: 0x%x\n", vmss.vcpu_regs[i]);
> |
~^ ~~~~~~~~~~~~~~~~~
> |
| |
> |
unsigned int uint64_t {aka long unsigned int}
> |
%lx
Thanks for pointing out this warning.
I don't know why no warning in my dev environment:
Probably it's related to the gcc version, I used the gcc 15.2.1 to compile
this one(E.g: make warn).
TARGET: X86_64
CRASH: 9.0.0++
GDB: 16.2
gcc -c -g -DX86_64 -DGDB_16_2 build_data.c
gcc -c -g -DX86_64 -DGDB_16_2 vmware_vmss.c
gcc -c -g -DX86_64 -DGDB_16_2 vmware_guestdump.c
ar -rs crashlib.a main.o tools.o global_data.o memory.o filesys.o
help.o task.o build_data.o kernel.o test.o gdb_interface.o net.o dev.o
bpf.o printk.o alpha.o x86.o ppc.o ia64.o s390.o s390x.o s390dbf.o
ppc64.o x86_64.o arm.o arm64.o mips.o mips64.o riscv64.o loongarch64.o
sparc64.o extensions.o remote.o va_server.o va_server_v1.o symbols.o
cmdline.o lkcd_common.o lkcd_v1.o lkcd_v2_v3.o lkcd_v5.o lkcd_v7.o
lkcd_v8.o lkcd_fix_mem.o s390_dump.o netdump.o diskdump.o
makedumpfile.o xendump.o lkcd_x86_trace.o unwind_v1.o unwind_v2.o
unwind_v3.o unwind_x86_32_64.o unwind_arm.o xen_hyper.o
xen_hyper_command.o xen_hyper_global_data.o xen_hyper_dump_tables.o
kvmdump.o qemu.o qemu-load.o sadump.o ipcs.o ramdump.o vmware_vmss.o
vmware_guestdump.o xen_dom0.o kaslr_helper.o sbitmap.o maple_tree.o
lzorle_decompress.o
CXXLD gdb
I have fixed it in v2.
Thank you so much.
Lianbo
>
> BTW: I can not test the patch, and it relies on your testing.
ok, no worries.
Thanks,
- Ajay