From mboxrd@z Thu Jan 1 00:00:00 1970 From: Denys Vlasenko Subject: [PATCH 16/23] make section names compatible with -ffunction-sections -fdata-sections: ppc Date: Wed, 2 Jul 2008 02:40:03 +0200 Message-ID: <200807020240.03443.vda.linux@googlemail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :user-agent:cc:mime-version:content-disposition:content-type :content-transfer-encoding:message-id; bh=0DN/aOVRA5Uuluetps9ajXy8XCuWHJMNDE0X0pLWd74=; b=kFjAIi5a3fUAlEcdZwYSaidpfe0B8rHzEm13orU3S9N8npavuAb9SrW+HzPREeHXxL qUNyAJtcR2o9NygDcOFnnafJfwsbN85qfxoSVkpiJFcCaIcYeApDRKDYxWorvf9mxM+W ZBdIgw5HVHXVhTW0Vp1rEI9jPNhYhZtauuwj4= Content-Disposition: inline Sender: linux-embedded-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: linux-arch@vger.kernel.org Cc: Russell King , David Howells , Ralf Baechle , Lennert Buytenhek , Josh Boyer , Paul Mackerras , David Woodhouse , Andi Kleen , torvalds@linux-foundation.org, akpm@linux-foundation.org, Paul Gortmaker , linux-embedded@vger.kernel.org, linux-kernel@vger.kernel.org, Tim Bird , Martin Schwidefsky , Dave Miller 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 --- 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