On 7/21/22 10:17, HAGIO KAZUHITO(萩尾 一仁) wrote:
 On 2022/07/18 11:53, Xianting Tian wrote:
> This patch mainly added some environment configurations, macro definitions,
> specific architecture structures and some function declarations supported
> by the RISCV64 architecture.
>
> We can use the build command to get the simplest version crash tool:
> 	make target=RISCV64 -j2
>
> Signed-off-by: Xianting Tian <xianting.tian(a)linux.alibaba.com>
> ---
>    Makefile            |   7 +-
>    README              |   2 +-
>    configure.c         |  39 ++++++++++-
>    defs.h              | 155 +++++++++++++++++++++++++++++++++++++++++++-
>    diskdump.c          |  11 +++-
>    help.c              |   2 +-
>    lkcd_vmdump_v2_v3.h |   2 +-
>    netdump.c           |   9 ++-
>    ramdump.c           |   2 +
>    riscv64.c           |  56 ++++++++++++++++
>    symbols.c           |  10 +++
>    11 files changed, 285 insertions(+), 10 deletions(-)
>    create mode 100644 riscv64.c
>
> diff --git a/Makefile b/Makefile
> index 162c2ba..54ebb43 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -64,7 +64,7 @@ CFILES=main.c tools.c global_data.c memory.c filesys.c help.c
task.c \
>    	kernel.c test.c gdb_interface.c configure.c net.c dev.c bpf.c \
>    	printk.c \
>    	alpha.c x86.c ppc.c ia64.c s390.c s390x.c s390dbf.c ppc64.c x86_64.c \
> -	arm.c arm64.c mips.c mips64.c sparc64.c \
> +	arm.c arm64.c mips.c mips64.c riscv64.c sparc64.c \
>    	extensions.c remote.c va_server.c va_server_v1.c symbols.c cmdline.c \
>    	lkcd_common.c lkcd_v1.c lkcd_v2_v3.c lkcd_v5.c lkcd_v7.c lkcd_v8.c\
>    	lkcd_fix_mem.c s390_dump.c lkcd_x86_trace.c \
> @@ -84,7 +84,7 @@ OBJECT_FILES=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 sparc64.o \
> +	arm.o arm64.o mips.o mips64.o riscv64.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 \
> @@ -438,6 +438,9 @@ mips.o: ${GENERIC_HFILES} ${REDHAT_HFILES} mips.c
>    mips64.o: ${GENERIC_HFILES} ${REDHAT_HFILES} mips64.c
>    	${CC} -c ${CRASH_CFLAGS} mips64.c ${WARNING_OPTIONS} ${WARNING_ERROR}
>    
> +riscv64.o: ${GENERIC_HFILES} ${REDHAT_HFILES} riscv64.c
> +	${CC} -c ${CRASH_CFLAGS} riscv64.c ${WARNING_OPTIONS} ${WARNING_ERROR}
> +
>    sparc64.o: ${GENERIC_HFILES} ${REDHAT_HFILES} sparc64.c
>    	${CC} -c ${CRASH_CFLAGS} sparc64.c ${WARNING_OPTIONS} ${WARNING_ERROR}
>    
> diff --git a/README b/README
> index 5abbce1..5ac5b60 100644
> --- a/README
> +++ b/README
> @@ -37,7 +37,7 @@
>      These are the current prerequisites:
>    
>      o  At this point, x86, ia64, x86_64, ppc64, ppc, arm, arm64, alpha, mips,
> -     mips64, s390 and s390x-based kernels are supported.  Other architectures
> +     mips64, riscv64, s390 and s390x-based kernels are supported.  Other
architectures
>         may be addressed in the future.
>    
>      o  One size fits all -- the utility can be run on any Linux kernel version
 
 For README, please append a description of x86_64 binary for riscv64
 dumpfiles here:
 ---
     o  On an x86_64 host, an x86_64 binary that can be used to analyze
        ppc64le dumpfiles may be built by typing "make target=PPC64". 
Shouldn't debugging of a riscv64 crash binary also be possible on riscv64?
Best regards
Heinrich