[XTENSA] Use preprocessor to generate the linker script for the ELF boot image
authorChris Zankel <chris@zankel.net>
Tue, 12 Feb 2008 21:14:17 +0000 (13:14 -0800)
committerChris Zankel <chris@zankel.net>
Thu, 14 Feb 2008 01:26:17 +0000 (17:26 -0800)
Signed-off-by: Marc Gauthier <marc@tensilica.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
arch/xtensa/boot/boot-elf/Makefile
arch/xtensa/boot/boot-elf/boot.lds.S [moved from arch/xtensa/boot/boot-elf/boot.ld with 91% similarity]

index 734db7f..9cf50ef 100644 (file)
@@ -14,12 +14,13 @@ OBJCOPY_ARGS    := -O elf32-xtensa-le
 endif
 
 export OBJCOPY_ARGS
+export CPPFLAGS_boot.lds += -P -C
 
 boot-y         := bootstrap.o
 
 OBJS           := $(addprefix $(obj)/,$(boot-y))
 
-Image: vmlinux $(OBJS)
+Image: vmlinux $(OBJS) arch/$(ARCH)/boot/boot-elf/boot.lds
        $(OBJCOPY) --strip-all -R .comment -R .xt.insn -O binary \
                vmlinux vmlinux.tmp
        $(OBJCOPY) $(OBJCOPY_ARGS) -R .comment \
@@ -27,7 +28,7 @@ Image:        vmlinux $(OBJS)
                --set-section-flags image=contents,alloc,load,load,data \
                $(OBJS) $@.tmp
        $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \
-               -T $(srctree)/arch/$(ARCH)/boot/boot-elf/boot.ld \
+               -T arch/$(ARCH)/boot/boot-elf/boot.lds \
                -o arch/$(ARCH)/boot/$@.elf $@.tmp
        rm -f $@.tmp vmlinux.tmp
 
similarity index 91%
rename from arch/xtensa/boot/boot-elf/boot.ld
rename to arch/xtensa/boot/boot-elf/boot.lds.S
index e33855c..849dfca 100644 (file)
@@ -1,3 +1,4 @@
+#include <asm/variant/core.h>
 OUTPUT_ARCH(xtensa)
 ENTRY(_ResetVector)
 
@@ -62,7 +63,7 @@ SECTIONS
        _end = .;
        _param_start = .;
 
-       .ResetVector.text 0xfe000020 :
+       .ResetVector.text XCHAL_RESET_VECTOR_VADDR :
        {
                *(.ResetVector.text)
        }