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