1a47a12beSStefan Roese/* 2*ff2311abSWolfgang Denk * (C) Copyright 2006-2010 3a47a12beSStefan Roese * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4a47a12beSStefan Roese * 5a47a12beSStefan Roese * See file CREDITS for list of people who contributed to this 6a47a12beSStefan Roese * project. 7a47a12beSStefan Roese * 8a47a12beSStefan Roese * This program is free software; you can redistribute it and/or 9a47a12beSStefan Roese * modify it under the terms of the GNU General Public License as 10a47a12beSStefan Roese * published by the Free Software Foundation; either version 2 of 11a47a12beSStefan Roese * the License, or (at your option) any later version. 12a47a12beSStefan Roese * 13a47a12beSStefan Roese * This program is distributed in the hope that it will be useful, 14a47a12beSStefan Roese * but WITHOUT ANY WARRANTY; without even the implied warranty of 15a47a12beSStefan Roese * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16a47a12beSStefan Roese * GNU General Public License for more details. 17a47a12beSStefan Roese * 18a47a12beSStefan Roese * You should have received a copy of the GNU General Public License 19a47a12beSStefan Roese * along with this program; if not, write to the Free Software 20a47a12beSStefan Roese * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 21a47a12beSStefan Roese * MA 02111-1307 USA 22a47a12beSStefan Roese */ 23a47a12beSStefan Roese 24a47a12beSStefan RoeseOUTPUT_ARCH(powerpc) 25a47a12beSStefan RoeseSECTIONS 26a47a12beSStefan Roese{ 27a47a12beSStefan Roese /* Read-only sections, merged into text segment: */ 28a47a12beSStefan Roese .text : 29a47a12beSStefan Roese { 30*ff2311abSWolfgang Denk arch/powerpc/cpu/mpc83xx/start.o (.text*) 31*ff2311abSWolfgang Denk *(.text*) 32a47a12beSStefan Roese . = ALIGN(16); 33a47a12beSStefan Roese *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 34a47a12beSStefan Roese } 35a47a12beSStefan Roese 36a47a12beSStefan Roese /* Read-write section, merged into data segment: */ 37a47a12beSStefan Roese . = (. + 0x0FFF) & 0xFFFFF000; 38a47a12beSStefan Roese _erotext = .; 39a47a12beSStefan Roese PROVIDE (erotext = .); 40a47a12beSStefan Roese .reloc : 41a47a12beSStefan Roese { 42*ff2311abSWolfgang Denk KEEP(*(.got)) 43a47a12beSStefan Roese _GOT2_TABLE_ = .; 44*ff2311abSWolfgang Denk KEEP(*(.got2)) 45a47a12beSStefan Roese _FIXUP_TABLE_ = .; 46*ff2311abSWolfgang Denk KEEP(*(.fixup)) 47a47a12beSStefan Roese } 48a47a12beSStefan Roese __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >> 2; 49a47a12beSStefan Roese __fixup_entries = (. - _FIXUP_TABLE_) >> 2; 50a47a12beSStefan Roese 51a47a12beSStefan Roese .data : 52a47a12beSStefan Roese { 53*ff2311abSWolfgang Denk *(.data*) 54*ff2311abSWolfgang Denk *(.sdata*) 55a47a12beSStefan Roese } 56a47a12beSStefan Roese _edata = .; 57a47a12beSStefan Roese PROVIDE (edata = .); 58a47a12beSStefan Roese 59a47a12beSStefan Roese . = .; 60a47a12beSStefan Roese __u_boot_cmd_start = .; 61a47a12beSStefan Roese .u_boot_cmd : { *(.u_boot_cmd) } 62a47a12beSStefan Roese __u_boot_cmd_end = .; 63a47a12beSStefan Roese 64a47a12beSStefan Roese 65a47a12beSStefan Roese . = .; 66a47a12beSStefan Roese __start___ex_table = .; 67a47a12beSStefan Roese __ex_table : { *(__ex_table) } 68a47a12beSStefan Roese __stop___ex_table = .; 69a47a12beSStefan Roese 70a47a12beSStefan Roese . = ALIGN(4096); 71a47a12beSStefan Roese __init_begin = .; 72a47a12beSStefan Roese .text.init : { *(.text.init) } 73a47a12beSStefan Roese .data.init : { *(.data.init) } 74a47a12beSStefan Roese . = ALIGN(4096); 75a47a12beSStefan Roese __init_end = .; 76a47a12beSStefan Roese 77a47a12beSStefan Roese __bss_start = .; 78a47a12beSStefan Roese .bss (NOLOAD) : 79a47a12beSStefan Roese { 80*ff2311abSWolfgang Denk *(.bss*) 81*ff2311abSWolfgang Denk *(.sbss*) 82a47a12beSStefan Roese *(COMMON) 83a47a12beSStefan Roese . = ALIGN(4); 84a47a12beSStefan Roese } 85a47a12beSStefan Roese _end = . ; 86a47a12beSStefan Roese PROVIDE (end = .); 87a47a12beSStefan Roese} 88a47a12beSStefan RoeseENTRY(_start) 89