[PATCH 16/23] make section names compatible with -ffunction-sections -fdata-sections: ppc

From: Denys Vlasenko
Date: Tue Jul 01 2008 - 18:40:33 EST


The purpose of this patch is to make kernel buildable
with "gcc -ffunction-sections -fdata-sections".
This patch fixes ppc architecture.

Signed-off-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
--
vda


--- 0.org/arch/ppc/boot/ld.script Wed Jul 2 00:40:41 2008
+++ 1.fixname/arch/ppc/boot/ld.script Wed Jul 2 00:46:50 2008
@@ -41,7 +41,7 @@
{
*(.data)
*(.data1)
- *(.data.boot)
+ *(.boot.data)
*(.sdata)
*(.sdata2)
*(.got.plt) *(.got)
--- 0.org/arch/ppc/boot/simple/misc-embedded.c Wed Jul 2 00:40:41 2008
+++ 1.fixname/arch/ppc/boot/simple/misc-embedded.c Wed Jul 2 00:46:50 2008
@@ -60,7 +60,7 @@

/* We need to make sure that this is before the images to ensure
* that it's in a mapped location. - Tom */
-bd_t hold_resid_buf __attribute__ ((__section__ (".data.boot")));
+bd_t hold_resid_buf __attribute__ ((__section__ (".boot.data")));
bd_t *hold_residual = &hold_resid_buf;

extern unsigned long serial_init(int chan, bd_t *bp);
--- 0.org/arch/ppc/boot/simple/openbios.c Wed Jul 2 00:40:41 2008
+++ 1.fixname/arch/ppc/boot/simple/openbios.c Wed Jul 2 00:46:50 2008
@@ -41,7 +41,7 @@

/* We need to make sure that this is before the images to ensure
* that it's in a mapped location. */
-bd_t hold_resid_buf __attribute__ ((__section__ (".data.boot")));
+bd_t hold_resid_buf __attribute__ ((__section__ (".boot.data")));
bd_t *hold_residual = &hold_resid_buf;

typedef struct openbios_board_info {
--- 0.org/arch/ppc/boot/simple/pibs.c Wed Jul 2 00:40:41 2008
+++ 1.fixname/arch/ppc/boot/simple/pibs.c Wed Jul 2 00:46:50 2008
@@ -16,7 +16,7 @@

/* We need to make sure that this is before the images to ensure
* that it's in a mapped location. - Tom */
-bd_t hold_resid_buf __attribute__ ((__section__ (".data.boot")));
+bd_t hold_resid_buf __attribute__ ((__section__ (".boot.data")));
bd_t *hold_residual = &hold_resid_buf;

/* String functions lifted from lib/vsprintf.c and lib/ctype.c */
--- 0.org/arch/ppc/kernel/vmlinux.lds.S Wed Jul 2 00:40:41 2008
+++ 1.fixname/arch/ppc/kernel/vmlinux.lds.S Wed Jul 2 00:46:03 2008
@@ -78,18 +78,18 @@

. = ALIGN(4096);
__nosave_begin = .;
- .data_nosave : { *(.data.nosave) }
+ .data_nosave : { *(.nosave.data) }
. = ALIGN(4096);
__nosave_end = .;

. = ALIGN(32);
- .data.cacheline_aligned : { *(.data.cacheline_aligned) }
+ .cacheline_aligned.data : { *(.cacheline_aligned.data) }

_edata = .;
PROVIDE (edata = .);

. = ALIGN(8192);
- .data.init_task : { *(.data.init_task) }
+ .init_task.data : { *(.init_task.data) }

NOTES

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/