1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * (C) Copyright 2013 4 * David Feng <fenghua@phytium.com.cn> 5 * 6 * (C) Copyright 2002 7 * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> 8 * 9 * (C) Copyright 2010 10 * Texas Instruments, <www.ti.com> 11 * Aneesh V <aneesh@ti.com> 12 */ 13 14MEMORY { .sram : ORIGIN = IMAGE_TEXT_BASE, 15 LENGTH = IMAGE_MAX_SIZE } 16MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, 17 LENGTH = CONFIG_SPL_BSS_MAX_SIZE } 18 19OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") 20OUTPUT_ARCH(aarch64) 21ENTRY(_start) 22SECTIONS 23{ 24 __image_copy_start = ADDR(.text); 25 .text : { 26 . = ALIGN(8); 27 CPUDIR/start.o (.text*) 28 *(.text*) 29 } >.sram 30 31 .rodata : { 32 . = ALIGN(8); 33 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 34 } >.sram 35 36 .data : { 37 . = ALIGN(8); 38 *(.data*) 39 } >.sram 40 41#ifdef CONFIG_SPL_RECOVER_DATA_SECTION 42 .data_save : { 43 *(.__data_save_start) 44 . = SIZEOF(.data); 45 *(.__data_save_end) 46 } >.sram 47#endif 48 49 __u_boot_list : { 50 . = ALIGN(8); 51 KEEP(*(SORT(__u_boot_list*))); 52 } >.sram 53 54 . = ALIGN(8); 55 __image_copy_end = .; 56 57 .end : { 58 . = ALIGN(8); 59 *(.__end) 60 } >.sram 61 62 _image_binary_end = .; 63 64 .bss : { 65 __bss_start = .; 66 *(.bss*) 67 . = ALIGN(8); 68 __bss_end = .; 69 } >.sdram 70 71 /DISCARD/ : { *(.rela*) } 72 /DISCARD/ : { *(.dynsym) } 73 /DISCARD/ : { *(.dynstr*) } 74 /DISCARD/ : { *(.dynamic*) } 75 /DISCARD/ : { *(.plt*) } 76 /DISCARD/ : { *(.interp*) } 77 /DISCARD/ : { *(.gnu*) } 78 79#ifdef CONFIG_LINUX_KERNEL_IMAGE_HEADER 80#include "linux-kernel-image-header-vars.h" 81#endif 82} 83 84ASSERT(ADDR(.bss) % 8 == 0, \ 85 ".bss must be 8-byte aligned"); 86