1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * (C) Copyright 2019 4 * Rockchip Electronics Co., Ltd 5 * Kever Yang<kever.yang@rock-chips.com> 6 * 7 * (C) Copyright 2013 8 * David Feng <fenghua@phytium.com.cn> 9 * 10 * (C) Copyright 2002 11 * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> 12 * 13 * (C) Copyright 2010 14 * Texas Instruments, <www.ti.com> 15 * Aneesh V <aneesh@ti.com> 16 */ 17 18OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64") 19OUTPUT_ARCH(aarch64) 20ENTRY(_start) 21SECTIONS 22{ 23 . = 0x00000000; 24 25 .text : { 26 . = ALIGN(8); 27 *(.__image_copy_start) 28 CPUDIR/start.o (.text*) 29 *(.text*) 30 } 31 32 .rodata : { 33 . = ALIGN(8); 34 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 35 } 36 37 .data : { 38 . = ALIGN(8); 39 *(.data*) 40 } 41 42 .u_boot_list : { 43 . = ALIGN(8); 44 KEEP(*(SORT(.u_boot_list*))); 45 } 46 47 .image_copy_end : { 48 . = ALIGN(8); 49 *(.__image_copy_end) 50 } 51 52 .end : { 53 . = ALIGN(8); 54 *(.__end) 55 } 56 57 _image_binary_end = .; 58 59 .bss_start (NOLOAD) : { 60 . = ALIGN(8); 61 KEEP(*(.__bss_start)); 62 } 63 64 .bss (NOLOAD) : { 65 *(.bss*) 66 . = ALIGN(8); 67 } 68 69 .bss_end (NOLOAD) : { 70 KEEP(*(.__bss_end)); 71 } 72 73 /DISCARD/ : { *(.dynsym) } 74 /DISCARD/ : { *(.dynstr*) } 75 /DISCARD/ : { *(.dynamic*) } 76 /DISCARD/ : { *(.plt*) } 77 /DISCARD/ : { *(.interp*) } 78 /DISCARD/ : { *(.gnu*) } 79} 80 81#if defined(CONFIG_TPL_MAX_SIZE) 82ASSERT(__image_copy_end - __image_copy_start < (CONFIG_TPL_MAX_SIZE), \ 83 "TPL image too big"); 84#endif 85 86#if defined(CONFIG_TPL_BSS_MAX_SIZE) 87ASSERT(__bss_end - __bss_start < (CONFIG_TPL_BSS_MAX_SIZE), \ 88 "TPL image BSS too big"); 89#endif 90 91#if defined(CONFIG_TPL_MAX_FOOTPRINT) 92ASSERT(__bss_end - _start < (CONFIG_TPL_MAX_FOOTPRINT), \ 93 "TPL image plus BSS too big"); 94#endif 95