1cb5dbca8SGabor Juhos/* 2cb5dbca8SGabor Juhos * (C) Copyright 2003 3cb5dbca8SGabor Juhos * Wolfgang Denk Engineering, <wd@denx.de> 4cb5dbca8SGabor Juhos * 51a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6cb5dbca8SGabor Juhos */ 7cb5dbca8SGabor Juhos 8cb5dbca8SGabor Juhos#if defined(CONFIG_64BIT) 9cb5dbca8SGabor Juhos#define PTR_COUNT_SHIFT 3 10cb5dbca8SGabor Juhos#else 11cb5dbca8SGabor Juhos#define PTR_COUNT_SHIFT 2 12cb5dbca8SGabor Juhos#endif 13cb5dbca8SGabor Juhos 14cb5dbca8SGabor JuhosOUTPUT_ARCH(mips) 15cb5dbca8SGabor JuhosENTRY(_start) 16cb5dbca8SGabor JuhosSECTIONS 17cb5dbca8SGabor Juhos{ 18cb5dbca8SGabor Juhos . = 0x00000000; 19cb5dbca8SGabor Juhos 20cb5dbca8SGabor Juhos . = ALIGN(4); 21cb5dbca8SGabor Juhos .text : { 22d263cda5SPaul Burton __text_start = .; 23cb5dbca8SGabor Juhos *(.text*) 24d263cda5SPaul Burton __text_end = .; 25cb5dbca8SGabor Juhos } 26cb5dbca8SGabor Juhos 27cb5dbca8SGabor Juhos . = ALIGN(4); 28cb5dbca8SGabor Juhos .rodata : { 29cb5dbca8SGabor Juhos *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 30cb5dbca8SGabor Juhos } 31cb5dbca8SGabor Juhos 32cb5dbca8SGabor Juhos . = ALIGN(4); 33cb5dbca8SGabor Juhos .data : { 34cb5dbca8SGabor Juhos *(.data*) 35cb5dbca8SGabor Juhos } 36cb5dbca8SGabor Juhos 37cb5dbca8SGabor Juhos . = ALIGN(4); 38cb5dbca8SGabor Juhos .sdata : { 39cb5dbca8SGabor Juhos *(.sdata*) 40cb5dbca8SGabor Juhos } 41cb5dbca8SGabor Juhos 42cb5dbca8SGabor Juhos . = ALIGN(4); 43cb5dbca8SGabor Juhos .u_boot_list : { 44ef123c52SAlbert ARIBAUD KEEP(*(SORT(.u_boot_list*))); 45cb5dbca8SGabor Juhos } 46cb5dbca8SGabor Juhos 47cb5dbca8SGabor Juhos . = ALIGN(4); 483420bf1cSDaniel Schwierzeck __image_copy_end = .; 49a0af08b9SPaul Burton __init_end = .; 503420bf1cSDaniel Schwierzeck 51265072baSDaniel Schwierzeck /* 52*703ec9ddSPaul Burton * .rel must come last so that the mips-relocs tool can shrink 53*703ec9ddSPaul Burton * the section size & the PT_LOAD program header filesz. 54265072baSDaniel Schwierzeck */ 55*703ec9ddSPaul Burton .rel : { 56*703ec9ddSPaul Burton __rel_start = .; 57*703ec9ddSPaul Burton BYTE(0x0) 58*703ec9ddSPaul Burton . += (32 * 1024) - 1; 59265072baSDaniel Schwierzeck } 60265072baSDaniel Schwierzeck 6179fd7e64SDaniel Schwierzeck _end = .; 620ba8926eSGabor Juhos 63*703ec9ddSPaul Burton .bss __rel_start (OVERLAY) : { 64a52852c5SDaniel Schwierzeck __bss_start = .; 65a52852c5SDaniel Schwierzeck *(.sbss.*) 66a52852c5SDaniel Schwierzeck *(.bss.*) 67a52852c5SDaniel Schwierzeck *(COMMON) 68a52852c5SDaniel Schwierzeck . = ALIGN(4); 69a52852c5SDaniel Schwierzeck __bss_end = .; 70cb5dbca8SGabor Juhos } 710ba8926eSGabor Juhos 7279fd7e64SDaniel Schwierzeck .dynsym _end : { 7379fd7e64SDaniel Schwierzeck *(.dynsym) 7479fd7e64SDaniel Schwierzeck } 7579fd7e64SDaniel Schwierzeck 7679fd7e64SDaniel Schwierzeck .dynbss : { 770ba8926eSGabor Juhos *(.dynbss) 7879fd7e64SDaniel Schwierzeck } 7979fd7e64SDaniel Schwierzeck 8079fd7e64SDaniel Schwierzeck .dynstr : { 810ba8926eSGabor Juhos *(.dynstr) 8279fd7e64SDaniel Schwierzeck } 8379fd7e64SDaniel Schwierzeck 8479fd7e64SDaniel Schwierzeck .dynamic : { 850ba8926eSGabor Juhos *(.dynamic) 8679fd7e64SDaniel Schwierzeck } 8779fd7e64SDaniel Schwierzeck 8879fd7e64SDaniel Schwierzeck .plt : { 890ba8926eSGabor Juhos *(.plt) 9079fd7e64SDaniel Schwierzeck } 9179fd7e64SDaniel Schwierzeck 9279fd7e64SDaniel Schwierzeck .interp : { 9379fd7e64SDaniel Schwierzeck *(.interp) 9479fd7e64SDaniel Schwierzeck } 9579fd7e64SDaniel Schwierzeck 9679fd7e64SDaniel Schwierzeck .gnu : { 9779fd7e64SDaniel Schwierzeck *(.gnu*) 9879fd7e64SDaniel Schwierzeck } 9979fd7e64SDaniel Schwierzeck 10079fd7e64SDaniel Schwierzeck .MIPS.stubs : { 10179fd7e64SDaniel Schwierzeck *(.MIPS.stubs) 10279fd7e64SDaniel Schwierzeck } 10379fd7e64SDaniel Schwierzeck 10479fd7e64SDaniel Schwierzeck .hash : { 10579fd7e64SDaniel Schwierzeck *(.hash) 1060ba8926eSGabor Juhos } 107cb5dbca8SGabor Juhos} 108