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-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html