diff options
author | Chris Zankel <chris@zankel.net> | 2008-02-12 13:14:17 -0800 |
---|---|---|
committer | Chris Zankel <chris@zankel.net> | 2008-02-13 17:26:17 -0800 |
commit | 36dffadb7f19671aab58be43c5896ea87d5fb1bf (patch) | |
tree | cd319ff25851048fab09f382a0eded96f112924f /arch/xtensa/boot/boot-elf/boot.lds.S | |
parent | 6d15d109632ff01e13c26893030e2ed9e6c4e3fd (diff) | |
download | linux-stable-36dffadb7f19671aab58be43c5896ea87d5fb1bf.tar.gz linux-stable-36dffadb7f19671aab58be43c5896ea87d5fb1bf.tar.bz2 linux-stable-36dffadb7f19671aab58be43c5896ea87d5fb1bf.zip |
[XTENSA] Use preprocessor to generate the linker script for the ELF boot image
Signed-off-by: Marc Gauthier <marc@tensilica.com>
Signed-off-by: Chris Zankel <chris@zankel.net>
Diffstat (limited to 'arch/xtensa/boot/boot-elf/boot.lds.S')
-rw-r--r-- | arch/xtensa/boot/boot-elf/boot.lds.S | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/arch/xtensa/boot/boot-elf/boot.lds.S b/arch/xtensa/boot/boot-elf/boot.lds.S new file mode 100644 index 000000000000..849dfcafd518 --- /dev/null +++ b/arch/xtensa/boot/boot-elf/boot.lds.S @@ -0,0 +1,73 @@ +#include <asm/variant/core.h> +OUTPUT_ARCH(xtensa) +ENTRY(_ResetVector) + +SECTIONS +{ + .start 0xD0000000 : { *(.start) } + + .text 0xD0000000: + { + __reloc_start = . ; + _text_start = . ; + *(.literal .text.literal .text) + _text_end = . ; + } + + .rodata ALIGN(0x04): + { + *(.rodata) + *(.rodata1) + } + + .data ALIGN(0x04): + { + *(.data) + *(.data1) + *(.sdata) + *(.sdata2) + *(.got.plt) + *(.got) + *(.dynamic) + } + + __reloc_end = . ; + + .initrd ALIGN(0x10) : + { + boot_initrd_start = . ; + *(.initrd) + boot_initrd_end = .; + } + + . = ALIGN(0x10); + __image_load = . ; + .image 0xd0001000: + { + _image_start = .; + *(image) + . = (. + 3) & ~ 3; + _image_end = . ; + } + + + .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3): + { + __bss_start = .; + *(.sbss) + *(.scommon) + *(.dynbss) + *(.bss) + __bss_end = .; + } + _end = .; + _param_start = .; + + .ResetVector.text XCHAL_RESET_VECTOR_VADDR : + { + *(.ResetVector.text) + } + + + PROVIDE (end = .); +} |