Skip to contentSkip to conversation

Architectures missing DATA_DATA in linker script

PATCH New Mathieu Desnoyers 1 participant 4 messages Jul 14, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover Architectures missing DATA_DATA in linker script

Hi Andrew,

Here is a repost, with proper header, of these missing bits to 2.6.22-rc6-mm1.

Mathieu

Signature · 3 lines
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
#1 lore raw

PATCH 1/3 Use DATA_DATA in CRIS

Newer asm-generic/vmlinux.lds.h provides a DATA_DATA macro which defines the content of what is normally referred to by *(.data). It permits adding more "subsections" (declared by gcc with the section attribute or in assembly), which will be linked in the .data section.

---
 arch/cris/arch-v10/vmlinux.lds.S |    2 +-
 arch/cris/arch-v32/vmlinux.lds.S |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/cris/arch-v10/vmlinux.lds.S +1 -1
Index: linux-2.6-lttng/arch/cris/arch-v10/vmlinux.lds.S
===================================================================
@@ -44,7 +44,7 @@
 	___data_start = . ;
 	__Sdata = . ;
 	.data : {                     /* Data */
-		*(.data)
+		DATA_DATA
 	}
 	__edata = . ;                 /* End of data section */
 	_edata = . ;
arch/cris/arch-v32/vmlinux.lds.S +1 -1
Index: linux-2.6-lttng/arch/cris/arch-v32/vmlinux.lds.S
===================================================================
@@ -49,7 +49,7 @@
 	___data_start = . ;
 	__Sdata = . ;
 	.data : {                     /* Data */
-		*(.data)
+		DATA_DATA
 	}
 	__edata = . ;		/* End of data section. */
 	_edata = . ;
Signature · 3 lines
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
#2 lore raw

PATCH 2/3 Add missing DATA_DATA in powerpc

In reply to Mathieu Desnoyers

Newer asm-generic/vmlinux.lds.h provides a DATA_DATA macro which defines the content of what is normally referred to by *(.data). It permits adding more "subsections" (declared by gcc with the section attribute or in assembly), which will be linked in the .data section.

--

 arch/powerpc/kernel/vmlinux.lds.S |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
arch/powerpc/kernel/vmlinux.lds.S +3 -1
Index: linux-2.6-lttng/arch/powerpc/kernel/vmlinux.lds.S
===================================================================
@@ -174,7 +174,9 @@
 	}
 #else
 	.data : {
-		*(.data .data.rel* .toc1)
+		DATA_DATA
+		*(.data.rel*)
+		*(.toc1)
 		*(.branch_lt)
 	}
 
Signature · 3 lines
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68
#3 lore raw

PATCH 3/3 Use DATA_DATA in xtensa

In reply to Mathieu Desnoyers

Newer asm-generic/vmlinux.lds.h provides a DATA_DATA macro which defines the content of what is normally referred to by *(.data). It permits adding more "subsections" (declared by gcc with the section attribute or in assembly), which will be linked in the .data section.

---
 arch/xtensa/kernel/vmlinux.lds.S |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
arch/xtensa/kernel/vmlinux.lds.S +2 -1
Index: linux-2.6-lttng/arch/xtensa/kernel/vmlinux.lds.S
===================================================================
@@ -118,7 +118,8 @@
   _fdata = .;
   .data :
   {
-    *(.data) CONSTRUCTORS
+    DATA_DATA
+    CONSTRUCTORS
     . = ALIGN(XCHAL_ICACHE_LINESIZE);
     *(.data.cacheline_aligned)
   }
Signature · 3 lines
Mathieu Desnoyers
Computer Engineering Ph.D. Student, Ecole Polytechnique de Montreal
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68