public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] clean up page aligned data and bss sections
@ 2009-04-27 20:32 Tim Abbott
  2009-04-27 20:32 ` [PATCH 01/14] Add new macros for page-aligned " Tim Abbott
  0 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:32 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott

Sam,

This patch series add new macros for .data.page_aligned and
.bss.page_aligned, and converts the various architectures to use them.
It also eliminates the few remaining uses of .data.idt by replacing
them with references to .data.page_aligned.

This patch series is a bunch of cleanup in preparation for being able
to change the names of the .data.page_aligned and .bss.page_aligned
sections to be compatabible with -ffunction-sections -fdata-sections.

The x86 patches are on top of the your commit in the x86/kbuild of
linux-tip entitled:

    x86: beautify vmlinux_64.lds.S

    -Tim Abbott

--

Tim Abbott (14):
  Add new macros for page-aligned data and bss sections.
  sh: Use macros for .bss.page_aligned section.
  mn10300: Use macros for .bss.page_aligned section.
  xtensa: Use macros for .bss.page_aligned section.
  x86: Use macros for .bss.page_aligned section.
  alpha: Use macros for .data.page_aligned.
  avr32: Use standard macros for .data.page_aligned section.
  sh: Use macros for .data.page_aligned section.
  s390: Use macros for .data.page_aligned.
  powerpc: Remove unused __page_aligned macro.
  powerpc: Use macros for .data.page_aligned section.
  mn10300: Drop unused .data.idt section.
  x86: Use section .data.page_aligned for the idt_table.
  x86: Use macros for .data.page_aligned.

 arch/alpha/kernel/vmlinux.lds.S             |    6 +-----
 arch/avr32/kernel/vmlinux.lds.S             |    3 +--
 arch/avr32/mm/init.c                        |    4 +---
 arch/mn10300/kernel/vmlinux.lds.S           |    5 +----
 arch/powerpc/include/asm/page_64.h          |    8 --------
 arch/powerpc/kernel/vdso.c                  |    2 +-
 arch/powerpc/kernel/vdso32/vdso32_wrapper.S |    3 ++-
 arch/powerpc/kernel/vdso64/vdso64_wrapper.S |    3 ++-
 arch/powerpc/kernel/vmlinux.lds.S           |    6 +-----
 arch/s390/kernel/vdso.c                     |    2 +-
 arch/s390/kernel/vdso32/vdso32_wrapper.S    |    3 ++-
 arch/s390/kernel/vdso64/vdso64_wrapper.S    |    3 ++-
 arch/s390/kernel/vmlinux.lds.S              |    6 +-----
 arch/sh/kernel/irq.c                        |    6 ++----
 arch/sh/kernel/vmlinux_32.lds.S             |    5 ++---
 arch/sh/kernel/vmlinux_64.lds.S             |    5 ++---
 arch/x86/kernel/head_32.S                   |    4 ++--
 arch/x86/kernel/head_64.S                   |    2 +-
 arch/x86/kernel/traps.c                     |    6 ++----
 arch/x86/kernel/vmlinux_32.lds.S            |    9 ++-------
 arch/x86/kernel/vmlinux_64.lds.S            |    8 ++------
 arch/xtensa/kernel/head.S                   |    2 +-
 arch/xtensa/kernel/vmlinux.lds.S            |    2 +-
 include/asm-generic/vmlinux.lds.h           |    8 ++++++++
 include/linux/linkage.h                     |    9 +++++++++
 25 files changed, 50 insertions(+), 70 deletions(-)


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH 01/14] Add new macros for page-aligned data and bss sections.
  2009-04-27 20:32 [PATCH 00/14] clean up page aligned data and bss sections Tim Abbott
@ 2009-04-27 20:32 ` Tim Abbott
  2009-04-27 20:32   ` [PATCH 02/14] sh: Use macros for .bss.page_aligned section Tim Abbott
  0 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:32 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Sam Ravnborg

This patch is preparation for replacing most uses of
".bss.page_aligned" and ".data.page_aligned" in the kernel with
macros, so that the section name can later be changed without having
to touch a lot of the kernel.

The long-term goal here is to be able to change the kernel's magic
section names to those that are compatible with -ffunction-sections
-fdata-sections.  This requires renaming all magic sections with names
of the form ".data.foo".

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Sam Ravnborg <sam@ravnborg.org>
---
 include/asm-generic/vmlinux.lds.h |    8 ++++++++
 include/linux/linkage.h           |    9 +++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)

diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 89853bc..d6ae1bd 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -116,6 +116,14 @@
 	FTRACE_EVENTS()							\
 	TRACE_SYSCALLS()
 
+#define PAGE_ALIGNED_DATA						\
+	. = ALIGN(PAGE_SIZE)						\
+	*(.data.page_aligned)
+
+#define PAGE_ALIGNED_BSS						\
+	. = ALIGN(PAGE_SIZE)						\
+	*(.bss.page_aligned)
+
 #define RO_DATA(align)							\
 	. = ALIGN((align));						\
 	.rodata           : AT(ADDR(.rodata) - LOAD_OFFSET) {		\
diff --git a/include/linux/linkage.h b/include/linux/linkage.h
index fee9e59..af051fc 100644
--- a/include/linux/linkage.h
+++ b/include/linux/linkage.h
@@ -22,6 +22,15 @@
 #define __page_aligned_bss	__section(.bss.page_aligned) __aligned(PAGE_SIZE)
 
 /*
+ * For assembly routines.
+ *
+ * Note when using these that you must specify the appropriate
+ * alignment directives yourself
+ */
+#define __PAGE_ALIGNED_DATA	.section ".data.page_aligned", "aw", @progbits
+#define __PAGE_ALIGNED_BSS	.section ".bss.page_aligned", "aw", @nobits
+
+/*
  * This is used by architectures to keep arguments on the stack
  * untouched by the compiler by keeping them live until the end.
  * The argument stack may be owned by the assembly-language
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 02/14] sh: Use macros for .bss.page_aligned section.
  2009-04-27 20:32 ` [PATCH 01/14] Add new macros for page-aligned " Tim Abbott
@ 2009-04-27 20:32   ` Tim Abbott
  2009-04-27 20:32     ` [PATCH 03/14] mn10300: " Tim Abbott
  2009-04-27 21:57     ` [PATCH 02/14] sh: " Paul Mundt
  0 siblings, 2 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:32 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Paul Mundt <lethal@linux-sh.org>
---
 arch/sh/kernel/irq.c            |    6 ++----
 arch/sh/kernel/vmlinux_32.lds.S |    2 +-
 arch/sh/kernel/vmlinux_64.lds.S |    2 +-
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index 3f1372e..9853fde 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -157,11 +157,9 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs)
 }
 
 #ifdef CONFIG_IRQSTACKS
-static char softirq_stack[NR_CPUS * THREAD_SIZE]
-		__attribute__((__section__(".bss.page_aligned")));
+static char softirq_stack[NR_CPUS * THREAD_SIZE] __page_aligned_bss;
 
-static char hardirq_stack[NR_CPUS * THREAD_SIZE]
-		__attribute__((__section__(".bss.page_aligned")));
+static char hardirq_stack[NR_CPUS * THREAD_SIZE] __page_aligned_bss;
 
 /*
  * allocate per-cpu stacks for hardirq and for softirq processing
diff --git a/arch/sh/kernel/vmlinux_32.lds.S b/arch/sh/kernel/vmlinux_32.lds.S
index dd9b2ee..99a4124 100644
--- a/arch/sh/kernel/vmlinux_32.lds.S
+++ b/arch/sh/kernel/vmlinux_32.lds.S
@@ -131,7 +131,7 @@ SECTIONS
 	.bss : {
 		__init_end = .;
 		__bss_start = .;		/* BSS */
-		*(.bss.page_aligned)
+		PAGE_ALIGNED_BSS
 		*(.bss)
 		*(COMMON)
 		. = ALIGN(4);
diff --git a/arch/sh/kernel/vmlinux_64.lds.S b/arch/sh/kernel/vmlinux_64.lds.S
index 6966446..cb46577 100644
--- a/arch/sh/kernel/vmlinux_64.lds.S
+++ b/arch/sh/kernel/vmlinux_64.lds.S
@@ -140,7 +140,7 @@ SECTIONS
 	.bss : C_PHYS(.bss) {
 		__init_end = .;
 		__bss_start = .;		/* BSS */
-		*(.bss.page_aligned)
+		PAGE_ALIGNED_BSS
 		*(.bss)
 		*(COMMON)
 		. = ALIGN(4);
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section.
  2009-04-27 20:32   ` [PATCH 02/14] sh: Use macros for .bss.page_aligned section Tim Abbott
@ 2009-04-27 20:32     ` Tim Abbott
  2009-04-27 20:32       ` [PATCH 04/14] xtensa: " Tim Abbott
  2009-04-27 23:43       ` [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section David Howells
  2009-04-27 21:57     ` [PATCH 02/14] sh: " Paul Mundt
  1 sibling, 2 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:32 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	David Howells

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: David Howells <dhowells@redhat.com>
---
 arch/mn10300/kernel/vmlinux.lds.S |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/mn10300/kernel/vmlinux.lds.S b/arch/mn10300/kernel/vmlinux.lds.S
index 24de6b9..6ad0fa8 100644
--- a/arch/mn10300/kernel/vmlinux.lds.S
+++ b/arch/mn10300/kernel/vmlinux.lds.S
@@ -131,7 +131,7 @@ SECTIONS
 
   __bss_start = .;		/* BSS */
   .bss : {
-	*(.bss.page_aligned)
+	PAGE_ALIGNED_BSS
 	*(.bss)
   }
   . = ALIGN(4);
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 04/14] xtensa: Use macros for .bss.page_aligned section.
  2009-04-27 20:32     ` [PATCH 03/14] mn10300: " Tim Abbott
@ 2009-04-27 20:32       ` Tim Abbott
  2009-04-27 20:32         ` [PATCH 05/14] x86: " Tim Abbott
  2009-04-27 23:43       ` [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section David Howells
  1 sibling, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:32 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Chris Zankel

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Chris Zankel <chris@zankel.net>
---
 arch/xtensa/kernel/head.S        |    2 +-
 arch/xtensa/kernel/vmlinux.lds.S |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/xtensa/kernel/head.S b/arch/xtensa/kernel/head.S
index d9ddc1b..d215adc 100644
--- a/arch/xtensa/kernel/head.S
+++ b/arch/xtensa/kernel/head.S
@@ -235,7 +235,7 @@ should_never_return:
  * BSS section
  */
 	
-.section ".bss.page_aligned", "w"
+__PAGE_ALIGNED_BSS
 #ifdef CONFIG_MMU
 ENTRY(swapper_pg_dir)
 	.fill	PAGE_SIZE, 1, 0
diff --git a/arch/xtensa/kernel/vmlinux.lds.S b/arch/xtensa/kernel/vmlinux.lds.S
index 5accf51..f96f354 100644
--- a/arch/xtensa/kernel/vmlinux.lds.S
+++ b/arch/xtensa/kernel/vmlinux.lds.S
@@ -262,7 +262,7 @@ SECTIONS
 
   /* BSS section */
   _bss_start = .;
-  .bss : { *(.bss.page_aligned) *(.bss) }
+  .bss : { PAGE_ALIGNED_BSS *(.bss) }
   _bss_end = .;
 
   _end = .;
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 05/14] x86: Use macros for .bss.page_aligned section.
  2009-04-27 20:32       ` [PATCH 04/14] xtensa: " Tim Abbott
@ 2009-04-27 20:32         ` Tim Abbott
  2009-04-27 20:33           ` [PATCH 06/14] alpha: Use macros for .data.page_aligned Tim Abbott
  0 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:32 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
---
 arch/x86/kernel/head_32.S        |    2 +-
 arch/x86/kernel/head_64.S        |    2 +-
 arch/x86/kernel/vmlinux_32.lds.S |    2 +-
 arch/x86/kernel/vmlinux_64.lds.S |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index a299ecc..9694aee 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -618,7 +618,7 @@ ENTRY(_stext)
 /*
  * BSS section
  */
-.section ".bss.page_aligned","wa"
+__PAGE_ALIGNED_BSS
 	.align PAGE_SIZE_asm
 #ifdef CONFIG_X86_PAE
 swapper_pg_pmd:
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index dbb6fb5..7cd4956 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -419,7 +419,7 @@ ENTRY(phys_base)
 ENTRY(idt_table)
 	.skip IDT_ENTRIES * 16
 
-	.section .bss.page_aligned, "aw", @nobits
+	__PAGE_ALIGNED_BSS
 	.align PAGE_SIZE
 ENTRY(empty_zero_page)
 	.skip PAGE_SIZE
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S
index bfe9efd..594aabc 100644
--- a/arch/x86/kernel/vmlinux_32.lds.S
+++ b/arch/x86/kernel/vmlinux_32.lds.S
@@ -182,7 +182,7 @@ SECTIONS
   .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
 	__init_end = .;
 	__bss_start = .;		/* BSS */
-	*(.bss.page_aligned)
+	PAGE_ALIGNED_BSS
 	*(.bss)
 	. = ALIGN(4);
 	__bss_stop = .;
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S
index 0e27ecd..9b52841 100644
--- a/arch/x86/kernel/vmlinux_64.lds.S
+++ b/arch/x86/kernel/vmlinux_64.lds.S
@@ -283,7 +283,7 @@ SECTIONS
 	.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
 		. = ALIGN(PAGE_SIZE);
 		__bss_start = .;		/* BSS */
-		*(.bss.page_aligned)
+		PAGE_ALIGNED_BSS
 		*(.bss)
 		__bss_stop = .;
 	}
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 06/14] alpha: Use macros for .data.page_aligned.
  2009-04-27 20:32         ` [PATCH 05/14] x86: " Tim Abbott
@ 2009-04-27 20:33           ` Tim Abbott
  2009-04-27 20:33             ` [PATCH 07/14] avr32: Use standard macros for .data.page_aligned section Tim Abbott
  0 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Richard Henderson

.data.page_aligned should not need a separate output section, so as
part of this cleanup I moved into the .data output section in the
linker scripts in order to eliminate unnecessary references to the
section name.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Richard Henderson <rth@twiddle.net>
---
 arch/alpha/kernel/vmlinux.lds.S |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/arch/alpha/kernel/vmlinux.lds.S b/arch/alpha/kernel/vmlinux.lds.S
index b9d6568..2f33cf9 100644
--- a/arch/alpha/kernel/vmlinux.lds.S
+++ b/arch/alpha/kernel/vmlinux.lds.S
@@ -97,11 +97,6 @@ SECTIONS
 		*(.data.init_thread)
 	}
 
-	. = ALIGN(PAGE_SIZE);
-	.data.page_aligned : {
-		*(.data.page_aligned)
-	}
-
 	. = ALIGN(64);
 	.data.cacheline_aligned : {
 		*(.data.cacheline_aligned)
@@ -110,6 +105,7 @@ SECTIONS
 	_data = .;
 	/* Data */
 	.data : {
+		PAGE_ALIGNED_DATA
 		DATA_DATA
 		CONSTRUCTORS
 	}
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 07/14] avr32: Use standard macros for .data.page_aligned section.
  2009-04-27 20:33           ` [PATCH 06/14] alpha: Use macros for .data.page_aligned Tim Abbott
@ 2009-04-27 20:33             ` Tim Abbott
  2009-04-27 20:33               ` [PATCH 08/14] sh: Use " Tim Abbott
  2009-04-28 14:49               ` [PATCH 07/14] avr32: Use standard " Haavard Skinnemoen
  0 siblings, 2 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Haavard Skinnemoen

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 arch/avr32/kernel/vmlinux.lds.S |    3 +--
 arch/avr32/mm/init.c            |    4 +---
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/avr32/kernel/vmlinux.lds.S b/arch/avr32/kernel/vmlinux.lds.S
index 7910d41..36d676f 100644
--- a/arch/avr32/kernel/vmlinux.lds.S
+++ b/arch/avr32/kernel/vmlinux.lds.S
@@ -98,8 +98,7 @@ SECTIONS
 		*(.data.init_task)
 
 		/* Then, the page-aligned data */
-		. = ALIGN(PAGE_SIZE);
-		*(.data.page_aligned)
+		PAGE_ALIGNED_DATA
 
 		/* Then, the cacheline aligned data */
 		. = ALIGN(L1_CACHE_BYTES);
diff --git a/arch/avr32/mm/init.c b/arch/avr32/mm/init.c
index e819fa6..cc60d10 100644
--- a/arch/avr32/mm/init.c
+++ b/arch/avr32/mm/init.c
@@ -24,11 +24,9 @@
 #include <asm/setup.h>
 #include <asm/sections.h>
 
-#define __page_aligned	__attribute__((section(".data.page_aligned")))
-
 DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
 
-pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned;
+pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned_data;
 
 struct page *empty_zero_page;
 EXPORT_SYMBOL(empty_zero_page);
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 08/14] sh: Use macros for .data.page_aligned section.
  2009-04-27 20:33             ` [PATCH 07/14] avr32: Use standard macros for .data.page_aligned section Tim Abbott
@ 2009-04-27 20:33               ` Tim Abbott
  2009-04-27 20:33                 ` [PATCH 09/14] s390: Use macros for .data.page_aligned Tim Abbott
  2009-04-27 21:57                 ` [PATCH 08/14] sh: Use macros for .data.page_aligned section Paul Mundt
  2009-04-28 14:49               ` [PATCH 07/14] avr32: Use standard " Haavard Skinnemoen
  1 sibling, 2 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Paul Mundt <lethal@linux-sh.org>
---
 arch/sh/kernel/vmlinux_32.lds.S |    3 +--
 arch/sh/kernel/vmlinux_64.lds.S |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/sh/kernel/vmlinux_32.lds.S b/arch/sh/kernel/vmlinux_32.lds.S
index 99a4124..325af0b 100644
--- a/arch/sh/kernel/vmlinux_32.lds.S
+++ b/arch/sh/kernel/vmlinux_32.lds.S
@@ -69,8 +69,7 @@ SECTIONS
 		. = ALIGN(L1_CACHE_BYTES);
 		*(.data.read_mostly)
 
-		. = ALIGN(PAGE_SIZE);
-		*(.data.page_aligned)
+		PAGE_ALIGNED_DATA
 
 		__nosave_begin = .;
 		*(.data.nosave)
diff --git a/arch/sh/kernel/vmlinux_64.lds.S b/arch/sh/kernel/vmlinux_64.lds.S
index cb46577..b222700 100644
--- a/arch/sh/kernel/vmlinux_64.lds.S
+++ b/arch/sh/kernel/vmlinux_64.lds.S
@@ -78,8 +78,7 @@ SECTIONS
 		. = ALIGN(L1_CACHE_BYTES);
 		*(.data.read_mostly)
 
-		. = ALIGN(PAGE_SIZE);
-		*(.data.page_aligned)
+		PAGE_ALIGNED_DATA
 
 		__nosave_begin = .;
 		*(.data.nosave)
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 09/14] s390: Use macros for .data.page_aligned.
  2009-04-27 20:33               ` [PATCH 08/14] sh: Use " Tim Abbott
@ 2009-04-27 20:33                 ` Tim Abbott
  2009-04-27 20:33                   ` [PATCH 10/14] powerpc: Remove unused __page_aligned macro Tim Abbott
  2009-04-28  7:39                   ` [PATCH 09/14] s390: Use macros for .data.page_aligned Cyrill Gorcunov
  2009-04-27 21:57                 ` [PATCH 08/14] sh: Use macros for .data.page_aligned section Paul Mundt
  1 sibling, 2 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Martin Schwidefsky, Cyrill Gorcunov, Sam Ravnborg

.data.page_aligned should not need a separate output section, so as
part of this cleanup I moved into the .data output section in the
linker scripts in order to eliminate unnecessary references to the
section name.

Remove the reference to .data.idt, since nothing is put into the
.data.idt section on the s390 architecture.  It looks like Cyrill
Gorcunov posted a patch to remove the .data.idt code on s390
previously:

<http://lkml.indiana.edu/hypermail/linux/kernel/0802.2/2536.html>

CCing him and the people who acked that patch in case there's a reason
it wasn't applied.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
---
 arch/s390/kernel/vdso.c                  |    2 +-
 arch/s390/kernel/vdso32/vdso32_wrapper.S |    3 ++-
 arch/s390/kernel/vdso64/vdso64_wrapper.S |    3 ++-
 arch/s390/kernel/vmlinux.lds.S           |    6 +-----
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c
index 89b2e7f..eff6fba 100644
--- a/arch/s390/kernel/vdso.c
+++ b/arch/s390/kernel/vdso.c
@@ -64,7 +64,7 @@ __setup("vdso=", vdso_setup);
 static union {
 	struct vdso_data	data;
 	u8			page[PAGE_SIZE];
-} vdso_data_store __attribute__((__section__(".data.page_aligned")));
+} vdso_data_store __page_aligned_data
 struct vdso_data *vdso_data = &vdso_data_store.data;
 
 /*
diff --git a/arch/s390/kernel/vdso32/vdso32_wrapper.S b/arch/s390/kernel/vdso32/vdso32_wrapper.S
index 61639a8..ae42f8c 100644
--- a/arch/s390/kernel/vdso32/vdso32_wrapper.S
+++ b/arch/s390/kernel/vdso32/vdso32_wrapper.S
@@ -1,7 +1,8 @@
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/page.h>
 
-	.section ".data.page_aligned"
+	__PAGE_ALIGNED_DATA
 
 	.globl vdso32_start, vdso32_end
 	.balign PAGE_SIZE
diff --git a/arch/s390/kernel/vdso64/vdso64_wrapper.S b/arch/s390/kernel/vdso64/vdso64_wrapper.S
index d8e2ac1..c245842 100644
--- a/arch/s390/kernel/vdso64/vdso64_wrapper.S
+++ b/arch/s390/kernel/vdso64/vdso64_wrapper.S
@@ -1,7 +1,8 @@
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/page.h>
 
-	.section ".data.page_aligned"
+	__PAGE_ALIGNED_DATA
 
 	.globl vdso64_start, vdso64_end
 	.balign PAGE_SIZE
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
index 89399b8..d552089 100644
--- a/arch/s390/kernel/vmlinux.lds.S
+++ b/arch/s390/kernel/vmlinux.lds.S
@@ -59,6 +59,7 @@ SECTIONS
 	} :data
 
 	.data : {		/* Data */
+		PAGE_ALIGNED_DATA
 		DATA_DATA
 		CONSTRUCTORS
 	}
@@ -71,11 +72,6 @@ SECTIONS
 	. = ALIGN(PAGE_SIZE);
 	__nosave_end = .;
 
-	. = ALIGN(PAGE_SIZE);
-	.data.page_aligned : {
-		*(.data.idt)
-	}
-
 	. = ALIGN(0x100);
 	.data.cacheline_aligned : {
 		*(.data.cacheline_aligned)
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 10/14] powerpc: Remove unused __page_aligned macro.
  2009-04-27 20:33                 ` [PATCH 09/14] s390: Use macros for .data.page_aligned Tim Abbott
@ 2009-04-27 20:33                   ` Tim Abbott
  2009-04-27 20:33                     ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
  2009-04-28  7:39                   ` [PATCH 09/14] s390: Use macros for .data.page_aligned Cyrill Gorcunov
  1 sibling, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Benjamin Herrenschmidt

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 arch/powerpc/include/asm/page_64.h |    8 --------
 1 files changed, 0 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/include/asm/page_64.h b/arch/powerpc/include/asm/page_64.h
index 043bfdf..20f9c74 100644
--- a/arch/powerpc/include/asm/page_64.h
+++ b/arch/powerpc/include/asm/page_64.h
@@ -152,14 +152,6 @@ do {						\
 
 #endif /* !CONFIG_HUGETLB_PAGE */
 
-#ifdef MODULE
-#define __page_aligned __attribute__((__aligned__(PAGE_SIZE)))
-#else
-#define __page_aligned \
-	__attribute__((__aligned__(PAGE_SIZE), \
-		__section__(".data.page_aligned")))
-#endif
-
 #define VM_DATA_DEFAULT_FLAGS \
 	(test_thread_flag(TIF_32BIT) ? \
 	 VM_DATA_DEFAULT_FLAGS32 : VM_DATA_DEFAULT_FLAGS64)
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 11/14] powerpc: Use macros for .data.page_aligned section.
  2009-04-27 20:33                   ` [PATCH 10/14] powerpc: Remove unused __page_aligned macro Tim Abbott
@ 2009-04-27 20:33                     ` Tim Abbott
  2009-04-27 20:33                       ` [PATCH 12/14] mn10300: Drop unused .data.idt section Tim Abbott
                                         ` (2 more replies)
  0 siblings, 3 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Benjamin Herrenschmidt

.data.page_aligned should not need a separate output section, so as
part of this cleanup I moved into the .data output section in the
linker scripts in order to eliminate unnecessary references to the
section name.

Note that this change moves the page-aligned data inside _edata.
Since it _is_ data, I suspect having page-aligned data outside _edata
was a bug.  Please comment if it is not.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 arch/powerpc/kernel/vdso.c                  |    2 +-
 arch/powerpc/kernel/vdso32/vdso32_wrapper.S |    3 ++-
 arch/powerpc/kernel/vdso64/vdso64_wrapper.S |    3 ++-
 arch/powerpc/kernel/vmlinux.lds.S           |    6 +-----
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index ad06d5c..841910a 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -74,7 +74,7 @@ static int vdso_ready;
 static union {
 	struct vdso_data	data;
 	u8			page[PAGE_SIZE];
-} vdso_data_store __attribute__((__section__(".data.page_aligned")));
+} vdso_data_store __page_aligned_data
 struct vdso_data *vdso_data = &vdso_data_store.data;
 
 /* Format of the patch table */
diff --git a/arch/powerpc/kernel/vdso32/vdso32_wrapper.S b/arch/powerpc/kernel/vdso32/vdso32_wrapper.S
index 556f0ca..6e8f507 100644
--- a/arch/powerpc/kernel/vdso32/vdso32_wrapper.S
+++ b/arch/powerpc/kernel/vdso32/vdso32_wrapper.S
@@ -1,7 +1,8 @@
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/page.h>
 
-	.section ".data.page_aligned"
+	__PAGE_ALIGNED_DATA
 
 	.globl vdso32_start, vdso32_end
 	.balign PAGE_SIZE
diff --git a/arch/powerpc/kernel/vdso64/vdso64_wrapper.S b/arch/powerpc/kernel/vdso64/vdso64_wrapper.S
index 0529cb9..b8553d6 100644
--- a/arch/powerpc/kernel/vdso64/vdso64_wrapper.S
+++ b/arch/powerpc/kernel/vdso64/vdso64_wrapper.S
@@ -1,7 +1,8 @@
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/page.h>
 
-	.section ".data.page_aligned"
+	__PAGE_ALIGNED_DATA
 
 	.globl vdso64_start, vdso64_end
 	.balign PAGE_SIZE
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 433ae11..cb4a7ca 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -222,6 +222,7 @@ SECTIONS
 
 #ifdef CONFIG_PPC32
 	.data : AT(ADDR(.data) - LOAD_OFFSET) {
+		PAGE_ALIGNED_DATA
 		DATA_DATA
 		*(.sdata)
 		*(.got.plt) *(.got)
@@ -259,11 +260,6 @@ SECTIONS
 		*(.data.init_task)
 	}
 
-	. = ALIGN(PAGE_SIZE);
-	.data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
-		*(.data.page_aligned)
-	}
-
 	.data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
 		*(.data.cacheline_aligned)
 	}
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 12/14] mn10300: Drop unused .data.idt section.
  2009-04-27 20:33                     ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
@ 2009-04-27 20:33                       ` Tim Abbott
  2009-04-27 20:33                         ` [PATCH 13/14] x86: Use section .data.page_aligned for the idt_table Tim Abbott
  2009-04-28  4:41                         ` [PATCH 12/14] mn10300: Drop unused .data.idt section Cyrill Gorcunov
  2009-04-28  4:20                       ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
  2009-04-28 15:07                       ` [PATCH 11/14] " Stephen Rothwell
  2 siblings, 2 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	David Howells, Cyrill Gorcunov, Sam Ravnborg

Since nothing gets put into .data.idt on this architecture, eliminate
it from the linker script.

This change was apparently proposed previously:
<http://lkml.indiana.edu/hypermail/linux/kernel/0802.2/2538.html>

CCing the author and people who acked that patch in case there was a
reason it wasn't applied.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: David Howells <dhowells@redhat.com>
Cc: Cyrill Gorcunov <gorcunov@openvz.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
---
 arch/mn10300/kernel/vmlinux.lds.S |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/arch/mn10300/kernel/vmlinux.lds.S b/arch/mn10300/kernel/vmlinux.lds.S
index 6ad0fa8..364250f 100644
--- a/arch/mn10300/kernel/vmlinux.lds.S
+++ b/arch/mn10300/kernel/vmlinux.lds.S
@@ -59,9 +59,6 @@ SECTIONS
   . = ALIGN(PAGE_SIZE);
   __nosave_end = .;
 
-  . = ALIGN(PAGE_SIZE);
-  .data.page_aligned : { *(.data.idt) }
-
   . = ALIGN(32);
   .data.cacheline_aligned : { *(.data.cacheline_aligned) }
 
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 13/14] x86: Use section .data.page_aligned for the idt_table.
  2009-04-27 20:33                       ` [PATCH 12/14] mn10300: Drop unused .data.idt section Tim Abbott
@ 2009-04-27 20:33                         ` Tim Abbott
  2009-04-27 20:33                           ` [PATCH 14/14] x86: Use macros for .data.page_aligned Tim Abbott
  2009-04-28  4:41                         ` [PATCH 12/14] mn10300: Drop unused .data.idt section Cyrill Gorcunov
  1 sibling, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Ingo Molnar

The .data.idt section is just squashed into the .data.page_aligned
output section by the linker script anyway, so it might as well be in
the .data.page_aligned section.

This eliminates all references to .data.idt on x86.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Ingo Molnar <mingo@redhat.com>
---
 arch/x86/kernel/traps.c          |    6 ++----
 arch/x86/kernel/vmlinux_32.lds.S |    1 -
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
index a1d2883..d7affb7 100644
--- a/arch/x86/kernel/traps.c
+++ b/arch/x86/kernel/traps.c
@@ -73,11 +73,9 @@ char ignore_fpu_irq;
 
 /*
  * The IDT has to be page-aligned to simplify the Pentium
- * F0 0F bug workaround.. We have a special link segment
- * for this.
+ * F0 0F bug workaround.
  */
-gate_desc idt_table[256]
-	__attribute__((__section__(".data.idt"))) = { { { { 0, 0 } } }, };
+gate_desc idt_table[256] __page_aligned_data = { { { { 0, 0 } } }, };
 #endif
 
 DECLARE_BITMAP(used_vectors, NR_VECTORS);
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S
index 594aabc..a57d39c 100644
--- a/arch/x86/kernel/vmlinux_32.lds.S
+++ b/arch/x86/kernel/vmlinux_32.lds.S
@@ -76,7 +76,6 @@ SECTIONS
   . = ALIGN(PAGE_SIZE);
   .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
 	*(.data.page_aligned)
-	*(.data.idt)
   }
 
   . = ALIGN(32);
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 14/14] x86: Use macros for .data.page_aligned.
  2009-04-27 20:33                         ` [PATCH 13/14] x86: Use section .data.page_aligned for the idt_table Tim Abbott
@ 2009-04-27 20:33                           ` Tim Abbott
  0 siblings, 0 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 20:33 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Ingo Molnar

.data.page_aligned should not need a separate output section.  So, as
part of this cleanup I moved it into the .data output section in the
linker scripts in order to eliminate unnecessary references to the
section name.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Ingo Molnar <mingo@redhat.com>
---
 arch/x86/kernel/head_32.S        |    2 +-
 arch/x86/kernel/vmlinux_32.lds.S |    6 +-----
 arch/x86/kernel/vmlinux_64.lds.S |    6 +-----
 3 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index 9694aee..ad0510d 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -636,7 +636,7 @@ ENTRY(empty_zero_page)
  * This starts the data section.
  */
 #ifdef CONFIG_X86_PAE
-.section ".data.page_aligned","wa"
+__PAGE_ALIGNED_DATA
 	/* Page-aligned for the benefit of paravirt? */
 	.align PAGE_SIZE_asm
 ENTRY(swapper_pg_dir)
diff --git a/arch/x86/kernel/vmlinux_32.lds.S b/arch/x86/kernel/vmlinux_32.lds.S
index a57d39c..b458ab4 100644
--- a/arch/x86/kernel/vmlinux_32.lds.S
+++ b/arch/x86/kernel/vmlinux_32.lds.S
@@ -61,6 +61,7 @@ SECTIONS
   /* writeable */
   . = ALIGN(PAGE_SIZE);
   .data : AT(ADDR(.data) - LOAD_OFFSET) {	/* Data */
+	PAGE_ALIGNED_DATA
 	DATA_DATA
 	CONSTRUCTORS
 	} :data
@@ -73,11 +74,6 @@ SECTIONS
   	__nosave_end = .;
   }
 
-  . = ALIGN(PAGE_SIZE);
-  .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
-	*(.data.page_aligned)
-  }
-
   . = ALIGN(32);
   .data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
 	*(.data.cacheline_aligned)
diff --git a/arch/x86/kernel/vmlinux_64.lds.S b/arch/x86/kernel/vmlinux_64.lds.S
index 9b52841..056db9a 100644
--- a/arch/x86/kernel/vmlinux_64.lds.S
+++ b/arch/x86/kernel/vmlinux_64.lds.S
@@ -64,6 +64,7 @@ SECTIONS
 	. = ALIGN(PAGE_SIZE);
 	/* Data */
 	.data : AT(ADDR(.data) - LOAD_OFFSET) {
+		PAGE_ALIGNED_DATA
 		DATA_DATA
 		CONSTRUCTORS
 		/* End of data section */
@@ -157,11 +158,6 @@ SECTIONS
 		*(.data.init_task)
 	} :data.init
 
-	.data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
-		. = ALIGN(PAGE_SIZE);
-		*(.data.page_aligned)
-	}
-
 	.smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
 		/* might get freed after init */
 		. = ALIGN(PAGE_SIZE);
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH 02/14] sh: Use macros for .bss.page_aligned section.
  2009-04-27 20:32   ` [PATCH 02/14] sh: Use macros for .bss.page_aligned section Tim Abbott
  2009-04-27 20:32     ` [PATCH 03/14] mn10300: " Tim Abbott
@ 2009-04-27 21:57     ` Paul Mundt
  1 sibling, 0 replies; 29+ messages in thread
From: Paul Mundt @ 2009-04-27 21:57 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold

On Mon, Apr 27, 2009 at 04:32:56PM -0400, Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@mit.edu>
> Cc: Paul Mundt <lethal@linux-sh.org>
> ---
>  arch/sh/kernel/irq.c            |    6 ++----
>  arch/sh/kernel/vmlinux_32.lds.S |    2 +-
>  arch/sh/kernel/vmlinux_64.lds.S |    2 +-
>  3 files changed, 4 insertions(+), 6 deletions(-)
> 
Acked-by: Paul Mundt <lethal@linux-sh.org>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 08/14] sh: Use macros for .data.page_aligned section.
  2009-04-27 20:33               ` [PATCH 08/14] sh: Use " Tim Abbott
  2009-04-27 20:33                 ` [PATCH 09/14] s390: Use macros for .data.page_aligned Tim Abbott
@ 2009-04-27 21:57                 ` Paul Mundt
  1 sibling, 0 replies; 29+ messages in thread
From: Paul Mundt @ 2009-04-27 21:57 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold

On Mon, Apr 27, 2009 at 04:33:02PM -0400, Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@mit.edu>
> Cc: Paul Mundt <lethal@linux-sh.org>
> ---
>  arch/sh/kernel/vmlinux_32.lds.S |    3 +--
>  arch/sh/kernel/vmlinux_64.lds.S |    3 +--
>  2 files changed, 2 insertions(+), 4 deletions(-)
> 
Acked-by: Paul Mundt <lethal@linux-sh.org>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section.
  2009-04-27 20:32     ` [PATCH 03/14] mn10300: " Tim Abbott
  2009-04-27 20:32       ` [PATCH 04/14] xtensa: " Tim Abbott
@ 2009-04-27 23:43       ` David Howells
  2009-04-27 23:48         ` Tim Abbott
  1 sibling, 1 reply; 29+ messages in thread
From: David Howells @ 2009-04-27 23:43 UTC (permalink / raw)
  To: Tim Abbott
  Cc: dhowells, Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt

Tim Abbott <tabbott@MIT.EDU> wrote:

> -	*(.bss.page_aligned)
> +	PAGE_ALIGNED_BSS

/opt/nickc/H-i686-pc-linux-gnulibc2.3/bin/am33_2.0-linux-gnu-ld: cannot find PAGE_ALIGNED_BSS

warthog>grep -r PAGE_ALIGNED_BSS include/linux/
warthog1>grep -r PAGE_ALIGNED_BSS include/asm-generic/
warthog1>grep -r PAGE_ALIGNED_BSS arch/frv/
warthog1>

I take it that wasn't what you meant.

David

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section.
  2009-04-27 23:43       ` [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section David Howells
@ 2009-04-27 23:48         ` Tim Abbott
  2009-04-28 12:45           ` David Howells
  0 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-27 23:48 UTC (permalink / raw)
  To: David Howells
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt

On Tue, 28 Apr 2009, David Howells wrote:

> Tim Abbott <tabbott@MIT.EDU> wrote:
> 
> > -	*(.bss.page_aligned)
> > +	PAGE_ALIGNED_BSS
> 
> /opt/nickc/H-i686-pc-linux-gnulibc2.3/bin/am33_2.0-linux-gnu-ld: cannot find PAGE_ALIGNED_BSS
> 
> warthog>grep -r PAGE_ALIGNED_BSS include/linux/
> warthog1>grep -r PAGE_ALIGNED_BSS include/asm-generic/
> warthog1>grep -r PAGE_ALIGNED_BSS arch/frv/
> warthog1>
> 
> I take it that wasn't what you meant.

No, it is.  The macro is new in PATCH 1/14 of this series.

	-Tim Abbott

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/14] powerpc: Use macros for .data.page_aligned section.
  2009-04-27 20:33                     ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
  2009-04-27 20:33                       ` [PATCH 12/14] mn10300: Drop unused .data.idt section Tim Abbott
@ 2009-04-28  4:20                       ` Tim Abbott
  2009-04-28  4:21                         ` [PATCH 1/2] powerpc: share .data output section definition between 32 and 64 bits Tim Abbott
  2009-04-28 15:07                       ` [PATCH 11/14] " Stephen Rothwell
  2 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-28  4:20 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt,
	Benjamin Herrenschmidt

On Mon, 27 Apr 2009, Tim Abbott wrote:

> +++ b/arch/powerpc/kernel/vmlinux.lds.S
> @@ -222,6 +222,7 @@ SECTIONS
>  
>  #ifdef CONFIG_PPC32
>  	.data : AT(ADDR(.data) - LOAD_OFFSET) {
> +		PAGE_ALIGNED_DATA
>  		DATA_DATA
>  		*(.sdata)
>  		*(.got.plt) *(.got)

Just noticed that PAGE_ALIGNED_DATA is only being added for CONFIG_PPC32.

Since there will be several more FOO_DATA macros being added to the .data 
section, I think the right fix is to first unify the two .data output 
section definitions, and then convert to using PAGE_ALIGNED_DATA.

	-Tim Abbott

^ permalink raw reply	[flat|nested] 29+ messages in thread

* [PATCH 1/2] powerpc: share .data output section definition between 32 and 64 bits.
  2009-04-28  4:20                       ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
@ 2009-04-28  4:21                         ` Tim Abbott
  2009-04-28  4:21                           ` [PATCH 2/2] powerpc: Use macros for .data.page_aligned section Tim Abbott
  0 siblings, 1 reply; 29+ messages in thread
From: Tim Abbott @ 2009-04-28  4:21 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Benjamin Herrenschmidt

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 <tabbott@mit.edu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 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 433ae11..4f0f7d1 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)
 	}
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* [PATCH 2/2] powerpc: Use macros for .data.page_aligned section.
  2009-04-28  4:21                         ` [PATCH 1/2] powerpc: share .data output section definition between 32 and 64 bits Tim Abbott
@ 2009-04-28  4:21                           ` Tim Abbott
  0 siblings, 0 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-28  4:21 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linus Torvalds, Linux kernel mailing list, Anders Kaseorg,
	Waseem Daher, Denys Vlasenko, Jeff Arnold, Paul Mundt, Tim Abbott,
	Benjamin Herrenschmidt

.data.page_aligned should not need a separate output section, so as
part of this cleanup I moved into the .data output section in the
linker scripts in order to eliminate unnecessary references to the
section name.

Note that this change moves the page-aligned data inside _edata.
Since it _is_ data, I suspect having page-aligned data outside _edata
was a bug.  Please comment if it is not.

Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
---
 arch/powerpc/kernel/vdso.c                  |    2 +-
 arch/powerpc/kernel/vdso32/vdso32_wrapper.S |    3 ++-
 arch/powerpc/kernel/vdso64/vdso64_wrapper.S |    3 ++-
 arch/powerpc/kernel/vmlinux.lds.S           |    6 +-----
 4 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index ad06d5c..841910a 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -74,7 +74,7 @@ static int vdso_ready;
 static union {
 	struct vdso_data	data;
 	u8			page[PAGE_SIZE];
-} vdso_data_store __attribute__((__section__(".data.page_aligned")));
+} vdso_data_store __page_aligned_data
 struct vdso_data *vdso_data = &vdso_data_store.data;
 
 /* Format of the patch table */
diff --git a/arch/powerpc/kernel/vdso32/vdso32_wrapper.S b/arch/powerpc/kernel/vdso32/vdso32_wrapper.S
index 556f0ca..6e8f507 100644
--- a/arch/powerpc/kernel/vdso32/vdso32_wrapper.S
+++ b/arch/powerpc/kernel/vdso32/vdso32_wrapper.S
@@ -1,7 +1,8 @@
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/page.h>
 
-	.section ".data.page_aligned"
+	__PAGE_ALIGNED_DATA
 
 	.globl vdso32_start, vdso32_end
 	.balign PAGE_SIZE
diff --git a/arch/powerpc/kernel/vdso64/vdso64_wrapper.S b/arch/powerpc/kernel/vdso64/vdso64_wrapper.S
index 0529cb9..b8553d6 100644
--- a/arch/powerpc/kernel/vdso64/vdso64_wrapper.S
+++ b/arch/powerpc/kernel/vdso64/vdso64_wrapper.S
@@ -1,7 +1,8 @@
 #include <linux/init.h>
+#include <linux/linkage.h>
 #include <asm/page.h>
 
-	.section ".data.page_aligned"
+	__PAGE_ALIGNED_DATA
 
 	.globl vdso64_start, vdso64_end
 	.balign PAGE_SIZE
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 4f0f7d1..30ec994 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -221,6 +221,7 @@ SECTIONS
 	_sdata = .;
 
 	.data : AT(ADDR(.data) - LOAD_OFFSET) {
+		PAGE_ALIGNED_DATA
 		DATA_DATA
 #ifdef CONFIG_PPC32
 		*(.sdata)
@@ -258,11 +259,6 @@ SECTIONS
 		*(.data.init_task)
 	}
 
-	. = ALIGN(PAGE_SIZE);
-	.data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
-		*(.data.page_aligned)
-	}
-
 	.data.cacheline_aligned : AT(ADDR(.data.cacheline_aligned) - LOAD_OFFSET) {
 		*(.data.cacheline_aligned)
 	}
-- 
1.6.2.1


^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH 12/14] mn10300: Drop unused .data.idt section.
  2009-04-27 20:33                       ` [PATCH 12/14] mn10300: Drop unused .data.idt section Tim Abbott
  2009-04-27 20:33                         ` [PATCH 13/14] x86: Use section .data.page_aligned for the idt_table Tim Abbott
@ 2009-04-28  4:41                         ` Cyrill Gorcunov
  1 sibling, 0 replies; 29+ messages in thread
From: Cyrill Gorcunov @ 2009-04-28  4:41 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt, David Howells

On 4/28/09, Tim Abbott <tabbott@mit.edu> wrote:
> Since nothing gets put into .data.idt on this architecture, eliminate
> it from the linker script.
>
> This change was apparently proposed previously:
> <http://lkml.indiana.edu/hypermail/linux/kernel/0802.2/2538.html>
>
> CCing the author and people who acked that patch in case there was a
> reason it wasn't applied.
>
> Signed-off-by: Tim Abbott <tabbott@mit.edu>
> Cc: David Howells <dhowells@redhat.com>
> Cc: Cyrill Gorcunov <gorcunov@openvz.org>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> ---
>  arch/mn10300/kernel/vmlinux.lds.S |    3 ---
>  1 files changed, 0 insertions(+), 3 deletions(-)
>
> diff --git a/arch/mn10300/kernel/vmlinux.lds.S
> b/arch/mn10300/kernel/vmlinux.lds.S
> index 6ad0fa8..364250f 100644
> --- a/arch/mn10300/kernel/vmlinux.lds.S
> +++ b/arch/mn10300/kernel/vmlinux.lds.S
> @@ -59,9 +59,6 @@ SECTIONS
>    . = ALIGN(PAGE_SIZE);
>    __nosave_end = .;
>
> -  . = ALIGN(PAGE_SIZE);
> -  .data.page_aligned : { *(.data.idt) }
> -
>    . = ALIGN(32);
>    .data.cacheline_aligned : { *(.data.cacheline_aligned) }
>
> --
> 1.6.2.1
>
>

Thanks Tim!
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 09/14] s390: Use macros for .data.page_aligned.
  2009-04-27 20:33                 ` [PATCH 09/14] s390: Use macros for .data.page_aligned Tim Abbott
  2009-04-27 20:33                   ` [PATCH 10/14] powerpc: Remove unused __page_aligned macro Tim Abbott
@ 2009-04-28  7:39                   ` Cyrill Gorcunov
  1 sibling, 0 replies; 29+ messages in thread
From: Cyrill Gorcunov @ 2009-04-28  7:39 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt, Martin Schwidefsky

On 4/28/09, Tim Abbott <tabbott@mit.edu> wrote:
> .data.page_aligned should not need a separate output section, so as
> part of this cleanup I moved into the .data output section in the
> linker scripts in order to eliminate unnecessary references to the
> section name.
>
> Remove the reference to .data.idt, since nothing is put into the
> .data.idt section on the s390 architecture.  It looks like Cyrill
> Gorcunov posted a patch to remove the .data.idt code on s390
> previously:
>
> <http://lkml.indiana.edu/hypermail/linux/kernel/0802.2/2536.html>
>
> CCing him and the people who acked that patch in case there's a reason
> it wasn't applied.
>

It was not applied case of being a bit buggy.
You've fixed it as well. Thanks and my ack if needed.

> Signed-off-by: Tim Abbott <tabbott@mit.edu>
> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Cc: Cyrill Gorcunov <gorcunov@openvz.org>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> ---
>  arch/s390/kernel/vdso.c                  |    2 +-
>  arch/s390/kernel/vdso32/vdso32_wrapper.S |    3 ++-
>  arch/s390/kernel/vdso64/vdso64_wrapper.S |    3 ++-
>  arch/s390/kernel/vmlinux.lds.S           |    6 +-----
>  4 files changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c
> index 89b2e7f..eff6fba 100644
> --- a/arch/s390/kernel/vdso.c
> +++ b/arch/s390/kernel/vdso.c
> @@ -64,7 +64,7 @@ __setup("vdso=", vdso_setup);
>  static union {
>  	struct vdso_data	data;
>  	u8			page[PAGE_SIZE];
> -} vdso_data_store __attribute__((__section__(".data.page_aligned")));
> +} vdso_data_store __page_aligned_data
>  struct vdso_data *vdso_data = &vdso_data_store.data;
>
>  /*
> diff --git a/arch/s390/kernel/vdso32/vdso32_wrapper.S
> b/arch/s390/kernel/vdso32/vdso32_wrapper.S
> index 61639a8..ae42f8c 100644
> --- a/arch/s390/kernel/vdso32/vdso32_wrapper.S
> +++ b/arch/s390/kernel/vdso32/vdso32_wrapper.S
> @@ -1,7 +1,8 @@
>  #include <linux/init.h>
> +#include <linux/linkage.h>
>  #include <asm/page.h>
>
> -	.section ".data.page_aligned"
> +	__PAGE_ALIGNED_DATA
>
>  	.globl vdso32_start, vdso32_end
>  	.balign PAGE_SIZE
> diff --git a/arch/s390/kernel/vdso64/vdso64_wrapper.S
> b/arch/s390/kernel/vdso64/vdso64_wrapper.S
> index d8e2ac1..c245842 100644
> --- a/arch/s390/kernel/vdso64/vdso64_wrapper.S
> +++ b/arch/s390/kernel/vdso64/vdso64_wrapper.S
> @@ -1,7 +1,8 @@
>  #include <linux/init.h>
> +#include <linux/linkage.h>
>  #include <asm/page.h>
>
> -	.section ".data.page_aligned"
> +	__PAGE_ALIGNED_DATA
>
>  	.globl vdso64_start, vdso64_end
>  	.balign PAGE_SIZE
> diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S
> index 89399b8..d552089 100644
> --- a/arch/s390/kernel/vmlinux.lds.S
> +++ b/arch/s390/kernel/vmlinux.lds.S
> @@ -59,6 +59,7 @@ SECTIONS
>  	} :data
>
>  	.data : {		/* Data */
> +		PAGE_ALIGNED_DATA
>  		DATA_DATA
>  		CONSTRUCTORS
>  	}
> @@ -71,11 +72,6 @@ SECTIONS
>  	. = ALIGN(PAGE_SIZE);
>  	__nosave_end = .;
>
> -	. = ALIGN(PAGE_SIZE);
> -	.data.page_aligned : {
> -		*(.data.idt)
> -	}
> -
>  	. = ALIGN(0x100);
>  	.data.cacheline_aligned : {
>  		*(.data.cacheline_aligned)
> --
> 1.6.2.1
>
>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section.
  2009-04-27 23:48         ` Tim Abbott
@ 2009-04-28 12:45           ` David Howells
  0 siblings, 0 replies; 29+ messages in thread
From: David Howells @ 2009-04-28 12:45 UTC (permalink / raw)
  To: Tim Abbott
  Cc: dhowells, Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt

Tim Abbott <tabbott@MIT.EDU> wrote:

> No, it is.  The macro is new in PATCH 1/14 of this series.

Aha!  Okay, I've applied that patch too, and now I see:

  LD      .tmp_vmlinux1
/opt/nickc/H-i686-pc-linux-gnulibc2.3/bin/am33_2.0-linux-gnu-ld:arch/mn10300/kernel/vmlinux.lds:237: syntax error

Where the error occurs on line 237, which is:

	  __bss_start = .; /* BSS */
	  .bss : {
	 . = ALIGN(+(1 << 12)) *(.bss.page_aligned)
	 *(.bss)
 ==>	  }
	  . = ALIGN(4);
	  __bss_stop = .;

in the expanded linker script.

The problem is that your patch #1 is wrong.  You need to apply:

---
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index a76275f..c9b16a6 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -118,11 +118,11 @@
 	TRACE_SYSCALLS()
 
 #define PAGE_ALIGNED_DATA						\
-	. = ALIGN(PAGE_SIZE)						\
+	. = ALIGN(PAGE_SIZE);						\
 	*(.data.page_aligned)
 
 #define PAGE_ALIGNED_BSS						\
-	. = ALIGN(PAGE_SIZE)						\
+	. = ALIGN(PAGE_SIZE);						\
 	*(.bss.page_aligned)
 
 #define RO_DATA(align)							\
---

to it.

David

^ permalink raw reply related	[flat|nested] 29+ messages in thread

* Re: [PATCH 07/14] avr32: Use standard macros for .data.page_aligned section.
  2009-04-27 20:33             ` [PATCH 07/14] avr32: Use standard macros for .data.page_aligned section Tim Abbott
  2009-04-27 20:33               ` [PATCH 08/14] sh: Use " Tim Abbott
@ 2009-04-28 14:49               ` Haavard Skinnemoen
  1 sibling, 0 replies; 29+ messages in thread
From: Haavard Skinnemoen @ 2009-04-28 14:49 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt, Tim Abbott

Tim Abbott wrote:
> Signed-off-by: Tim Abbott <tabbott@mit.edu>
> Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>

Assuming the definition of PAGE_ALIGNED_DATA is sane,

Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/14] powerpc: Use macros for .data.page_aligned section.
  2009-04-27 20:33                     ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
  2009-04-27 20:33                       ` [PATCH 12/14] mn10300: Drop unused .data.idt section Tim Abbott
  2009-04-28  4:20                       ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
@ 2009-04-28 15:07                       ` Stephen Rothwell
  2009-04-28 15:13                         ` Tim Abbott
  2009-04-28 15:17                         ` Stephen Rothwell
  2 siblings, 2 replies; 29+ messages in thread
From: Stephen Rothwell @ 2009-04-28 15:07 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt, Tim Abbott, Benjamin Herrenschmidt, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 926 bytes --]

Hi Tim,

Firstly, patches for a particular architecture should really be cc'd to
the list associated with that architecture.  In this case,
linuxppc-dev@ozlabs.org (cc'd).

On Mon, 27 Apr 2009 16:33:05 -0400 Tim Abbott <tabbott@MIT.EDU> wrote:
>
> +++ b/arch/powerpc/kernel/vmlinux.lds.S
> @@ -222,6 +222,7 @@ SECTIONS
>  
>  #ifdef CONFIG_PPC32
>  	.data : AT(ADDR(.data) - LOAD_OFFSET) {
> +		PAGE_ALIGNED_DATA
>  		DATA_DATA
>  		*(.sdata)
>  		*(.got.plt) *(.got)
> @@ -259,11 +260,6 @@ SECTIONS
>  		*(.data.init_task)
>  	}
>  
> -	. = ALIGN(PAGE_SIZE);
> -	.data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
> -		*(.data.page_aligned)
> -	}
> -

This moves the page_aligned section from a common part of the
vmlinux.lds to a 32 bit only part.  Was that intentional?

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/14] powerpc: Use macros for .data.page_aligned section.
  2009-04-28 15:07                       ` [PATCH 11/14] " Stephen Rothwell
@ 2009-04-28 15:13                         ` Tim Abbott
  2009-04-28 15:17                         ` Stephen Rothwell
  1 sibling, 0 replies; 29+ messages in thread
From: Tim Abbott @ 2009-04-28 15:13 UTC (permalink / raw)
  To: Stephen Rothwell
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt, Benjamin Herrenschmidt, linuxppc-dev

On Wed, 29 Apr 2009, Stephen Rothwell wrote:

> This moves the page_aligned section from a common part of the
> vmlinux.lds to a 32 bit only part.  Was that intentional?

No.  See my reply to this patch from last night 
<http://lkml.org/lkml/2009/4/28/16> and the revised pair of patches in 
reply to that message that replace PATCH 11/14.

	-Tim Abbott

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [PATCH 11/14] powerpc: Use macros for .data.page_aligned section.
  2009-04-28 15:07                       ` [PATCH 11/14] " Stephen Rothwell
  2009-04-28 15:13                         ` Tim Abbott
@ 2009-04-28 15:17                         ` Stephen Rothwell
  1 sibling, 0 replies; 29+ messages in thread
From: Stephen Rothwell @ 2009-04-28 15:17 UTC (permalink / raw)
  To: Tim Abbott
  Cc: Sam Ravnborg, Linus Torvalds, Linux kernel mailing list,
	Anders Kaseorg, Waseem Daher, Denys Vlasenko, Jeff Arnold,
	Paul Mundt, Tim Abbott, Benjamin Herrenschmidt, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 369 bytes --]

On Wed, 29 Apr 2009 01:07:53 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> This moves the page_aligned section from a common part of the
> vmlinux.lds to a 32 bit only part.  Was that intentional?

Just saw your later patches, so ignore this.

-- 
Cheers,
Stephen Rothwell                    sfr@canb.auug.org.au
http://www.canb.auug.org.au/~sfr/

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2009-04-28 15:18 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-27 20:32 [PATCH 00/14] clean up page aligned data and bss sections Tim Abbott
2009-04-27 20:32 ` [PATCH 01/14] Add new macros for page-aligned " Tim Abbott
2009-04-27 20:32   ` [PATCH 02/14] sh: Use macros for .bss.page_aligned section Tim Abbott
2009-04-27 20:32     ` [PATCH 03/14] mn10300: " Tim Abbott
2009-04-27 20:32       ` [PATCH 04/14] xtensa: " Tim Abbott
2009-04-27 20:32         ` [PATCH 05/14] x86: " Tim Abbott
2009-04-27 20:33           ` [PATCH 06/14] alpha: Use macros for .data.page_aligned Tim Abbott
2009-04-27 20:33             ` [PATCH 07/14] avr32: Use standard macros for .data.page_aligned section Tim Abbott
2009-04-27 20:33               ` [PATCH 08/14] sh: Use " Tim Abbott
2009-04-27 20:33                 ` [PATCH 09/14] s390: Use macros for .data.page_aligned Tim Abbott
2009-04-27 20:33                   ` [PATCH 10/14] powerpc: Remove unused __page_aligned macro Tim Abbott
2009-04-27 20:33                     ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
2009-04-27 20:33                       ` [PATCH 12/14] mn10300: Drop unused .data.idt section Tim Abbott
2009-04-27 20:33                         ` [PATCH 13/14] x86: Use section .data.page_aligned for the idt_table Tim Abbott
2009-04-27 20:33                           ` [PATCH 14/14] x86: Use macros for .data.page_aligned Tim Abbott
2009-04-28  4:41                         ` [PATCH 12/14] mn10300: Drop unused .data.idt section Cyrill Gorcunov
2009-04-28  4:20                       ` [PATCH 11/14] powerpc: Use macros for .data.page_aligned section Tim Abbott
2009-04-28  4:21                         ` [PATCH 1/2] powerpc: share .data output section definition between 32 and 64 bits Tim Abbott
2009-04-28  4:21                           ` [PATCH 2/2] powerpc: Use macros for .data.page_aligned section Tim Abbott
2009-04-28 15:07                       ` [PATCH 11/14] " Stephen Rothwell
2009-04-28 15:13                         ` Tim Abbott
2009-04-28 15:17                         ` Stephen Rothwell
2009-04-28  7:39                   ` [PATCH 09/14] s390: Use macros for .data.page_aligned Cyrill Gorcunov
2009-04-27 21:57                 ` [PATCH 08/14] sh: Use macros for .data.page_aligned section Paul Mundt
2009-04-28 14:49               ` [PATCH 07/14] avr32: Use standard " Haavard Skinnemoen
2009-04-27 23:43       ` [PATCH 03/14] mn10300: Use macros for .bss.page_aligned section David Howells
2009-04-27 23:48         ` Tim Abbott
2009-04-28 12:45           ` David Howells
2009-04-27 21:57     ` [PATCH 02/14] sh: " Paul Mundt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox