165cdd643SAlbert ARIBAUD/* 265cdd643SAlbert ARIBAUD * Copyright (c) 2004-2008 Texas Instruments 365cdd643SAlbert ARIBAUD * 465cdd643SAlbert ARIBAUD * (C) Copyright 2002 565cdd643SAlbert ARIBAUD * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> 665cdd643SAlbert ARIBAUD * 71a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 865cdd643SAlbert ARIBAUD */ 965cdd643SAlbert ARIBAUD 1065cdd643SAlbert ARIBAUDOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 1165cdd643SAlbert ARIBAUDOUTPUT_ARCH(arm) 1265cdd643SAlbert ARIBAUDENTRY(_start) 1365cdd643SAlbert ARIBAUDSECTIONS 1465cdd643SAlbert ARIBAUD{ 1565cdd643SAlbert ARIBAUD . = 0x00000000; 1665cdd643SAlbert ARIBAUD 1765cdd643SAlbert ARIBAUD . = ALIGN(4); 1865cdd643SAlbert ARIBAUD .text : 1965cdd643SAlbert ARIBAUD { 2065cdd643SAlbert ARIBAUD __image_copy_start = .; 2165cdd643SAlbert ARIBAUD CPUDIR/start.o (.text*) 2265cdd643SAlbert ARIBAUD *(.text*) 2365cdd643SAlbert ARIBAUD } 2465cdd643SAlbert ARIBAUD 2565cdd643SAlbert ARIBAUD . = ALIGN(4); 2665cdd643SAlbert ARIBAUD .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } 2765cdd643SAlbert ARIBAUD 2865cdd643SAlbert ARIBAUD . = ALIGN(4); 2965cdd643SAlbert ARIBAUD .data : { 3065cdd643SAlbert ARIBAUD *(.data*) 3165cdd643SAlbert ARIBAUD } 3265cdd643SAlbert ARIBAUD 3365cdd643SAlbert ARIBAUD . = ALIGN(4); 3465cdd643SAlbert ARIBAUD 3565cdd643SAlbert ARIBAUD . = .; 3665cdd643SAlbert ARIBAUD 3765cdd643SAlbert ARIBAUD __image_copy_end = .; 3865cdd643SAlbert ARIBAUD 3965cdd643SAlbert ARIBAUD .rel.dyn : { 4065cdd643SAlbert ARIBAUD __rel_dyn_start = .; 4165cdd643SAlbert ARIBAUD *(.rel*) 4265cdd643SAlbert ARIBAUD __rel_dyn_end = .; 4365cdd643SAlbert ARIBAUD } 4465cdd643SAlbert ARIBAUD 4565cdd643SAlbert ARIBAUD _end = .; 4665cdd643SAlbert ARIBAUD 4765cdd643SAlbert ARIBAUD .bss __rel_dyn_start (OVERLAY) : { 4865cdd643SAlbert ARIBAUD __bss_start = .; 4965cdd643SAlbert ARIBAUD *(.bss*) 5065cdd643SAlbert ARIBAUD . = ALIGN(4); 510ce033d2STom Rini __bss_end = .; 5265cdd643SAlbert ARIBAUD } 5365cdd643SAlbert ARIBAUD 54*47ed5dd0SAlbert ARIBAUD .dynsym _end : { *(.dynsym) } 55*47ed5dd0SAlbert ARIBAUD .dynbss : { *(.dynbss) } 56*47ed5dd0SAlbert ARIBAUD .dynstr : { *(.dynstr*) } 57*47ed5dd0SAlbert ARIBAUD .dynamic : { *(.dynamic*) } 58*47ed5dd0SAlbert ARIBAUD .hash : { *(.hash*) } 59*47ed5dd0SAlbert ARIBAUD .plt : { *(.plt*) } 60*47ed5dd0SAlbert ARIBAUD .interp : { *(.interp*) } 61*47ed5dd0SAlbert ARIBAUD .gnu : { *(.gnu*) } 62*47ed5dd0SAlbert ARIBAUD .ARM.exidx : { *(.ARM.exidx*) } 6365cdd643SAlbert ARIBAUD} 6465cdd643SAlbert ARIBAUD 656ebc3461SAlbert ARIBAUD#if defined(CONFIG_SPL_MAX_SIZE) 666ebc3461SAlbert ARIBAUDASSERT(__image_copy_end - __image_copy_start < (CONFIG_SPL_MAX_SIZE), \ 676ebc3461SAlbert ARIBAUD "SPL image too big"); 686ebc3461SAlbert ARIBAUD#endif 696ebc3461SAlbert ARIBAUD 706ebc3461SAlbert ARIBAUD#if defined(CONFIG_SPL_BSS_MAX_SIZE) 716ebc3461SAlbert ARIBAUDASSERT(__bss_end - __bss_start < (CONFIG_SPL_BSS_MAX_SIZE), \ 726ebc3461SAlbert ARIBAUD "SPL image BSS too big"); 736ebc3461SAlbert ARIBAUD#endif 746ebc3461SAlbert ARIBAUD 756ebc3461SAlbert ARIBAUD#if defined(CONFIG_SPL_MAX_FOOTPRINT) 766ebc3461SAlbert ARIBAUDASSERT(__bss_end - _start < (CONFIG_SPL_MAX_FOOTPRINT), \ 776ebc3461SAlbert ARIBAUD "SPL image plus BSS too big"); 7865cdd643SAlbert ARIBAUD#endif 79