1*5296cb1dSangelo@sysam.it/* 2*5296cb1dSangelo@sysam.it * (C) Copyright 2000 3*5296cb1dSangelo@sysam.it * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 4*5296cb1dSangelo@sysam.it * (C) Copyright 2015 5*5296cb1dSangelo@sysam.it * Angelo Dureghello, Sysam Firmware, angelo@sysam.it 6*5296cb1dSangelo@sysam.it * 7*5296cb1dSangelo@sysam.it * SPDX-License-Identifier: GPL-2.0+ 8*5296cb1dSangelo@sysam.it */ 9*5296cb1dSangelo@sysam.it 10*5296cb1dSangelo@sysam.it#include <config.h> 11*5296cb1dSangelo@sysam.it 12*5296cb1dSangelo@sysam.itOUTPUT_ARCH(m68k) 13*5296cb1dSangelo@sysam.it 14*5296cb1dSangelo@sysam.it#ifndef LDS_BOARD_TEXT 15*5296cb1dSangelo@sysam.it#define LDS_BOARD_TEXT 16*5296cb1dSangelo@sysam.it#endif 17*5296cb1dSangelo@sysam.it 18*5296cb1dSangelo@sysam.itSECTIONS 19*5296cb1dSangelo@sysam.it{ 20*5296cb1dSangelo@sysam.it .text : 21*5296cb1dSangelo@sysam.it { 22*5296cb1dSangelo@sysam.it CPUDIR/start.o (.text*) 23*5296cb1dSangelo@sysam.it LDS_BOARD_TEXT 24*5296cb1dSangelo@sysam.it 25*5296cb1dSangelo@sysam.it *(.text*) 26*5296cb1dSangelo@sysam.it } 27*5296cb1dSangelo@sysam.it _etext = .; 28*5296cb1dSangelo@sysam.it PROVIDE (etext = .); 29*5296cb1dSangelo@sysam.it .rodata : 30*5296cb1dSangelo@sysam.it { 31*5296cb1dSangelo@sysam.it *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) 32*5296cb1dSangelo@sysam.it } 33*5296cb1dSangelo@sysam.it 34*5296cb1dSangelo@sysam.it /* Read-write section, merged into data segment: */ 35*5296cb1dSangelo@sysam.it . = (. + 0x00FF) & 0xFFFFFF00; 36*5296cb1dSangelo@sysam.it _erotext = .; 37*5296cb1dSangelo@sysam.it PROVIDE (erotext = .); 38*5296cb1dSangelo@sysam.it 39*5296cb1dSangelo@sysam.it .reloc : 40*5296cb1dSangelo@sysam.it { 41*5296cb1dSangelo@sysam.it __got_start = .; 42*5296cb1dSangelo@sysam.it KEEP(*(.got)) 43*5296cb1dSangelo@sysam.it __got_end = .; 44*5296cb1dSangelo@sysam.it _GOT2_TABLE_ = .; 45*5296cb1dSangelo@sysam.it KEEP(*(.got2)) 46*5296cb1dSangelo@sysam.it _FIXUP_TABLE_ = .; 47*5296cb1dSangelo@sysam.it KEEP(*(.fixup)) 48*5296cb1dSangelo@sysam.it } 49*5296cb1dSangelo@sysam.it __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; 50*5296cb1dSangelo@sysam.it __fixup_entries = (. - _FIXUP_TABLE_)>>2; 51*5296cb1dSangelo@sysam.it 52*5296cb1dSangelo@sysam.it .data : 53*5296cb1dSangelo@sysam.it { 54*5296cb1dSangelo@sysam.it *(.data*) 55*5296cb1dSangelo@sysam.it *(.sdata*) 56*5296cb1dSangelo@sysam.it } 57*5296cb1dSangelo@sysam.it _edata = .; 58*5296cb1dSangelo@sysam.it PROVIDE (edata = .); 59*5296cb1dSangelo@sysam.it 60*5296cb1dSangelo@sysam.it . = .; 61*5296cb1dSangelo@sysam.it 62*5296cb1dSangelo@sysam.it . = ALIGN(4); 63*5296cb1dSangelo@sysam.it .u_boot_list : { 64*5296cb1dSangelo@sysam.it KEEP(*(SORT(.u_boot_list*))); 65*5296cb1dSangelo@sysam.it } 66*5296cb1dSangelo@sysam.it 67*5296cb1dSangelo@sysam.it . = .; 68*5296cb1dSangelo@sysam.it __start___ex_table = .; 69*5296cb1dSangelo@sysam.it __ex_table : { *(__ex_table) } 70*5296cb1dSangelo@sysam.it __stop___ex_table = .; 71*5296cb1dSangelo@sysam.it 72*5296cb1dSangelo@sysam.it . = ALIGN(256); 73*5296cb1dSangelo@sysam.it __init_begin = .; 74*5296cb1dSangelo@sysam.it .text.init : { *(.text.init) } 75*5296cb1dSangelo@sysam.it .data.init : { *(.data.init) } 76*5296cb1dSangelo@sysam.it . = ALIGN(256); 77*5296cb1dSangelo@sysam.it __init_end = .; 78*5296cb1dSangelo@sysam.it 79*5296cb1dSangelo@sysam.it __bss_start = .; 80*5296cb1dSangelo@sysam.it .bss (NOLOAD) : 81*5296cb1dSangelo@sysam.it { 82*5296cb1dSangelo@sysam.it _sbss = .; 83*5296cb1dSangelo@sysam.it *(.bss*) 84*5296cb1dSangelo@sysam.it *(.sbss*) 85*5296cb1dSangelo@sysam.it *(COMMON) 86*5296cb1dSangelo@sysam.it . = ALIGN(4); 87*5296cb1dSangelo@sysam.it _ebss = .; 88*5296cb1dSangelo@sysam.it } 89*5296cb1dSangelo@sysam.it __bss_end = . ; 90*5296cb1dSangelo@sysam.it PROVIDE (end = .); 91*5296cb1dSangelo@sysam.it} 92