Hi Daisuke,
I verified arm64 compat mode, it works, thanks
Best Regards,
Wei
-----Original Message-----
From: crash-utility-bounces(a)redhat.com [mailto:crash-utility-
bounces(a)redhat.com] On Behalf Of HATAYAMA Daisuke
Sent: Tuesday, October 28, 2014 5:10 PM
To: anderson(a)redhat.com
Cc: crash-utility(a)redhat.com
Subject: Re: [Crash-utility] [ANNOUNCE] crash gcore command version 1.3.0-rc2
is released
From: Dave Anderson <anderson(a)redhat.com>
Subject: Re: [Crash-utility] [ANNOUNCE] crash gcore command version 1.3.0-rc2
is released
Date: Mon, 27 Oct 2014 13:59:04 -0400
>
>
> ----- Original Message -----
>> This is the release of crash gcore command, version 1.3.0-rc2.
>>
>> The version 1.3.0 is going to newly add ARM64 support, including
>> compat mode, and PPC64 support, and the purpose of this serise of rc
>> version releases is for verification by other architecture
>> maintainers. Please give me a verfication result as a reply to this
>> mail.
>
> Hello Daisuke,
>
> We have successfully tested the support for the ARM64 and PPC64
architectures.
> Thanks very much for accepting them.
>
Thanks for your verification.
> However, I have attached one small patch to the gcore.mk file that is
> required for ARM64 in order to build the module in the "extensions"
> subdirectory of the crash source tree.
>
> The standalone package builds OK on an ARM64 host:
>
> # make -f gcore.mk
> make[1]: Entering directory `/root/crash-gcore-command-1.3.0-rc2'
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_coredump.o
libgcore/gcore_coredump.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_coredump_table.o
libgcore/gcore_coredump_table.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_dumpfilter.o
libgcore/gcore_dumpfilter.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_elf_struct.o
libgcore/gcore_elf_struct.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_global_data.o
libgcore/gcore_global_data.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_regset.o
libgcore/gcore_regset.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_verbose.o
libgcore/gcore_verbose.c
> gcc -D_SYS_UCONTEXT_H=1 -Wall -I/usr/include/crash -I./libgcore -fPIC -
DARM64 -DVERSION='"1.3.0-rc2"' -DRELEASE_DATE='"24 Oct
2014"' -DPERIOD='"2010,
2011, 2012, 2013, 2014"' -c -o libgcore/gcore_arm64.o libgcore/gcore_arm64.c
> Make[1]: Leaving directory `/root/crash-gcore-command-1.3.0-rc2'
> #
>
> Note that the compile lines above contain -D_SYS_UCONTEXT_H=1 because
> of this "(shell arch)" section of the gcore.mk file:
>
> ifeq ($(shell arch), aarch64)
> TARGET=ARM64
> TARGET_CFLAGS=-D_SYS_UCONTEXT_H=1
> ARCH=SUPPORTED
> endif
>
> However, when building the package from within a crash source tree in
> its "extensions" subdirectory, the package fails to compile because
> the
> -D_SYS_UCONTEXT_H=1 gets dropped. That is because the top-level
> Makefile issues the make command with TARGET_CFLAGS defined on the
> command line, which overrides the "(shell arch)" TARGET_CFLAGS setting in
gcore.mk:
>
> (cd extensions; make -i TARGET=ARM64 TARGET_CFLAGS="" GDB=gdb-7.6
> GDB_FLAGS=-DGDB_7_6)
>
> In order to build both standalone and from within the crash source
> tree, I've modified the gcore.mk file to use a new "ARCH_CFLAGS"
> definition, and added $(ARCH_CFLAGS) to both compile lines below it:
>
> ifeq ($(shell arch), aarch64)
> TARGET=ARM64
> ARCH_CFLAGS=-D_SYS_UCONTEXT_H=1
> ARCH=SUPPORTED
> endif
>
> Note that if the ARM64 gcore.so is compiled from an x86_64 host that
> was built with "make target=ARM64", the "(shell arch), aarch64"
> section is not used (and not necessary).
>
I confirmed that after applying this patch, both make and make
target=ARM64 work fine.
If there's no other large issue, I'll release v1.3.0, not -rc3, this weekend
including this change.
--
Thanks.
HATAYAMA, Daisuke
--
Crash-utility mailing list
Crash-utility(a)redhat.com
https://www.redhat.com/mailman/listinfo/crash-utility