1/* 2 * Copyright 2006, 2007 Freescale Semiconductor, Inc. 3 * 4 * See file CREDITS for list of people who contributed to this 5 * project. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License as 9 * published by the Free Software Foundation; either version 2 of 10 * the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20 * MA 02111-1307 USA 21 */ 22 23OUTPUT_ARCH(powerpc) 24 25SECTIONS 26{ 27 28 /* Read-only sections, merged into text segment: */ 29 .interp : { *(.interp) } 30 .hash : { *(.hash) } 31 .dynsym : { *(.dynsym) } 32 .dynstr : { *(.dynstr) } 33 .rel.text : { *(.rel.text) } 34 .rela.text : { *(.rela.text) } 35 .rel.data : { *(.rel.data) } 36 .rela.data : { *(.rela.data) } 37 .rel.rodata : { *(.rel.rodata) } 38 .rela.rodata : { *(.rela.rodata) } 39 .rel.got : { *(.rel.got) } 40 .rela.got : { *(.rela.got) } 41 .rel.ctors : { *(.rel.ctors) } 42 .rela.ctors : { *(.rela.ctors) } 43 .rel.dtors : { *(.rel.dtors) } 44 .rela.dtors : { *(.rela.dtors) } 45 .rel.bss : { *(.rel.bss) } 46 .rela.bss : { *(.rela.bss) } 47 .rel.plt : { *(.rel.plt) } 48 .rela.plt : { *(.rela.plt) } 49 .init : { *(.init) } 50 .plt : { *(.plt) } 51 .text : 52 { 53 arch/powerpc/cpu/mpc86xx/start.o (.text) 54 arch/powerpc/cpu/mpc86xx/traps.o (.text) 55 arch/powerpc/cpu/mpc86xx/interrupts.o (.text) 56 arch/powerpc/cpu/mpc86xx/cpu_init.o (.text) 57 arch/powerpc/cpu/mpc86xx/cpu.o (.text) 58 arch/powerpc/cpu/mpc86xx/speed.o (.text) 59 common/dlmalloc.o (.text) 60 lib/crc32.o (.text) 61 arch/powerpc/lib/extable.o (.text) 62 lib/zlib.o (.text) 63 *(.text) 64 *(.got1) 65 } 66 _etext = .; 67 PROVIDE (etext = .); 68 .rodata : 69 { 70 *(.eh_frame) 71 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 72 } 73 .fini : { *(.fini) } =0 74 .ctors : { *(.ctors) } 75 .dtors : { *(.dtors) } 76 77 /* Read-write section, merged into data segment: */ 78 . = (. + 0x00FF) & 0xFFFFFF00; 79 _erotext = .; 80 PROVIDE (erotext = .); 81 .reloc : 82 { 83 *(.got) 84 _GOT2_TABLE_ = .; 85 *(.got2) 86 _FIXUP_TABLE_ = .; 87 *(.fixup) 88 } 89 __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; 90 __fixup_entries = (. - _FIXUP_TABLE_) >> 2; 91 92 .data : 93 { 94 *(.data) 95 *(.data1) 96 *(.sdata) 97 *(.sdata2) 98 *(.dynamic) 99 CONSTRUCTORS 100 } 101 _edata = .; 102 PROVIDE (edata = .); 103 104 . = .; 105 __u_boot_cmd_start = .; 106 .u_boot_cmd : { *(.u_boot_cmd) } 107 __u_boot_cmd_end = .; 108 109 . = .; 110 __start___ex_table = .; 111 __ex_table : { *(__ex_table) } 112 __stop___ex_table = .; 113 114 . = ALIGN(256); 115 __init_begin = .; 116 .text.init : { *(.text.init) } 117 .data.init : { *(.data.init) } 118 . = ALIGN(256); 119 __init_end = .; 120 121 __bss_start = .; 122 .bss (NOLOAD) : 123 { 124 *(.sbss) *(.scommon) 125 *(.dynbss) 126 *(.bss) 127 *(COMMON) 128 . = ALIGN(4); 129 } 130 _end = . ; 131 PROVIDE (end = .); 132} 133