----- 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.
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).
Thanks,
Dave