1/* 2 * (C) Copyright 2003 3 * Wolfgang Denk Engineering, <wd@denx.de> 4 * 5 * SPDX-License-Identifier: GPL-2.0+ 6 */ 7 8#if defined(CONFIG_64BIT) 9#define PTR_COUNT_SHIFT 3 10#else 11#define PTR_COUNT_SHIFT 2 12#endif 13 14OUTPUT_ARCH(mips) 15ENTRY(_start) 16SECTIONS 17{ 18 . = 0x00000000; 19 20 . = ALIGN(4); 21 .text : { 22 __text_start = .; 23 *(.text*) 24 __text_end = .; 25 } 26 27 . = ALIGN(4); 28 .rodata : { 29 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 30 } 31 32 . = ALIGN(4); 33 .data : { 34 *(.data*) 35 } 36 37 . = ALIGN(4); 38 .sdata : { 39 *(.sdata*) 40 } 41 42 . = ALIGN(4); 43 .u_boot_list : { 44 KEEP(*(SORT(.u_boot_list*))); 45 } 46 47 . = ALIGN(4); 48 __image_copy_end = .; 49 __init_end = .; 50 51 /* 52 * .rel must come last so that the mips-relocs tool can shrink 53 * the section size & the PT_LOAD program header filesz. 54 */ 55 .rel : { 56 __rel_start = .; 57 BYTE(0x0) 58 . += (32 * 1024) - 1; 59 } 60 61 _end = .; 62 63 .bss __rel_start (OVERLAY) : { 64 __bss_start = .; 65 *(.sbss.*) 66 *(.bss.*) 67 *(COMMON) 68 . = ALIGN(4); 69 __bss_end = .; 70 } 71 72 .dynsym _end : { 73 *(.dynsym) 74 } 75 76 .dynbss : { 77 *(.dynbss) 78 } 79 80 .dynstr : { 81 *(.dynstr) 82 } 83 84 .dynamic : { 85 *(.dynamic) 86 } 87 88 .plt : { 89 *(.plt) 90 } 91 92 .interp : { 93 *(.interp) 94 } 95 96 .gnu : { 97 *(.gnu*) 98 } 99 100 .MIPS.stubs : { 101 *(.MIPS.stubs) 102 } 103 104 .hash : { 105 *(.hash) 106 } 107} 108