powerpc: Set entry point and text address in linker script
authorMichael Ellerman <michael@ellerman.id.au>
Thu, 3 Nov 2005 05:03:06 +0000 (16:03 +1100)
committerMichael Ellerman <michael@ellerman.id.au>
Thu, 3 Nov 2005 05:03:06 +0000 (16:03 +1100)
Currently we set the kernel entry point and the address of the text
section in the Makefile, using CONFIG_KERNEL_START.

But we've already got <asm/page.h> in the linker script, so we can just
use KERNELBASE directly. That means if we ever change KERNELBASE there's
one less place to change it.

And we can set the entry point with ENTRY().

There are zero differences from "readelf -a vmlinux" with or without this
patch.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
arch/powerpc/Makefile
arch/powerpc/kernel/vmlinux.lds.S

index 2f4cce06a7e55cd2888c983b01352ce650aa52ec..5bc11bd36c1f8eba426466ba7e4b136ca51bb2aa 100644 (file)
@@ -12,9 +12,6 @@
 # Rewritten by Cort Dougan and Paul Mackerras
 #
 
-# This must match PAGE_OFFSET in include/asm-powerpc/page.h.
-KERNELLOAD     := $(CONFIG_KERNEL_START)
-
 HAS_BIARCH     := $(call cc-option-yn, -m32)
 
 ifeq ($(CONFIG_PPC64),y)
@@ -59,7 +56,7 @@ override LD   += -m elf$(SZ)ppc
 override CC    += -m$(SZ)
 endif
 
-LDFLAGS_vmlinux        := -Ttext $(KERNELLOAD) -Bstatic -e $(KERNELLOAD)
+LDFLAGS_vmlinux        := -Bstatic
 
 # The -Iarch/$(ARCH)/include is temporary while we are merging
 CPPFLAGS       += -Iarch/$(ARCH) -Iarch/$(ARCH)/include
index d4dfcfbce27258fe0bff7683d60f20441a7d8bf2..9ceaa7a7bd00a62c818b8201baf29ec8e485bd12 100644 (file)
@@ -1,11 +1,9 @@
 #include <linux/config.h>
-#ifdef CONFIG_PPC64
 #include <asm/page.h>
-#else
-#define PAGE_SIZE      4096
-#endif
 #include <asm-generic/vmlinux.lds.h>
 
+ENTRY(_stext)
+
 #ifdef CONFIG_PPC64
 OUTPUT_ARCH(powerpc:common64)
 jiffies = jiffies_64;
@@ -21,6 +19,7 @@ SECTIONS
     *(.exit.data)
   }
 
+  . = KERNELBASE;
 
   /* Read-only sections, merged into text segment: */
 #ifdef CONFIG_PPC32