17237d22bSSergey Kostanbaev/* 27237d22bSSergey Kostanbaev * 37237d22bSSergey Kostanbaev * Copyright (C) 2013 47237d22bSSergey Kostanbaev * Sergey Kostanbaev <sergey.kostanbaev <at> fairwaves.ru> 57237d22bSSergey Kostanbaev * 67237d22bSSergey Kostanbaev * Copyright (c) 2004-2008 Texas Instruments 77237d22bSSergey Kostanbaev * 87237d22bSSergey Kostanbaev * (C) Copyright 2002 97237d22bSSergey Kostanbaev * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> 107237d22bSSergey Kostanbaev * 117237d22bSSergey Kostanbaev * SPDX-License-Identifier: GPL-2.0+ 127237d22bSSergey Kostanbaev */ 137237d22bSSergey Kostanbaev 147237d22bSSergey KostanbaevOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 157237d22bSSergey KostanbaevOUTPUT_ARCH(arm) 167237d22bSSergey KostanbaevENTRY(_start) 177237d22bSSergey KostanbaevSECTIONS 187237d22bSSergey Kostanbaev{ 197237d22bSSergey Kostanbaev . = 0x00000000; 207237d22bSSergey Kostanbaev 217237d22bSSergey Kostanbaev . = ALIGN(4); 227237d22bSSergey Kostanbaev .text : { 237237d22bSSergey Kostanbaev *(.__image_copy_start) 24*0bf62d7bSSergey Kostanbaev *(.vectors) 257237d22bSSergey Kostanbaev arch/arm/cpu/arm920t/start.o (.text*) 267237d22bSSergey Kostanbaev . = 0x1000; 277237d22bSSergey Kostanbaev 287237d22bSSergey Kostanbaev LONG(0x53555243) 297237d22bSSergey Kostanbaev *(.text*) 307237d22bSSergey Kostanbaev } 317237d22bSSergey Kostanbaev 327237d22bSSergey Kostanbaev . = ALIGN(4); 337237d22bSSergey Kostanbaev .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } 347237d22bSSergey Kostanbaev 357237d22bSSergey Kostanbaev . = ALIGN(4); 367237d22bSSergey Kostanbaev .data : { 377237d22bSSergey Kostanbaev *(.data*) 387237d22bSSergey Kostanbaev } 397237d22bSSergey Kostanbaev 407237d22bSSergey Kostanbaev . = ALIGN(4); 417237d22bSSergey Kostanbaev 427237d22bSSergey Kostanbaev . = .; 437237d22bSSergey Kostanbaev 447237d22bSSergey Kostanbaev . = ALIGN(4); 457237d22bSSergey Kostanbaev .u_boot_list : { 467237d22bSSergey Kostanbaev KEEP(*(SORT(.u_boot_list*))); 477237d22bSSergey Kostanbaev } 487237d22bSSergey Kostanbaev 497237d22bSSergey Kostanbaev . = ALIGN(4); 507237d22bSSergey Kostanbaev 517237d22bSSergey Kostanbaev .image_copy_end : 527237d22bSSergey Kostanbaev { 537237d22bSSergey Kostanbaev *(.__image_copy_end) 547237d22bSSergey Kostanbaev } 557237d22bSSergey Kostanbaev 567237d22bSSergey Kostanbaev .rel_dyn_start : 577237d22bSSergey Kostanbaev { 587237d22bSSergey Kostanbaev *(.__rel_dyn_start) 597237d22bSSergey Kostanbaev } 607237d22bSSergey Kostanbaev 617237d22bSSergey Kostanbaev .rel.dyn : { 627237d22bSSergey Kostanbaev *(.rel*) 637237d22bSSergey Kostanbaev } 647237d22bSSergey Kostanbaev 657237d22bSSergey Kostanbaev .rel_dyn_end : 667237d22bSSergey Kostanbaev { 677237d22bSSergey Kostanbaev *(.__rel_dyn_end) 687237d22bSSergey Kostanbaev } 697237d22bSSergey Kostanbaev 707237d22bSSergey Kostanbaev .end : 717237d22bSSergey Kostanbaev { 727237d22bSSergey Kostanbaev *(.__end) 737237d22bSSergey Kostanbaev } 747237d22bSSergey Kostanbaev 757237d22bSSergey Kostanbaev _image_binary_end = .; 767237d22bSSergey Kostanbaev 777237d22bSSergey Kostanbaev /* 787237d22bSSergey Kostanbaev * Deprecated: this MMU section is used by pxa at present but 797237d22bSSergey Kostanbaev * should not be used by new boards/CPUs. 807237d22bSSergey Kostanbaev */ 817237d22bSSergey Kostanbaev . = ALIGN(4096); 827237d22bSSergey Kostanbaev .mmutable : { 837237d22bSSergey Kostanbaev *(.mmutable) 847237d22bSSergey Kostanbaev } 857237d22bSSergey Kostanbaev 867237d22bSSergey Kostanbaev/* 877237d22bSSergey Kostanbaev * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c 887237d22bSSergey Kostanbaev * __bss_base and __bss_limit are for linker only (overlay ordering) 897237d22bSSergey Kostanbaev */ 907237d22bSSergey Kostanbaev 917237d22bSSergey Kostanbaev .bss_start __rel_dyn_start (OVERLAY) : { 927237d22bSSergey Kostanbaev KEEP(*(.__bss_start)); 937237d22bSSergey Kostanbaev __bss_base = .; 947237d22bSSergey Kostanbaev } 957237d22bSSergey Kostanbaev 967237d22bSSergey Kostanbaev .bss __bss_base (OVERLAY) : { 977237d22bSSergey Kostanbaev *(.bss*) 987237d22bSSergey Kostanbaev . = ALIGN(4); 997237d22bSSergey Kostanbaev __bss_limit = .; 1007237d22bSSergey Kostanbaev } 1017237d22bSSergey Kostanbaev 1027237d22bSSergey Kostanbaev .bss_end __bss_limit (OVERLAY) : { 1037237d22bSSergey Kostanbaev KEEP(*(.__bss_end)); 1047237d22bSSergey Kostanbaev } 1057237d22bSSergey Kostanbaev 1067237d22bSSergey Kostanbaev .dynsym _image_binary_end : { *(.dynsym) } 1077237d22bSSergey Kostanbaev .dynbss : { *(.dynbss) } 1087237d22bSSergey Kostanbaev .dynstr : { *(.dynstr*) } 1097237d22bSSergey Kostanbaev .dynamic : { *(.dynamic*) } 1107237d22bSSergey Kostanbaev .plt : { *(.plt*) } 1117237d22bSSergey Kostanbaev .interp : { *(.interp*) } 1127237d22bSSergey Kostanbaev .gnu.hash : { *(.gnu.hash) } 1137237d22bSSergey Kostanbaev .gnu : { *(.gnu*) } 1147237d22bSSergey Kostanbaev .ARM.exidx : { *(.ARM.exidx*) } 1157237d22bSSergey Kostanbaev .gnu.linkonce.armexidx : { *(.gnu.linkonce.armexidx.*) } 1167237d22bSSergey Kostanbaev} 117