aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-05-09 11:25:08 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-05-09 11:25:08 -0400
commit7b022d07a0fd2ce02d4456b732c674ff1d16f5ce (patch)
tree02bd8fccea476085e5184f413d4210695f83c88b /arch
parentdce97c8cb2ad365fa87dc6924d99528c21c63912 (diff)
sh: Tidy up the ldscript output format specifier.
Tie this in to the Makefile directly, where we already know what we are running on. This tidies up the linker script a bit, and is prep work for unifying the arch/sh/boot/compressed linker scripts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/Makefile8
-rw-r--r--arch/sh/boot/compressed/Makefile_323
-rw-r--r--arch/sh/boot/compressed/Makefile_644
-rw-r--r--arch/sh/kernel/vmlinux.lds.S6
4 files changed, 11 insertions, 10 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 68348e700288..b941dc9b20f4 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -100,13 +100,17 @@ LDFLAGS_vmlinux += --defsym phys_stext=_stext-$(CONFIG_PAGE_OFFSET) \
100endif 100endif
101 101
102ifdef CONFIG_CPU_LITTLE_ENDIAN 102ifdef CONFIG_CPU_LITTLE_ENDIAN
103LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64' 103ld-bfd := elf32-$(UTS_MACHINE)-linux
104LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64' --oformat $(ld-bfd)
104LDFLAGS += -EL 105LDFLAGS += -EL
105else 106else
106LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64+4' 107ld-bfd := elf32-$(UTS_MACHINE)big-linux
108LDFLAGS_vmlinux += --defsym 'jiffies=jiffies_64+4' --oformat $(ld-bfd)
107LDFLAGS += -EB 109LDFLAGS += -EB
108endif 110endif
109 111
112export ld-bfd
113
110head-y := arch/sh/kernel/init_task.o 114head-y := arch/sh/kernel/init_task.o
111head-$(CONFIG_SUPERH32) += arch/sh/kernel/head_32.o 115head-$(CONFIG_SUPERH32) += arch/sh/kernel/head_32.o
112head-$(CONFIG_SUPERH64) += arch/sh/kernel/head_64.o 116head-$(CONFIG_SUPERH64) += arch/sh/kernel/head_64.o
diff --git a/arch/sh/boot/compressed/Makefile_32 b/arch/sh/boot/compressed/Makefile_32
index b96a055b053e..249255729d7c 100644
--- a/arch/sh/boot/compressed/Makefile_32
+++ b/arch/sh/boot/compressed/Makefile_32
@@ -28,7 +28,8 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS)
28KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS)) 28KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
29endif 29endif
30 30
31LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup -T $(obj)/../../kernel/vmlinux.lds 31LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(IMAGE_OFFSET) -e startup \
32 -T $(obj)/../../kernel/vmlinux.lds
32 33
33$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(LIBGCC) FORCE 34$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o $(LIBGCC) FORCE
34 $(call if_changed,ld) 35 $(call if_changed,ld)
diff --git a/arch/sh/boot/compressed/Makefile_64 b/arch/sh/boot/compressed/Makefile_64
index 658d4f915556..541a529d066c 100644
--- a/arch/sh/boot/compressed/Makefile_64
+++ b/arch/sh/boot/compressed/Makefile_64
@@ -24,8 +24,8 @@ OBJECTS := $(obj)/vmlinux_64.lds $(obj)/head_64.o $(obj)/misc_64.o \
24ZIMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \ 24ZIMAGE_OFFSET := $(shell /bin/bash -c 'printf "0x%08x" \
25 $$[$(CONFIG_PAGE_OFFSET)+0x400000+0x10000]') 25 $$[$(CONFIG_PAGE_OFFSET)+0x400000+0x10000]')
26 26
27LDFLAGS_vmlinux := -Ttext $(ZIMAGE_OFFSET) -e startup \ 27LDFLAGS_vmlinux := --oformat $(ld-bfd) -Ttext $(ZIMAGE_OFFSET) -e startup \
28 -T $(obj)/../../kernel/vmlinux.lds 28 -T $(obj)/../../kernel/vmlinux.lds
29 29
30$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o FORCE 30$(obj)/vmlinux: $(OBJECTS) $(obj)/piggy.o FORCE
31 $(call if_changed,ld) 31 $(call if_changed,ld)
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
index 8d97f52ce322..1a2c8db5cb2a 100644
--- a/arch/sh/kernel/vmlinux.lds.S
+++ b/arch/sh/kernel/vmlinux.lds.S
@@ -6,12 +6,8 @@
6#define LOAD_OFFSET CONFIG_PAGE_OFFSET 6#define LOAD_OFFSET CONFIG_PAGE_OFFSET
7OUTPUT_ARCH(sh:sh5) 7OUTPUT_ARCH(sh:sh5)
8#else 8#else
9#define LOAD_OFFSET 0
9OUTPUT_ARCH(sh) 10OUTPUT_ARCH(sh)
10#ifdef CONFIG_CPU_LITTLE_ENDIAN
11OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linux", "elf32-sh-linux")
12#else
13OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbig-linux", "elf32-shbig-linux")
14#endif
15#endif 11#endif
16 12
17#include <asm/thread_info.h> 13#include <asm/thread_info.h>