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