[Crash-utility] Re: [RESEND PATCH v2 00/10] add LoongArch64 platform support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023/11/08 10:39, Ming Wang wrote:
> Changes between v1 and v2:
> - Simplified the LoongArch64 gdb's backport patch and appended it to the gdb-10.2.patch.
> - Add building the loongarch crash binary on an X86 64 host support.
> - Fix offset_table format issues.
> - Move private definitions code to loongarch64.c.

The following compilation warnings are observed with the patch set,
could you fix them?

# make target=LOONGARCH64
...
cc -c -g -DLOONGARCH64  -DGDB_10_2  loongarch64.c -Wall -O2 -Wstrict-prototypes -Wmissing-prototypes -fstack-protector -Wformat-security
loongarch64.c: In function 'loongarch64_analyze_function':
loongarch64.c:557:11: warning: unused variable 'reg' [-Wunused-variable]
   ulong i, reg;
            ^~~
loongarch64.c: In function 'loongarch64_dump_exception_stack':
loongarch64.c:683:2: warning: 'regs' is used uninitialized in this function [-Wuninitialized]
   value_to_symstr(regs->csr_epc, buf, 16);
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
loongarch64.c: In function 'loongarch64_get_stack_frame':
loongarch64.c:813:18: warning: array subscript 32 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
   epc = regs->regs[LOONGARCH64_EF_CSR_EPC];
         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
loongarch64.c: In function 'loongarch64_back_trace_cmd':
loongarch64.c:517:28: warning: 'regs' may be used uninitialized in this function [-Wmaybe-uninitialized]
     previous.sp = regs->regs[LOONGARCH64_EF_SP];
                   ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
loongarch64.c: In function 'loongarch64_display_regs_from_elf_notes':
loongarch64.c:1294:51: warning: array subscript 32 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
   if (!regs->regs[LOONGARCH64_EF_SP] && !regs->regs[LOONGARCH64_EF_CSR_EPC]) {
                                          ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
loongarch64.c:1299:2: warning: array subscript 36 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
   fprintf(ofp,
   ^~~~~~~~~~~~
    "     R0: %016lx   R1: %016lx   R2: %016lx\n"
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "     R3: %016lx   R4: %016lx   R5: %016lx\n"
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "     R6: %016lx   R7: %016lx   R8: %016lx\n"
...

    regs->regs[LOONGARCH64_EF_CSR_ECFG],
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    regs->regs[LOONGARCH64_EF_CSR_ESTAT],
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    regs->regs[LOONGARCH64_EF_CSR_EUEN]);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
loongarch64.c:1299:2: warning: array subscript 38 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
loongarch64.c:1299:2: warning: array subscript 37 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
loongarch64.c:1299:2: warning: array subscript 35 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
loongarch64.c:1299:2: warning: array subscript 34 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
loongarch64.c:1299:2: warning: array subscript 33 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]
loongarch64.c:1299:2: warning: array subscript 32 is above array bounds of 'long unsigned int[32]' [-Warray-bounds]

otherwise, looks fine to me.

Thanks,
Kazu

> 
> 
> This patch set are for Crash-utility tool, it make crash tool support on
> loongarch64 architecture and the common commands(bt, p, rd, mod, log, set,
> dis, and so on).
> 
> The patch sets were tested on a loongArch64 Loongson-3C5000 processor. Can
> successfully enter the crash command line and support for common command.
> 
> ...
>        KERNEL: vmlinux
>      DUMPFILE: /proc/kcore
>          CPUS: 16
>          DATE: Thu Jul 27 19:51:21 CST 2023
>        UPTIME: 06:35:11
> LOAD AVERAGE: 0.15, 0.03, 0.01
>         TASKS: 257
>      NODENAME: localhost.localdomain
>       RELEASE: 5.10.0-60.102.0.128.oe2203.loongarch64
>       VERSION: #1 SMP Fri Jul 14 04:17:09 UTC 2023
>       MACHINE: loongarch64  (2200 Mhz)
>        MEMORY: 64 GB
>           PID: 2964
>       COMMAND: "crash"
>          TASK: 9000000098805500  [THREAD_INFO: 9000000094d48000]
>           CPU: 6
>         STATE: TASK_RUNNING (ACTIVE)
> crash>
> crash> dis -l start_kernel
> /linux-loongarch64/init/main.c: 883
> 0x9000000001030818 <start_kernel>:      0x0141ee40
> /linux-loongarch64/init/main.c: 879
> 0x900000000103081c <start_kernel+4>:    0x90000000
> /linux-loongarch64/init/main.c: 883
> 0x9000000001030820 <start_kernel+8>:    addu16i.d       $zero, $t8, 8179(0x1ff3)
> /linux-loongarch64/init/main.c: 879
> ...
> 
> About the LoongArch64 Architecture:
> https://www.kernel.org/doc/html/latest/loongarch/index.html
> 
> 
> Thanks and regards,
> Ming
> 
> Ming Wang (10):
>    Add LoongArch64 framework code support
>    LoongArch64: Make the crash tool successfully enter the crash command
>      line
>    LoongArch64: Add 'pte' command support
>    LoongArch64: Add 'mach' command support
>    LoongArch64: Add 'bt' command support
>    LoongArch64: Add 'help -m/M' command support
>    LoongArch64: Add 'help -r' command support
>    LoongArch64: Add 'irq' command support
>    LoongArch64: Add "--kaslr" command line option support
>    LoongArch64: Add LoongArch64 architecture support information
> 
>   Makefile            |     7 +-
>   README              |     4 +-
>   configure.c         |    39 +-
>   crash.8             |     2 +-
>   defs.h              |   164 +-
>   diskdump.c          |    24 +-
>   gdb-10.2.patch      | 12818 ++++++++++++++++++++++++++++++++++++++++++
>   help.c              |    13 +-
>   lkcd_vmdump_v1.h    |     2 +-
>   lkcd_vmdump_v2_v3.h |     5 +-
>   loongarch64.c       |  1366 +++++
>   main.c              |     3 +-
>   netdump.c           |    27 +-
>   ramdump.c           |     2 +
>   symbols.c           |    33 +-
>   15 files changed, 14484 insertions(+), 25 deletions(-)
>   create mode 100644 loongarch64.c
> 
> 
> base-commit: 55a43bcefa20161c7e56ed0e309e90e941f47efc
--
Crash-utility mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxxxxxx
https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/
Contribution Guidelines: https://github.com/crash-utility/crash/wiki




[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux