Patchwork powerpc: fix segment mapping in vdso32

login
register
mail settings
Submitter Andreas Schwab
Date Oct. 3, 2009, 9:25 a.m.
Message ID <m2bpkoomlw.fsf@whitebox.home>
Download mbox | patch
Permalink /patch/34924/
State Accepted, archived
Commit 7de80284d60837f13ecb2347ba7bf57470309541
Delegated to: Benjamin Herrenschmidt
Headers show

Comments

Andreas Schwab - Oct. 3, 2009, 9:25 a.m.
Due to missing segment assignments the .text section was put in the NOTES
segment (and marked as NOTE section), and the .got was put in the DYNAMIC
segment.

Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
---
 arch/powerpc/kernel/vdso32/vdso32.lds.S |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Benjamin Herrenschmidt - Oct. 3, 2009, 11:22 a.m.
On Sat, 2009-10-03 at 11:25 +0200, Andreas Schwab wrote:
> Due to missing segment assignments the .text section was put in the NOTES
> segment (and marked as NOTE section), and the .got was put in the DYNAMIC
> segment.

Ouch, good catch ! Thanks.

Cheers,
Ben.

> Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
> ---
>  arch/powerpc/kernel/vdso32/vdso32.lds.S |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/vdso32/vdso32.lds.S b/arch/powerpc/kernel/vdso32/vdso32.lds.S
> index 904ef13..0546bcd 100644
> --- a/arch/powerpc/kernel/vdso32/vdso32.lds.S
> +++ b/arch/powerpc/kernel/vdso32/vdso32.lds.S
> @@ -25,7 +25,7 @@ SECTIONS
>  	. = ALIGN(16);
>  	.text		: {
>  		*(.text .stub .text.* .gnu.linkonce.t.* __ftr_alt_*)
> -	}
> +	}		      	      			:text
>  	PROVIDE(__etext = .);
>  	PROVIDE(_etext = .);
>  	PROVIDE(etext = .);
> @@ -56,7 +56,7 @@ SECTIONS
>  	.fixup		: { *(.fixup) }
>  
>  	.dynamic	: { *(.dynamic) }		:text	:dynamic
> -	.got		: { *(.got) }
> +	.got		: { *(.got) }			:text
>  	.plt		: { *(.plt) }
>  
>  	_end = .;
> -- 
> 1.6.4.4
>

Patch

diff --git a/arch/powerpc/kernel/vdso32/vdso32.lds.S b/arch/powerpc/kernel/vdso32/vdso32.lds.S
index 904ef13..0546bcd 100644
--- a/arch/powerpc/kernel/vdso32/vdso32.lds.S
+++ b/arch/powerpc/kernel/vdso32/vdso32.lds.S
@@ -25,7 +25,7 @@  SECTIONS
 	. = ALIGN(16);
 	.text		: {
 		*(.text .stub .text.* .gnu.linkonce.t.* __ftr_alt_*)
-	}
+	}		      	      			:text
 	PROVIDE(__etext = .);
 	PROVIDE(_etext = .);
 	PROVIDE(etext = .);
@@ -56,7 +56,7 @@  SECTIONS
 	.fixup		: { *(.fixup) }
 
 	.dynamic	: { *(.dynamic) }		:text	:dynamic
-	.got		: { *(.got) }
+	.got		: { *(.got) }			:text
 	.plt		: { *(.plt) }
 
 	_end = .;