Subject: Re: [PATCH 2/8] powerpc: share .data output section definition between 32 and 64 bits.

From: Michael Ellerman <[email-masked]>
Date: Fri, 01 May 2009 11:46:42 +1000

On Thu, 2009-04-30 at 19:56 -0400, Tim Abbott wrote:
> Since upcoming changes will add several more common pieces of code
> between the 32-bit and 64-bit powerpc architectures, it seems best to
> unify these two blocks.
> 
> Signed-off-by: Tim Abbott <[email-masked]>
> Cc: Benjamin Herrenschmidt <[email-masked]>
> Cc: Paul Mackerras <[email-masked]>
> Cc: [email-masked]
> ---
>  arch/powerpc/kernel/vmlinux.lds.S |    7 +++----
>  1 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
> index a047a6c..47899b0 100644
> --- a/arch/powerpc/kernel/vmlinux.lds.S
> +++ b/arch/powerpc/kernel/vmlinux.lds.S
> @@ -220,20 +220,19 @@ SECTIONS
>  	. = ALIGN(PAGE_SIZE);
>  	_sdata = .;
>  
> -#ifdef CONFIG_PPC32
>  	.data : AT(ADDR(.data) - LOAD_OFFSET) {
>  		DATA_DATA
> +#ifdef CONFIG_PPC32
>  		*(.sdata)
>  		*(.got.plt) *(.got)
> -	}
>  #else
> -	.data : AT(ADDR(.data) - LOAD_OFFSET) {
> -		DATA_DATA
>  		*(.data.rel*)
>  		*(.toc1)
>  		*(.branch_lt)
> +#endif
>  	}
>  
> +#ifndef CONFIG_PPC32
>  	.opd : AT(ADDR(.opd) - LOAD_OFFSET) {
>  		*(.opd)
>  	}

This would be clearer in the positive, as in #ifdef CONFIG_PPC64.

cheers