xref: /openbmc/linux/arch/m68k/kernel/vmlinux-std.lds (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1b2441318SGreg Kroah-Hartman/* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds/* ld script to make m68k Linux kernel */
31da177e4SLinus Torvalds
41da177e4SLinus Torvalds#include <asm-generic/vmlinux.lds.h>
597d26e73SCyrill Gorcunov#include <asm/page.h>
67c5fd561STim Abbott#include <asm/thread_info.h>
71da177e4SLinus Torvalds
81da177e4SLinus TorvaldsOUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k")
91da177e4SLinus TorvaldsOUTPUT_ARCH(m68k)
101da177e4SLinus TorvaldsENTRY(_start)
111da177e4SLinus Torvaldsjiffies = jiffies_64 + 4;
121da177e4SLinus TorvaldsSECTIONS
131da177e4SLinus Torvalds{
141da177e4SLinus Torvalds  . = 0x1000;
151da177e4SLinus Torvalds  _text = .;			/* Text and read-only data */
161da177e4SLinus Torvalds  .text : {
176f335cabSTim Abbott	HEAD_TEXT
187664709bSSam Ravnborg	TEXT_TEXT
19969de098SGreg Ungerer	IRQENTRY_TEXT
20969de098SGreg Ungerer	SOFTIRQENTRY_TEXT
211da177e4SLinus Torvalds	SCHED_TEXT
22198a4101SAl Viro	LOCK_TEXT
231da177e4SLinus Torvalds	*(.fixup)
241da177e4SLinus Torvalds	*(.gnu.warning)
251da177e4SLinus Torvalds	} :text = 0x4e75
261da177e4SLinus Torvalds
27fe6d9dafSRoman Zippel  _etext = .;			/* End of text section */
28fe6d9dafSRoman Zippel
297c5fd561STim Abbott  EXCEPTION_TABLE(16)
301da177e4SLinus Torvalds
31a2d063acSSteven Rostedt  _sdata = .;			/* Start of data section */
32a2d063acSSteven Rostedt
33de715668SKees Cook  RO_DATA(4096)
341da177e4SLinus Torvalds
35c9174047SKees Cook  RW_DATA(16, PAGE_SIZE, THREAD_SIZE)
361da177e4SLinus Torvalds
377c5fd561STim Abbott  BSS_SECTION(0, 0, 0)
381da177e4SLinus Torvalds
391da177e4SLinus Torvalds  _edata = .;			/* End of data section */
401da177e4SLinus Torvalds
411da177e4SLinus Torvalds  /* will be freed after init */
4297d26e73SCyrill Gorcunov  . = ALIGN(PAGE_SIZE);		/* Init code and data */
431da177e4SLinus Torvalds  __init_begin = .;
447c5fd561STim Abbott  INIT_TEXT_SECTION(PAGE_SIZE) :data
457c5fd561STim Abbott  INIT_DATA_SECTION(16)
46fbe9c961SRoman Zippel  .m68k_fixup : {
47fbe9c961SRoman Zippel	__start_fixup = .;
48fbe9c961SRoman Zippel	*(.m68k_fixup)
49fbe9c961SRoman Zippel	__stop_fixup = .;
50fbe9c961SRoman Zippel  }
517c5fd561STim Abbott  .init_end : {
527c5fd561STim Abbott	/* This ALIGN be in a section so that _end is at the end of the
537c5fd561STim Abbott	   load segment. */
547c5fd561STim Abbott	. = ALIGN(PAGE_SIZE);
551da177e4SLinus Torvalds	__init_end = .;
567c5fd561STim Abbott  }
571da177e4SLinus Torvalds
581da177e4SLinus Torvalds  _end = . ;
591da177e4SLinus Torvalds
607c5fd561STim Abbott  STABS_DEBUG
61*428ec5f9SYouling Tang  ELF_DETAILS
62023bf6f1STejun Heo
63023bf6f1STejun Heo  /* Sections to be discarded */
64023bf6f1STejun Heo  DISCARDS
651da177e4SLinus Torvalds}
66