[PATCH] powerpc/srio: Fix the relocation errors when building with 64bit

Bounine, Alexandre Alexandre.Bounine at idt.com
Wed Mar 7 01:35:02 EST 2012


On Mon, March 05, 2012 9:58 PM, Liu Gang wrote:
> Subject: [PATCH] powerpc/srio: Fix the relocation errors when building
> with 64bit
> 
> For the file "arch/powerpc/sysdev/fsl_rio.c", there will be some
> relocation errors while using the corenet64_smp_defconfig:
> 
> WARNING: modpost: Found 6 section mismatch(es).
> To see full details build your kernel with:
> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>   GEN     .version
>   CHK     include/generated/compile.h
>   UPD     include/generated/compile.h
>   CC      init/version.o
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
> arch/powerpc/sysdev/built-in.o:(__ex_table+0x0):
> 	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3208
> arch/powerpc/sysdev/built-in.o:(__ex_table+0x2):
> 	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'
> arch/powerpc/sysdev/built-in.o:(__ex_table+0x4):
> 	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3230
> arch/powerpc/sysdev/built-in.o:(__ex_table+0x6):
> 	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'+c
> arch/powerpc/sysdev/built-in.o:(__ex_table+0x8):
> 	relocation truncated to fit: R_PPC64_ADDR16 against `.text'+3250
> arch/powerpc/sysdev/built-in.o:(__ex_table+0xa):
> 	relocation truncated to fit: R_PPC64_ADDR16 against `.fixup'+18
> 
> Rewrote the corresponding code with the support of 64bit building.
> 
> Signed-off-by: Liu Gang <Gang.Liu at freescale.com>
> ---
>  arch/powerpc/sysdev/fsl_rio.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/sysdev/fsl_rio.c
> b/arch/powerpc/sysdev/fsl_rio.c index a4c4f4a..5b6f556 100644
> --- a/arch/powerpc/sysdev/fsl_rio.c
> +++ b/arch/powerpc/sysdev/fsl_rio.c
> @@ -66,8 +66,8 @@
>  		"	li %0,%3\n"			\
>  		"	b 2b\n"				\
>  		".section __ex_table,\"a\"\n"		\
> -		"	.align 2\n"			\
> -		"	.long 1b,3b\n"			\
> +			PPC_LONG_ALIGN "\n"		\
> +			PPC_LONG "1b,3b\n"		\
>  		".text"					\
>  		: "=r" (err), "=r" (x)			\
>  		: "b" (addr), "i" (-EFAULT), "0" (err))
> --
> 1.7.0.4
> 

Looks good to me. Ack-ed.



More information about the Linuxppc-dev mailing list