From mboxrd@z Thu Jan 1 00:00:00 1970 From: Denys Vlasenko Subject: [PATCH 17/23] make section names compatible with -ffunction-sections -fdata-sections: s390 Date: Wed, 2 Jul 2008 02:40:33 +0200 Message-ID: <200807020240.33271.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=Zsfq3xZFbRD/StDFcKfNVcRyBLKnR5vtQ9QHpiusR1E=; b=XpXdiKxG2DwgddC+duF0LKriE5mq54FlOrga5hQYWc670v9Z+gUs1oHDhQeBf5knDw n3gLt1TG1Voc2nYYURHQ3jiDflPOHBCpp1SV7rsQtov6BWMTW6FjNcUBp+607xfnUIOX OzpDEeQUk45l4nfjl4cKc59zjftTDOp7hhnOQ= Content-Disposition: inline Sender: linux-arch-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 s390 architecture. Signed-off-by: Denys Vlasenko -- vda --- 0.org/arch/s390/kernel/head.S Wed Jul 2 00:40:42 2008 +++ 1.fixname/arch/s390/kernel/head.S Wed Jul 2 00:44:22 2008 @@ -35,7 +35,7 @@ #define ARCH_OFFSET 0 #endif -.section ".text.head","ax" +.section ".head.text","ax" #ifndef CONFIG_IPL .org 0 .long 0x00080000,0x80000000+startup # Just a restart PSW --- 0.org/arch/s390/kernel/init_task.c Wed Jul 2 00:40:42 2008 +++ 1.fixname/arch/s390/kernel/init_task.c Wed Jul 2 00:45:57 2008 @@ -31,7 +31,7 @@ * "init_task" linker map entry.. */ union thread_union init_thread_union - __attribute__((__section__(".data.init_task"))) = + __attribute__((__section__(".init_task.data"))) = { INIT_THREAD_INFO(init_task) }; /* --- 0.org/arch/s390/kernel/vmlinux.lds.S Wed Jul 2 00:40:42 2008 +++ 1.fixname/arch/s390/kernel/vmlinux.lds.S Wed Jul 2 00:46:32 2008 @@ -28,7 +28,7 @@ . = 0x00000000; .text : { _text = .; /* Text and read-only data */ - *(.text.head) + *(.head.text) TEXT_TEXT SCHED_TEXT LOCK_TEXT @@ -66,30 +66,30 @@ . = ALIGN(PAGE_SIZE); .data_nosave : { __nosave_begin = .; - *(.data.nosave) + *(.nosave.data) } . = ALIGN(PAGE_SIZE); __nosave_end = .; . = ALIGN(PAGE_SIZE); - .data.page_aligned : { - *(.data.idt) + .page_aligned.data : { + *(.idt.data) } . = ALIGN(0x100); - .data.cacheline_aligned : { - *(.data.cacheline_aligned) + .cacheline_aligned.data : { + *(.cacheline_aligned.data) } . = ALIGN(0x100); - .data.read_mostly : { - *(.data.read_mostly) + .read_mostly.data : { + *(.read_mostly.data) } _edata = .; /* End of data section */ . = ALIGN(2 * PAGE_SIZE); /* init_task */ - .data.init_task : { - *(.data.init_task) + .init_task.data : { + *(.init_task.data) } /* will be freed after init */ --- 0.org/include/asm-s390/cache.h Wed Jul 2 00:40:50 2008 +++ 1.fixname/include/asm-s390/cache.h Wed Jul 2 00:45:45 2008 @@ -14,6 +14,6 @@ #define L1_CACHE_BYTES 256 #define L1_CACHE_SHIFT 8 -#define __read_mostly __attribute__((__section__(".data.read_mostly"))) +#define __read_mostly __attribute__((__section__(".read_mostly.data"))) #endif