xref: /openbmc/u-boot/arch/m68k/cpu/u-boot.lds (revision e8f80a5a)
1*83d290c5STom Rini/* SPDX-License-Identifier: GPL-2.0+ */
25296cb1dSangelo@sysam.it/*
35296cb1dSangelo@sysam.it * (C) Copyright 2000
45296cb1dSangelo@sysam.it * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
55296cb1dSangelo@sysam.it * (C) Copyright 2015
65296cb1dSangelo@sysam.it * Angelo Dureghello, Sysam Firmware, angelo@sysam.it
75296cb1dSangelo@sysam.it */
85296cb1dSangelo@sysam.it
95296cb1dSangelo@sysam.it#include <config.h>
105296cb1dSangelo@sysam.it
115296cb1dSangelo@sysam.itOUTPUT_ARCH(m68k)
125296cb1dSangelo@sysam.it
135296cb1dSangelo@sysam.it#ifndef LDS_BOARD_TEXT
145296cb1dSangelo@sysam.it#define LDS_BOARD_TEXT
155296cb1dSangelo@sysam.it#endif
165296cb1dSangelo@sysam.it
175296cb1dSangelo@sysam.itSECTIONS
185296cb1dSangelo@sysam.it{
195296cb1dSangelo@sysam.it	.text :
205296cb1dSangelo@sysam.it	{
215296cb1dSangelo@sysam.it		CPUDIR/start.o (.text*)
225296cb1dSangelo@sysam.it		LDS_BOARD_TEXT
235296cb1dSangelo@sysam.it
245296cb1dSangelo@sysam.it		*(.text*)
255296cb1dSangelo@sysam.it	}
265296cb1dSangelo@sysam.it	_etext = .;
275296cb1dSangelo@sysam.it	PROVIDE (etext = .);
285296cb1dSangelo@sysam.it	.rodata :
295296cb1dSangelo@sysam.it	{
305296cb1dSangelo@sysam.it		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
315296cb1dSangelo@sysam.it	}
325296cb1dSangelo@sysam.it
335296cb1dSangelo@sysam.it	/* Read-write section, merged into data segment: */
345296cb1dSangelo@sysam.it	. = (. + 0x00FF) & 0xFFFFFF00;
355296cb1dSangelo@sysam.it	_erotext = .;
365296cb1dSangelo@sysam.it	PROVIDE (erotext = .);
375296cb1dSangelo@sysam.it
385296cb1dSangelo@sysam.it	.reloc :
395296cb1dSangelo@sysam.it	{
405296cb1dSangelo@sysam.it		__got_start = .;
415296cb1dSangelo@sysam.it		KEEP(*(.got))
425296cb1dSangelo@sysam.it		__got_end = .;
435296cb1dSangelo@sysam.it		_GOT2_TABLE_ = .;
445296cb1dSangelo@sysam.it		KEEP(*(.got2))
455296cb1dSangelo@sysam.it		_FIXUP_TABLE_ = .;
465296cb1dSangelo@sysam.it		KEEP(*(.fixup))
475296cb1dSangelo@sysam.it	}
485296cb1dSangelo@sysam.it	__got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
495296cb1dSangelo@sysam.it	__fixup_entries = (. - _FIXUP_TABLE_)>>2;
505296cb1dSangelo@sysam.it
515296cb1dSangelo@sysam.it	.data :
525296cb1dSangelo@sysam.it	{
535296cb1dSangelo@sysam.it		*(.data*)
545296cb1dSangelo@sysam.it		*(.sdata*)
555296cb1dSangelo@sysam.it	}
565296cb1dSangelo@sysam.it	_edata = .;
575296cb1dSangelo@sysam.it	PROVIDE (edata = .);
585296cb1dSangelo@sysam.it
595296cb1dSangelo@sysam.it	. = .;
605296cb1dSangelo@sysam.it
615296cb1dSangelo@sysam.it	. = ALIGN(4);
625296cb1dSangelo@sysam.it	.u_boot_list : {
635296cb1dSangelo@sysam.it		KEEP(*(SORT(.u_boot_list*)));
645296cb1dSangelo@sysam.it	}
655296cb1dSangelo@sysam.it
665296cb1dSangelo@sysam.it	. = .;
675296cb1dSangelo@sysam.it	__start___ex_table = .;
685296cb1dSangelo@sysam.it	__ex_table : { *(__ex_table) }
695296cb1dSangelo@sysam.it	__stop___ex_table = .;
705296cb1dSangelo@sysam.it
715296cb1dSangelo@sysam.it	. = ALIGN(256);
725296cb1dSangelo@sysam.it	__init_begin = .;
735296cb1dSangelo@sysam.it	.text.init : { *(.text.init) }
745296cb1dSangelo@sysam.it	.data.init : { *(.data.init) }
755296cb1dSangelo@sysam.it	. = ALIGN(256);
765296cb1dSangelo@sysam.it	__init_end = .;
775296cb1dSangelo@sysam.it
785296cb1dSangelo@sysam.it	__bss_start = .;
795296cb1dSangelo@sysam.it	.bss (NOLOAD)       :
805296cb1dSangelo@sysam.it	{
815296cb1dSangelo@sysam.it		_sbss = .;
825296cb1dSangelo@sysam.it		*(.bss*)
835296cb1dSangelo@sysam.it		*(.sbss*)
845296cb1dSangelo@sysam.it		*(COMMON)
855296cb1dSangelo@sysam.it		. = ALIGN(4);
865296cb1dSangelo@sysam.it		_ebss = .;
875296cb1dSangelo@sysam.it	}
885296cb1dSangelo@sysam.it	__bss_end = . ;
895296cb1dSangelo@sysam.it	PROVIDE (end = .);
905296cb1dSangelo@sysam.it}
91