Browse Source

ARM: convert to use __HEAD and HEAD_TEXT macros.

This has the consequence of changing the section name used for head
code from ".text.head" to ".head.text".  Since this commit changes all
users in the architecture, this change should be harmless.

The .text.head output section is eliminated and the head text code is
included at the start of the .init output section.

Signed-off-by: Tim Abbott <tabbott@ksplice.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tim Abbott 15 years ago
parent
commit
2abc1c50b6
3 changed files with 5 additions and 7 deletions
  1. 1 1
      arch/arm/kernel/head-nommu.S
  2. 1 1
      arch/arm/kernel/head.S
  3. 3 5
      arch/arm/kernel/vmlinux.lds.S

+ 1 - 1
arch/arm/kernel/head-nommu.S

@@ -32,7 +32,7 @@
  * numbers for r1.
  * numbers for r1.
  *
  *
  */
  */
-	.section ".text.head", "ax"
+	__HEAD
 ENTRY(stext)
 ENTRY(stext)
 	setmode	PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode
 	setmode	PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode
 						@ and irqs disabled
 						@ and irqs disabled

+ 1 - 1
arch/arm/kernel/head.S

@@ -74,7 +74,7 @@
  * crap here - that's what the boot loader (or in extreme, well justified
  * crap here - that's what the boot loader (or in extreme, well justified
  * circumstances, zImage) is for.
  * circumstances, zImage) is for.
  */
  */
-	.section ".text.head", "ax"
+	__HEAD
 ENTRY(stext)
 ENTRY(stext)
 	setmode	PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode
 	setmode	PSR_F_BIT | PSR_I_BIT | SVC_MODE, r9 @ ensure svc mode
 						@ and irqs disabled
 						@ and irqs disabled

+ 3 - 5
arch/arm/kernel/vmlinux.lds.S

@@ -24,13 +24,11 @@ SECTIONS
 #else
 #else
 	. = PAGE_OFFSET + TEXT_OFFSET;
 	. = PAGE_OFFSET + TEXT_OFFSET;
 #endif
 #endif
-	.text.head : {
-		_stext = .;
-		_sinittext = .;
-		*(.text.head)
-	}
 
 
 	.init : {			/* Init code and data		*/
 	.init : {			/* Init code and data		*/
+		_stext = .;
+		_sinittext = .;
+			HEAD_TEXT
 			INIT_TEXT
 			INIT_TEXT
 		_einittext = .;
 		_einittext = .;
 		__proc_info_begin = .;
 		__proc_info_begin = .;