FW: [PATCH 0/8] arm64 kexec kernel patches V6

Anurup M anurup.m at huawei.com
Thu Nov 20 04:05:53 PST 2014


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
> 
> 
> 




More information about the kexec mailing list