1*53193a4fSChristophe Leroy/* 2*53193a4fSChristophe Leroy * Copyright (C) 2010-2017 CS Systemes d'Information 3*53193a4fSChristophe Leroy * Christophe Leroy <christophe.leroy@c-s.fr> 4*53193a4fSChristophe Leroy * 5*53193a4fSChristophe Leroy * (C) Copyright 2001-2003 6*53193a4fSChristophe Leroy * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 7*53193a4fSChristophe Leroy * 8*53193a4fSChristophe Leroy * Modified by Yuli Barcohen <yuli@arabellasw.com> 9*53193a4fSChristophe Leroy * 10*53193a4fSChristophe Leroy * SPDX-License-Identifier: GPL-2.0+ 11*53193a4fSChristophe Leroy */ 12*53193a4fSChristophe Leroy 13*53193a4fSChristophe LeroyOUTPUT_ARCH(powerpc) 14*53193a4fSChristophe LeroySECTIONS 15*53193a4fSChristophe Leroy{ 16*53193a4fSChristophe Leroy /* Read-only sections, merged into text segment: */ 17*53193a4fSChristophe Leroy . = + SIZEOF_HEADERS; 18*53193a4fSChristophe Leroy .text : 19*53193a4fSChristophe Leroy { 20*53193a4fSChristophe Leroy arch/powerpc/cpu/mpc8xx/start.o (.text) 21*53193a4fSChristophe Leroy arch/powerpc/cpu/mpc8xx/start.o (.text*) 22*53193a4fSChristophe Leroy arch/powerpc/cpu/mpc8xx/traps.o (.text*) 23*53193a4fSChristophe Leroy arch/powerpc/cpu/mpc8xx/built-in.o (.text*) 24*53193a4fSChristophe Leroy arch/powerpc/lib/built-in.o (.text*) 25*53193a4fSChristophe Leroy board/cssi/MCR3000/built-in.o (.text*) 26*53193a4fSChristophe Leroy disk/built-in.o (.text*) 27*53193a4fSChristophe Leroy drivers/net/built-in.o (.text*) 28*53193a4fSChristophe Leroy 29*53193a4fSChristophe Leroy *(.text) 30*53193a4fSChristophe Leroy } 31*53193a4fSChristophe Leroy _etext = .; 32*53193a4fSChristophe Leroy PROVIDE (etext = .); 33*53193a4fSChristophe Leroy .rodata : 34*53193a4fSChristophe Leroy { 35*53193a4fSChristophe Leroy *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 36*53193a4fSChristophe Leroy } 37*53193a4fSChristophe Leroy 38*53193a4fSChristophe Leroy /* Read-write section, merged into data segment: */ 39*53193a4fSChristophe Leroy . = (. + 0x0FFF) & 0xFFFFF000; 40*53193a4fSChristophe Leroy _erotext = .; 41*53193a4fSChristophe Leroy PROVIDE (erotext = .); 42*53193a4fSChristophe Leroy .reloc : 43*53193a4fSChristophe Leroy { 44*53193a4fSChristophe Leroy _GOT2_TABLE_ = .; 45*53193a4fSChristophe Leroy KEEP(*(.got2)) 46*53193a4fSChristophe Leroy KEEP(*(.got)) 47*53193a4fSChristophe Leroy _FIXUP_TABLE_ = .; 48*53193a4fSChristophe Leroy KEEP(*(.fixup)) 49*53193a4fSChristophe Leroy } 50*53193a4fSChristophe Leroy __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1; 51*53193a4fSChristophe Leroy __fixup_entries = (. - _FIXUP_TABLE_) >> 2; 52*53193a4fSChristophe Leroy 53*53193a4fSChristophe Leroy .data : 54*53193a4fSChristophe Leroy { 55*53193a4fSChristophe Leroy *(.data*) 56*53193a4fSChristophe Leroy *(.sdata*) 57*53193a4fSChristophe Leroy } 58*53193a4fSChristophe Leroy _edata = .; 59*53193a4fSChristophe Leroy PROVIDE (edata = .); 60*53193a4fSChristophe Leroy 61*53193a4fSChristophe Leroy . = .; 62*53193a4fSChristophe Leroy 63*53193a4fSChristophe Leroy . = ALIGN(4); 64*53193a4fSChristophe Leroy .u_boot_list : { 65*53193a4fSChristophe Leroy KEEP(*(SORT(.u_boot_list*))); 66*53193a4fSChristophe Leroy } 67*53193a4fSChristophe Leroy 68*53193a4fSChristophe Leroy . = .; 69*53193a4fSChristophe Leroy __start___ex_table = .; 70*53193a4fSChristophe Leroy __ex_table : { *(__ex_table) } 71*53193a4fSChristophe Leroy __stop___ex_table = .; 72*53193a4fSChristophe Leroy 73*53193a4fSChristophe Leroy . = ALIGN(4096); 74*53193a4fSChristophe Leroy __init_begin = .; 75*53193a4fSChristophe Leroy .text.init : { *(.text.init) } 76*53193a4fSChristophe Leroy .data.init : { *(.data.init) } 77*53193a4fSChristophe Leroy . = ALIGN(4096); 78*53193a4fSChristophe Leroy __init_end = .; 79*53193a4fSChristophe Leroy 80*53193a4fSChristophe Leroy __bss_start = .; 81*53193a4fSChristophe Leroy .bss (NOLOAD) : 82*53193a4fSChristophe Leroy { 83*53193a4fSChristophe Leroy *(.bss*) 84*53193a4fSChristophe Leroy *(.sbss*) 85*53193a4fSChristophe Leroy *(COMMON) 86*53193a4fSChristophe Leroy . = ALIGN(4); 87*53193a4fSChristophe Leroy } 88*53193a4fSChristophe Leroy __bss_end = . ; 89*53193a4fSChristophe Leroy PROVIDE (end = .); 90*53193a4fSChristophe Leroy} 91*53193a4fSChristophe LeroyENTRY(_start) 92