Hi Geoff, Please find my reply inline.. Regards, Anurup > -----Original Message----- > From: Geoff Levand [mailto:geoff at infradead.org] > Sent: Thursday, November 20, 2014 6:50 AM > To: Anurup m > Cc: kexec at lists.infradead.org; Sanil kumar > Subject: Re: [PATCH 0/8] arm64 kexec kernel patches V6 > > On Tue, 2014-11-18 at 11:48 +0530, Anurup M wrote: >> I get a relocation error when I try to load using latest kexec-tools from https://git.linaro.org/people/geoff.levand/kexec-tools.git. >> >> ############## error log ############### >> machine_apply_elf_rel: CALL26 94000000->97ffff62 >> sym: sha256_update info: 12 other: 00 shndx: 1 value: 5f58 size: 16c >> sym: sha256_update value: 81af7f58 addr: 81af81e4 >> machine_apply_elf_rel: CALL26 94000000->97ffff5d >> sym: .data info: 03 other: 00 shndx: 4 value: 0 size: 0 >> sym: .data value: 81af8630 addr: 81af8550 >> machine_apply_elf_rel: ABS64 0->81af8630 >> Symbol: sha256_regions is in a bss section cannot set ############## >> >> What should be the problem? > > It seems either your purgatory code was not built correctly, or the kexec-tools relocator didn't do the correct thing. > > Please post the output from your gcc with the --version option and the command line used to compile purgatory/purgatory.c. > The build command is make CFLAGS=-DEM_AARCH64=183 and build log for purgatory/purgatory.c is as below. ########################## build log ########################### ---------------------------------------- aarch64-linux-gnu-gcc -DEM_AARCH64=183 -mcmodel=large -Wl,-Map=purgatory/purgatory.map -fno-stack-protector -Wundef -Werror-implicit-function-declaration -Wd eclaration-after-statement -Werror=implicit-int -Werror=strict-prototypes -I./purgatory/include -I./purgatory/arch/arm64/include -I./util_lib/include -I./inc lude -Iinclude -I/opt/skd/toolchain/linaro/bin_gcc_linaro/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/include -c - MD -o purgatory/purgatory.o purgatory/purgatory.c In file included from purgatory/purgatory.c:4:0: ./purgatory/include/purgatory.h:4:6: warning: conflicting types for built-in function ?putchar? void putchar(int ch); ^ ./purgatory/include/purgatory.h:5:6: warning: conflicting types for built-in function ?sprintf? void sprintf(char *buffer, const char *fmt, ...) ^ ./purgatory/include/purgatory.h:7:6: warning: conflicting types for built-in function ?printf? void printf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); ^ [54/1855] aarch64-linux-gnu-gcc -DEM_AARCH64=183 -mcmodel=large -Wl,-Map=purgatory/purgatory.map -fno-stack-protector -Wundef -Werror-implicit-function-declaration -Wd eclaration-after-statement -Werror=implicit-int -Werror=strict-prototypes -I./purgatory/include -I./purgatory/arch/arm64/include -I./util_lib/include -I./inc lude -Iinclude -I/opt/skd/toolchain/linaro/bin_gcc_linaro/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/include -c - MD -o purgatory/printf.o purgatory/printf.c In file included from purgatory/printf.c:4:0: ./purgatory/include/purgatory.h:4:6: warning: conflicting types for built-in function ?putchar? void putchar(int ch); ^ ./purgatory/include/purgatory.h:5:6: warning: conflicting types for built-in function ?sprintf? void sprintf(char *buffer, const char *fmt, ...) ^ ./purgatory/include/purgatory.h:7:6: warning: conflicting types for built-in function ?printf? void printf(const char *fmt, ...) __attribute__ ((format (printf, 1, 2))); ^ purgatory/printf.c:36:6: warning: conflicting types for built-in function ?vsprintf? void vsprintf(char *buffer, const char *fmt, va_list args) ^ aarch64-linux-gnu-gcc -DEM_AARCH64=183 -mcmodel=large -Wl,-Map=purgatory/purgatory.map -fno-stack-protector -Wundef -Werror-implicit-function-declaration -Wd eclaration-after-statement -Werror=implicit-int -Werror=strict-prototypes -I./purgatory/include -I./purgatory/arch/arm64/include -I./util_lib/include -I./inc lude -Iinclude -I/opt/skd/toolchain/linaro/bin_gcc_linaro/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/include -c - MD -o purgatory/string.o purgatory/string.c aarch64-linux-gnu-gcc -mcmodel=large -Wl,-Map=purgatory/purgatory.map -fno-stack-protector -Wundef -Werror-implicit-function-declaration -Wdeclaration-after -statement -Werror=implicit-int -Werror=strict-prototypes -I./purgatory/include -I./purgatory/arch/arm64/include -I./util_lib/include -I./include -Iinclude - I/opt/skd/toolchain/linaro/bin_gcc_linaro/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/include -c -MD -o purgatory/ arch/arm64/entry.o purgatory/arch/arm64/entry.S aarch64-linux-gnu-gcc -DEM_AARCH64=183 -mcmodel=large -Wl,-Map=purgatory/purgatory.map -fno-stack-protector -Wundef -Werror-implicit-function-declaration -Wd eclaration-after-statement -Werror=implicit-int -Werror=strict-prototypes -I./purgatory/include -I./purgatory/arch/arm64/include -I./util_lib/include -I./inc lude -Iinclude -I/opt/skd/toolchain/linaro/bin_gcc_linaro/gcc-linaro-aarch64-linux-gnu-4.9-2014.09_linux/bin/../lib/gcc/aarch64-linux-gnu/4.9.2/include -c - MD -o purgatory/arch/arm64/purgatory-arm64.o purgatory/arch/arm64/purgatory-arm64.c ########################## end of build log ######################### gcc version used is $# aarch64-linux-gnu-gcc --version aarch64-linux-gnu-gcc (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09) 4.9.2 20140904 (prerelease) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. >> I use foundation model and the kernel image from >> https://git.linaro.org/people/geoff.levand/linux-kexec.git branch: >> origin/kexec-v6 and rootfs from Linaro >> (http://releases.linaro.org/14.09/openembedded/aarch64) >> >> The above error is not seen when I use kexec-tools branch: origin/kdump. >> >> Also wish to know how to verify the kdump feature. > > As I mentioned before, these patches only add kexec re-boot support. kdump has not been ported to arm64 yet. > > -Geoff > > >