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