1a47a12beSStefan Roese/* 2ff2311abSWolfgang Denk * (C) Copyright 2006-2010 3a47a12beSStefan Roese * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4a47a12beSStefan Roese * 5*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 6a47a12beSStefan Roese */ 7a47a12beSStefan Roese 8a47a12beSStefan RoeseOUTPUT_ARCH(powerpc) 9a47a12beSStefan RoeseSECTIONS 10a47a12beSStefan Roese{ 11a47a12beSStefan Roese /* Read-only sections, merged into text segment: */ 12a47a12beSStefan Roese .text : 13a47a12beSStefan Roese { 14ff2311abSWolfgang Denk arch/powerpc/cpu/mpc83xx/start.o (.text*) 15ff2311abSWolfgang Denk *(.text*) 16a47a12beSStefan Roese . = ALIGN(16); 17a47a12beSStefan Roese *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 18a47a12beSStefan Roese } 19a47a12beSStefan Roese 20a47a12beSStefan Roese /* Read-write section, merged into data segment: */ 21a47a12beSStefan Roese . = (. + 0x0FFF) & 0xFFFFF000; 22a47a12beSStefan Roese _erotext = .; 23a47a12beSStefan Roese PROVIDE (erotext = .); 24a47a12beSStefan Roese .reloc : 25a47a12beSStefan Roese { 26a47a12beSStefan Roese _GOT2_TABLE_ = .; 27ff2311abSWolfgang Denk KEEP(*(.got2)) 28337f5f50SJoakim Tjernlund KEEP(*(.got)) 29a47a12beSStefan Roese _FIXUP_TABLE_ = .; 30ff2311abSWolfgang Denk KEEP(*(.fixup)) 31a47a12beSStefan Roese } 32337f5f50SJoakim Tjernlund __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1; 33a47a12beSStefan Roese __fixup_entries = (. - _FIXUP_TABLE_) >> 2; 34a47a12beSStefan Roese 35a47a12beSStefan Roese .data : 36a47a12beSStefan Roese { 37ff2311abSWolfgang Denk *(.data*) 38ff2311abSWolfgang Denk *(.sdata*) 39a47a12beSStefan Roese } 40a47a12beSStefan Roese _edata = .; 41a47a12beSStefan Roese PROVIDE (edata = .); 42a47a12beSStefan Roese 43a47a12beSStefan Roese . = .; 44a47a12beSStefan Roese 4555675142SMarek Vasut . = ALIGN(4); 4655675142SMarek Vasut .u_boot_list : { 47ef123c52SAlbert ARIBAUD KEEP(*(SORT(.u_boot_list*))); 4855675142SMarek Vasut } 4955675142SMarek Vasut 50a47a12beSStefan Roese 51a47a12beSStefan Roese . = .; 52a47a12beSStefan Roese __start___ex_table = .; 53a47a12beSStefan Roese __ex_table : { *(__ex_table) } 54a47a12beSStefan Roese __stop___ex_table = .; 55a47a12beSStefan Roese 56a47a12beSStefan Roese . = ALIGN(4096); 57a47a12beSStefan Roese __init_begin = .; 58a47a12beSStefan Roese .text.init : { *(.text.init) } 59a47a12beSStefan Roese .data.init : { *(.data.init) } 60a47a12beSStefan Roese . = ALIGN(4096); 61a47a12beSStefan Roese __init_end = .; 62a47a12beSStefan Roese 63a47a12beSStefan Roese __bss_start = .; 64a47a12beSStefan Roese .bss (NOLOAD) : 65a47a12beSStefan Roese { 66ff2311abSWolfgang Denk *(.bss*) 67ff2311abSWolfgang Denk *(.sbss*) 68a47a12beSStefan Roese *(COMMON) 69a47a12beSStefan Roese . = ALIGN(4); 70a47a12beSStefan Roese } 713929fb0aSSimon Glass __bss_end = . ; 72a47a12beSStefan Roese PROVIDE (end = .); 73a47a12beSStefan Roese} 74a47a12beSStefan RoeseENTRY(_start) 75