1*83d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */ 2a2bc4321SGilles Gameiro/* 3a2bc4321SGilles Gameiro * Copyright (c) 2012-2014 Birdland Audio - http://birdland.com/oem 4a2bc4321SGilles Gameiro * Copyright (c) 2004-2008 Texas Instruments 5a2bc4321SGilles Gameiro * 6a2bc4321SGilles Gameiro * (C) Copyright 2002 7a2bc4321SGilles Gameiro * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> 8a2bc4321SGilles Gameiro * 9a2bc4321SGilles Gameiro * See file CREDITS for list of people who contributed to this 10a2bc4321SGilles Gameiro * project. 11a2bc4321SGilles Gameiro */ 12a2bc4321SGilles Gameiro 13a2bc4321SGilles GameiroOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 14a2bc4321SGilles GameiroOUTPUT_ARCH(arm) 15a2bc4321SGilles GameiroENTRY(_start) 16a2bc4321SGilles GameiroSECTIONS 17a2bc4321SGilles Gameiro{ 18a2bc4321SGilles Gameiro . = 0x00000000; 19a2bc4321SGilles Gameiro 20a2bc4321SGilles Gameiro . = ALIGN(4); 21a2bc4321SGilles Gameiro .text : 22a2bc4321SGilles Gameiro { 23a2bc4321SGilles Gameiro *(.__image_copy_start) 24a2bc4321SGilles Gameiro *(.vectors) 25a2bc4321SGilles Gameiro CPUDIR/start.o (.text*) 26a2bc4321SGilles Gameiro board/birdland/bav335x/built-in.o (.text*) 27a2bc4321SGilles Gameiro *(.text*) 28a2bc4321SGilles Gameiro } 29a2bc4321SGilles Gameiro 30a2bc4321SGilles Gameiro . = ALIGN(4); 31a2bc4321SGilles Gameiro .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } 32a2bc4321SGilles Gameiro 33a2bc4321SGilles Gameiro . = ALIGN(4); 34a2bc4321SGilles Gameiro .data : { 35a2bc4321SGilles Gameiro *(.data*) 36a2bc4321SGilles Gameiro } 37a2bc4321SGilles Gameiro 38a2bc4321SGilles Gameiro . = ALIGN(4); 39a2bc4321SGilles Gameiro 40a2bc4321SGilles Gameiro . = .; 41a2bc4321SGilles Gameiro 42a2bc4321SGilles Gameiro . = ALIGN(4); 43a2bc4321SGilles Gameiro .u_boot_list : { 44a2bc4321SGilles Gameiro KEEP(*(SORT(.u_boot_list*))); 45a2bc4321SGilles Gameiro } 46a2bc4321SGilles Gameiro 47a2bc4321SGilles Gameiro . = ALIGN(4); 48a2bc4321SGilles Gameiro 49a2bc4321SGilles Gameiro .image_copy_end : 50a2bc4321SGilles Gameiro { 51a2bc4321SGilles Gameiro *(.__image_copy_end) 52a2bc4321SGilles Gameiro } 53a2bc4321SGilles Gameiro 54a2bc4321SGilles Gameiro .rel_dyn_start : 55a2bc4321SGilles Gameiro { 56a2bc4321SGilles Gameiro *(.__rel_dyn_start) 57a2bc4321SGilles Gameiro } 58a2bc4321SGilles Gameiro 59a2bc4321SGilles Gameiro .rel.dyn : { 60a2bc4321SGilles Gameiro *(.rel*) 61a2bc4321SGilles Gameiro } 62a2bc4321SGilles Gameiro 63a2bc4321SGilles Gameiro .rel_dyn_end : 64a2bc4321SGilles Gameiro { 65a2bc4321SGilles Gameiro *(.__rel_dyn_end) 66a2bc4321SGilles Gameiro } 67a2bc4321SGilles Gameiro 68a2bc4321SGilles Gameiro .hash : { *(.hash*) } 69a2bc4321SGilles Gameiro 70a2bc4321SGilles Gameiro .end : 71a2bc4321SGilles Gameiro { 72a2bc4321SGilles Gameiro *(.__end) 73a2bc4321SGilles Gameiro } 74a2bc4321SGilles Gameiro 75a2bc4321SGilles Gameiro _image_binary_end = .; 76a2bc4321SGilles Gameiro 77a2bc4321SGilles Gameiro /* 78a2bc4321SGilles Gameiro * Deprecated: this MMU section is used by pxa at present but 79a2bc4321SGilles Gameiro * should not be used by new boards/CPUs. 80a2bc4321SGilles Gameiro */ 81a2bc4321SGilles Gameiro . = ALIGN(4096); 82a2bc4321SGilles Gameiro .mmutable : { 83a2bc4321SGilles Gameiro *(.mmutable) 84a2bc4321SGilles Gameiro } 85a2bc4321SGilles Gameiro 86a2bc4321SGilles Gameiro/* 87a2bc4321SGilles Gameiro * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c 88a2bc4321SGilles Gameiro * __bss_base and __bss_limit are for linker only (overlay ordering) 89a2bc4321SGilles Gameiro */ 90a2bc4321SGilles Gameiro 91a2bc4321SGilles Gameiro .bss_start __rel_dyn_start (OVERLAY) : { 92a2bc4321SGilles Gameiro KEEP(*(.__bss_start)); 93a2bc4321SGilles Gameiro __bss_base = .; 94a2bc4321SGilles Gameiro } 95a2bc4321SGilles Gameiro 96a2bc4321SGilles Gameiro .bss __bss_base (OVERLAY) : { 97a2bc4321SGilles Gameiro *(.bss*) 98a2bc4321SGilles Gameiro . = ALIGN(4); 99a2bc4321SGilles Gameiro __bss_limit = .; 100a2bc4321SGilles Gameiro } 101a2bc4321SGilles Gameiro 102a2bc4321SGilles Gameiro .bss_end __bss_limit (OVERLAY) : { 103a2bc4321SGilles Gameiro KEEP(*(.__bss_end)); 104a2bc4321SGilles Gameiro } 105a2bc4321SGilles Gameiro 106a2bc4321SGilles Gameiro .dynsym _image_binary_end : { *(.dynsym) } 107a2bc4321SGilles Gameiro .dynbss : { *(.dynbss) } 108a2bc4321SGilles Gameiro .dynstr : { *(.dynstr*) } 109a2bc4321SGilles Gameiro .dynamic : { *(.dynamic*) } 110a2bc4321SGilles Gameiro .gnu.hash : { *(.gnu.hash) } 111a2bc4321SGilles Gameiro .plt : { *(.plt*) } 112a2bc4321SGilles Gameiro .interp : { *(.interp*) } 113a2bc4321SGilles Gameiro .gnu : { *(.gnu*) } 114a2bc4321SGilles Gameiro .ARM.exidx : { *(.ARM.exidx*) } 115a2bc4321SGilles Gameiro} 116