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