ENTRY(_start)
SECTIONS
{
- . = 0x00000000;
+ . = 0x00000000;
+ .text :
+ {
+ __uboot_img_start = .;
+ . = 0x400;
+ __ivt_start = .;
+ KEEP(*(.ivt*))
+ . = 0x1000;
+ __ivt_end = .;
+ *(.__image_copy_start)
+ *(.vectors)
+ CPUDIR/start.o (.text*)
+ *(.text*)
+ } = 0xadde01f0
- . = ALIGN(4);
- .text :
- {
- board/karo/tx6/lowlevel_init.o (.text*)
- __image_copy_start = .;
- CPUDIR/start.o (.text*)
- *(.text*)
- }
+ . = ALIGN(4);
+ .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
- . = ALIGN(4);
- .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
+ . = ALIGN(4);
+ .data : {
+ *(.data*)
+ . = ALIGN(4);
+ }
- . = ALIGN(4);
- .data : {
- *(.data*)
- }
+ .u_boot_list : {
+ KEEP(*(SORT(.u_boot_list*)));
+ }
- . = ALIGN(4);
+ . = ALIGN(4);
+ .image_copy_end :
+ {
+ *(.__image_copy_end)
+ }
- . = .;
+ .rel_dyn_start :
+ {
+ *(.__rel_dyn_start)
+ }
- . = ALIGN(4);
- .u_boot_list : {
- #include <u-boot.lst>
+ .rel.dyn :
+ {
+ *(.rel*)
}
- . = ALIGN(4);
+ .rel_dyn_end :
+ {
+ *(.__rel_dyn_end)
+ }
- __image_copy_end = .;
+ .pad :
+ {
+ *(.pad)
+ . = ALIGN(4096);
+ } = 0x01f0adde
- .rel.dyn : {
- __rel_dyn_start = .;
- *(.rel*)
- __rel_dyn_end = .;
- }
+ .uboot_img_end :
+ {
+ KEEP(*(.__uboot_img_end))
+ }
- .dynsym : {
- __dynsym_start = .;
- *(.dynsym)
- }
+#ifdef CONFIG_SECURE_BOOT
+ .csf_data :
+ {
+ *(.__csf_data)
+ . = . + 0x2000;
+ }
+#endif
+ __uboot_img_len = . - __uboot_img_start;
- _end = .;
+/*
+ * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
+ * __bss_base and __bss_limit are for linker only (overlay ordering)
+ */
- .bss __rel_dyn_start (OVERLAY) : {
- __bss_start = .;
- *(.bss)
- . = ALIGN(4);
- __bss_end__ = .;
- }
+ .bss_start __rel_dyn_start (OVERLAY) : {
+ KEEP(*(.__bss_start));
+ __bss_base = .;
+ }
+
+ .bss __bss_base (OVERLAY) : {
+ *(.bss*)
+ . = ALIGN(4);
+ __bss_limit = .;
+ }
+ .bss_end __bss_limit (OVERLAY) : {
+ KEEP(*(.__bss_end));
+ }
- /DISCARD/ : { *(.dynstr*) }
- /DISCARD/ : { *(.dynamic*) }
- /DISCARD/ : { *(.plt*) }
- /DISCARD/ : { *(.interp*) }
- /DISCARD/ : { *(.gnu*) }
+ /DISCARD/ : { *(.debug*) }
+ /DISCARD/ : { *(.note*) }
+ /DISCARD/ : { *(.comment*) }
+ /DISCARD/ : { *(.dynbss) }
+ /DISCARD/ : { *(.dynstr*) }
+ /DISCARD/ : { *(.dynamic*) }
+ /DISCARD/ : { *(.plt*) }
+ /DISCARD/ : { *(.interp*) }
+ /DISCARD/ : { *(.gnu.hash) }
+ /DISCARD/ : { *(.gnu*) }
+ /DISCARD/ : { *(.ARM.exidx*) }
+ /DISCARD/ : { *(.gnu.linkonce.armexidx.*) }
}