xref: /openbmc/linux/arch/sparc/kernel/vmlinux.lds.S (revision d5784b57d2e08a632b971baae23266121004ef3b)
11da177e4SLinus Torvalds/* ld script to make SparcLinux kernel */
21da177e4SLinus Torvalds
31da177e4SLinus Torvalds#include <asm-generic/vmlinux.lds.h>
41da177e4SLinus Torvalds
51da177e4SLinus TorvaldsOUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
61da177e4SLinus TorvaldsOUTPUT_ARCH(sparc)
71da177e4SLinus TorvaldsENTRY(_start)
81da177e4SLinus Torvaldsjiffies = jiffies_64 + 4;
91da177e4SLinus TorvaldsSECTIONS
101da177e4SLinus Torvalds{
111da177e4SLinus Torvalds  . = 0x10000 + SIZEOF_HEADERS;
121da177e4SLinus Torvalds  .text 0xf0004000 :
131da177e4SLinus Torvalds  {
141da177e4SLinus Torvalds    *(.text)
151da177e4SLinus Torvalds    SCHED_TEXT
161da177e4SLinus Torvalds    LOCK_TEXT
171da177e4SLinus Torvalds    *(.gnu.warning)
181da177e4SLinus Torvalds  } =0
191da177e4SLinus Torvalds  _etext = .;
201da177e4SLinus Torvalds  PROVIDE (etext = .);
211da177e4SLinus Torvalds  RODATA
221da177e4SLinus Torvalds  .data    :
231da177e4SLinus Torvalds  {
241da177e4SLinus Torvalds    *(.data)
251da177e4SLinus Torvalds    CONSTRUCTORS
261da177e4SLinus Torvalds  }
271da177e4SLinus Torvalds  .data1   : { *(.data1) }
281da177e4SLinus Torvalds  _edata  =  .;
291da177e4SLinus Torvalds  PROVIDE (edata = .);
301da177e4SLinus Torvalds  __start___fixup = .;
311da177e4SLinus Torvalds  .fixup   : { *(.fixup) }
321da177e4SLinus Torvalds  __stop___fixup = .;
331da177e4SLinus Torvalds  __start___ex_table = .;
341da177e4SLinus Torvalds  __ex_table : { *(__ex_table) }
351da177e4SLinus Torvalds  __stop___ex_table = .;
361da177e4SLinus Torvalds
371da177e4SLinus Torvalds  . = ALIGN(4096);
381da177e4SLinus Torvalds  __init_begin = .;
391da177e4SLinus Torvalds  .init.text : {
401da177e4SLinus Torvalds	_sinittext = .;
411da177e4SLinus Torvalds	*(.init.text)
421da177e4SLinus Torvalds	_einittext = .;
431da177e4SLinus Torvalds  }
441da177e4SLinus Torvalds  __init_text_end = .;
451da177e4SLinus Torvalds  .init.data : { *(.init.data) }
461da177e4SLinus Torvalds  . = ALIGN(16);
471da177e4SLinus Torvalds  __setup_start = .;
481da177e4SLinus Torvalds  .init.setup : { *(.init.setup) }
491da177e4SLinus Torvalds  __setup_end = .;
501da177e4SLinus Torvalds  __initcall_start = .;
511da177e4SLinus Torvalds  .initcall.init : {
521da177e4SLinus Torvalds	*(.initcall1.init)
531da177e4SLinus Torvalds	*(.initcall2.init)
541da177e4SLinus Torvalds	*(.initcall3.init)
551da177e4SLinus Torvalds	*(.initcall4.init)
561da177e4SLinus Torvalds	*(.initcall5.init)
571da177e4SLinus Torvalds	*(.initcall6.init)
581da177e4SLinus Torvalds	*(.initcall7.init)
591da177e4SLinus Torvalds  }
601da177e4SLinus Torvalds  __initcall_end = .;
611da177e4SLinus Torvalds  __con_initcall_start = .;
621da177e4SLinus Torvalds  .con_initcall.init : { *(.con_initcall.init) }
631da177e4SLinus Torvalds  __con_initcall_end = .;
641da177e4SLinus Torvalds  SECURITY_INIT
651da177e4SLinus Torvalds  . = ALIGN(4096);
661da177e4SLinus Torvalds  __initramfs_start = .;
671da177e4SLinus Torvalds  .init.ramfs : { *(.init.ramfs) }
681da177e4SLinus Torvalds  __initramfs_end = .;
691da177e4SLinus Torvalds  . = ALIGN(32);
701da177e4SLinus Torvalds  __per_cpu_start = .;
711da177e4SLinus Torvalds  .data.percpu  : { *(.data.percpu) }
721da177e4SLinus Torvalds  __per_cpu_end = .;
731da177e4SLinus Torvalds  . = ALIGN(4096);
741da177e4SLinus Torvalds  __init_end = .;
751da177e4SLinus Torvalds  . = ALIGN(32);
761da177e4SLinus Torvalds  .data.cacheline_aligned : { *(.data.cacheline_aligned) }
771da177e4SLinus Torvalds
781da177e4SLinus Torvalds  __bss_start = .;
791da177e4SLinus Torvalds  .sbss      : { *(.sbss) *(.scommon) }
801da177e4SLinus Torvalds  .bss       :
811da177e4SLinus Torvalds  {
821da177e4SLinus Torvalds   *(.dynbss)
831da177e4SLinus Torvalds   *(.bss)
841da177e4SLinus Torvalds   *(COMMON)
851da177e4SLinus Torvalds  }
861da177e4SLinus Torvalds  _end = . ;
871da177e4SLinus Torvalds  PROVIDE (end = .);
881da177e4SLinus Torvalds  /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) }
89*d5784b57SDavid S. Miller
90*d5784b57SDavid S. Miller  STABS_DEBUG
91*d5784b57SDavid S. Miller
92*d5784b57SDavid S. Miller  DWARF_DEBUG
931da177e4SLinus Torvalds}
94