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 _sinittext = .; 40*ab5da288SMartin Habets .init.text : { 411da177e4SLinus Torvalds *(.init.text) 421da177e4SLinus Torvalds } 43*ab5da288SMartin Habets _einittext = .; 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) } 89d5784b57SDavid S. Miller 90d5784b57SDavid S. Miller STABS_DEBUG 91d5784b57SDavid S. Miller 92d5784b57SDavid S. Miller DWARF_DEBUG 931da177e4SLinus Torvalds} 94