aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorMichael Ellerman <michael@ellerman.id.au>2005-11-03 00:03:06 -0500
committerMichael Ellerman <michael@ellerman.id.au>2005-11-03 00:03:06 -0500
commite19e4ab4154a831788365c07e7a10d9114bba46c (patch)
tree63c61be402940f0731d6810b2d1d7372b61a9815 /arch/powerpc
parent358c86fda080a5e7c66dcaad3707061f32fff7cc (diff)
powerpc: Set entry point and text address in linker script
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>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/Makefile5
-rw-r--r--arch/powerpc/kernel/vmlinux.lds.S7
2 files changed, 4 insertions, 8 deletions
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 2f4cce06a7e5..5bc11bd36c1f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -12,9 +12,6 @@
12# Rewritten by Cort Dougan and Paul Mackerras 12# Rewritten by Cort Dougan and Paul Mackerras
13# 13#
14 14
15# This must match PAGE_OFFSET in include/asm-powerpc/page.h.
16KERNELLOAD := $(CONFIG_KERNEL_START)
17
18HAS_BIARCH := $(call cc-option-yn, -m32) 15HAS_BIARCH := $(call cc-option-yn, -m32)
19 16
20ifeq ($(CONFIG_PPC64),y) 17ifeq ($(CONFIG_PPC64),y)
@@ -59,7 +56,7 @@ override LD += -m elf$(SZ)ppc
59override CC += -m$(SZ) 56override CC += -m$(SZ)
60endif 57endif
61 58
62LDFLAGS_vmlinux := -Ttext $(KERNELLOAD) -Bstatic -e $(KERNELLOAD) 59LDFLAGS_vmlinux := -Bstatic
63 60
64# The -Iarch/$(ARCH)/include is temporary while we are merging 61# The -Iarch/$(ARCH)/include is temporary while we are merging
65CPPFLAGS += -Iarch/$(ARCH) -Iarch/$(ARCH)/include 62CPPFLAGS += -Iarch/$(ARCH) -Iarch/$(ARCH)/include
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index d4dfcfbce272..9ceaa7a7bd00 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -1,11 +1,9 @@
1#include <linux/config.h> 1#include <linux/config.h>
2#ifdef CONFIG_PPC64
3#include <asm/page.h> 2#include <asm/page.h>
4#else
5#define PAGE_SIZE 4096
6#endif
7#include <asm-generic/vmlinux.lds.h> 3#include <asm-generic/vmlinux.lds.h>
8 4
5ENTRY(_stext)
6
9#ifdef CONFIG_PPC64 7#ifdef CONFIG_PPC64
10OUTPUT_ARCH(powerpc:common64) 8OUTPUT_ARCH(powerpc:common64)
11jiffies = jiffies_64; 9jiffies = jiffies_64;
@@ -21,6 +19,7 @@ SECTIONS
21 *(.exit.data) 19 *(.exit.data)
22 } 20 }
23 21
22 . = KERNELBASE;
24 23
25 /* Read-only sections, merged into text segment: */ 24 /* Read-only sections, merged into text segment: */
26#ifdef CONFIG_PPC32 25#ifdef CONFIG_PPC32