aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc64/boot
diff options
context:
space:
mode:
authorOlaf Hering <olh@suse.de>2005-10-28 20:46:49 -0400
committerPaul Mackerras <paulus@samba.org>2005-10-29 01:11:00 -0400
commit67a1b68263d58a3ed5ce024468606044a1561312 (patch)
tree0e997ea83aa27cb2ceb622549acc8e47aefa6bb2 /arch/ppc64/boot
parenta4497235f00d811943831c9d76995d36c4ffab2d (diff)
[PATCH] ppc64 boot: proof that reloc works
To prove that the relocation works, move the crt0.o away from the beginning. Move linker options from command line into linker script. rename entry point because '_start' is referenced in printf output. Signed-off-by: Olaf Hering <olh@suse.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/boot')
-rw-r--r--arch/ppc64/boot/Makefile4
-rw-r--r--arch/ppc64/boot/crt0.S4
-rw-r--r--arch/ppc64/boot/zImage.lds3
3 files changed, 7 insertions, 4 deletions
diff --git a/arch/ppc64/boot/Makefile b/arch/ppc64/boot/Makefile
index 9e19351f3df..301bc1536c4 100644
--- a/arch/ppc64/boot/Makefile
+++ b/arch/ppc64/boot/Makefile
@@ -24,7 +24,7 @@
24HOSTCC := gcc 24HOSTCC := gcc
25BOOTCFLAGS := $(HOSTCFLAGS) -fno-builtin -nostdinc -isystem $(shell $(CROSS32CC) -print-file-name=include) -fPIC 25BOOTCFLAGS := $(HOSTCFLAGS) -fno-builtin -nostdinc -isystem $(shell $(CROSS32CC) -print-file-name=include) -fPIC
26BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc 26BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc
27BOOTLFLAGS := -Ttext 0x00400000 -e _start -T $(srctree)/$(src)/zImage.lds 27BOOTLFLAGS := -T $(srctree)/$(src)/zImage.lds
28OBJCOPYFLAGS := contents,alloc,load,readonly,data 28OBJCOPYFLAGS := contents,alloc,load,readonly,data
29 29
30zlib := infblock.c infcodes.c inffast.c inflate.c inftrees.c infutil.c 30zlib := infblock.c infcodes.c inffast.c inflate.c inftrees.c infutil.c
@@ -34,7 +34,7 @@ zliblinuxheader := zlib.h zconf.h zutil.h
34$(addprefix $(obj)/,$(zlib) main.o): $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) 34$(addprefix $(obj)/,$(zlib) main.o): $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
35#$(addprefix $(obj)/,main.o): $(addprefix $(obj)/,zlib.h) 35#$(addprefix $(obj)/,main.o): $(addprefix $(obj)/,zlib.h)
36 36
37src-boot := crt0.S string.S prom.c main.c div64.S 37src-boot := string.S prom.c main.c div64.S crt0.S
38src-boot += $(zlib) 38src-boot += $(zlib)
39src-boot := $(addprefix $(obj)/, $(src-boot)) 39src-boot := $(addprefix $(obj)/, $(src-boot))
40obj-boot := $(addsuffix .o, $(basename $(src-boot))) 40obj-boot := $(addsuffix .o, $(basename $(src-boot)))
diff --git a/arch/ppc64/boot/crt0.S b/arch/ppc64/boot/crt0.S
index 5788a453a7a..8bfdeaf3be8 100644
--- a/arch/ppc64/boot/crt0.S
+++ b/arch/ppc64/boot/crt0.S
@@ -12,8 +12,8 @@
12#include "ppc_asm.h" 12#include "ppc_asm.h"
13 13
14 .text 14 .text
15 .globl _start 15 .globl _zimage_start
16_start: 16_zimage_start:
17 bl reloc_offset 17 bl reloc_offset
18 18
19reloc_offset: 19reloc_offset:
diff --git a/arch/ppc64/boot/zImage.lds b/arch/ppc64/boot/zImage.lds
index 79d62c733ec..4b6bb3ffe3d 100644
--- a/arch/ppc64/boot/zImage.lds
+++ b/arch/ppc64/boot/zImage.lds
@@ -1,6 +1,9 @@
1OUTPUT_ARCH(powerpc:common) 1OUTPUT_ARCH(powerpc:common)
2ENTRY(_zimage_start)
2SECTIONS 3SECTIONS
3{ 4{
5 . = (4*1024*1024);
6 _start = .;
4 .text : 7 .text :
5 { 8 {
6 *(.text) 9 *(.text)