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 { 14fd593d12SEric W. Biederman _text = .; 151da177e4SLinus Torvalds *(.text) 161da177e4SLinus Torvalds SCHED_TEXT 171da177e4SLinus Torvalds LOCK_TEXT 181da177e4SLinus Torvalds *(.gnu.warning) 191da177e4SLinus Torvalds } =0 201da177e4SLinus Torvalds _etext = .; 211da177e4SLinus Torvalds PROVIDE (etext = .); 221da177e4SLinus Torvalds RODATA 231da177e4SLinus Torvalds .data : 241da177e4SLinus Torvalds { 251da177e4SLinus Torvalds *(.data) 261da177e4SLinus Torvalds CONSTRUCTORS 271da177e4SLinus Torvalds } 281da177e4SLinus Torvalds .data1 : { *(.data1) } 291da177e4SLinus Torvalds _edata = .; 301da177e4SLinus Torvalds PROVIDE (edata = .); 311da177e4SLinus Torvalds __start___fixup = .; 321da177e4SLinus Torvalds .fixup : { *(.fixup) } 331da177e4SLinus Torvalds __stop___fixup = .; 341da177e4SLinus Torvalds __start___ex_table = .; 351da177e4SLinus Torvalds __ex_table : { *(__ex_table) } 361da177e4SLinus Torvalds __stop___ex_table = .; 371da177e4SLinus Torvalds 381da177e4SLinus Torvalds . = ALIGN(4096); 391da177e4SLinus Torvalds __init_begin = .; 401da177e4SLinus Torvalds _sinittext = .; 41ab5da288SMartin Habets .init.text : { 421da177e4SLinus Torvalds *(.init.text) 431da177e4SLinus Torvalds } 44ab5da288SMartin Habets _einittext = .; 451da177e4SLinus Torvalds __init_text_end = .; 461da177e4SLinus Torvalds .init.data : { *(.init.data) } 471da177e4SLinus Torvalds . = ALIGN(16); 481da177e4SLinus Torvalds __setup_start = .; 491da177e4SLinus Torvalds .init.setup : { *(.init.setup) } 501da177e4SLinus Torvalds __setup_end = .; 511da177e4SLinus Torvalds __initcall_start = .; 521da177e4SLinus Torvalds .initcall.init : { 5361ce1efeSAndrew Morton INITCALLS 541da177e4SLinus Torvalds } 551da177e4SLinus Torvalds __initcall_end = .; 561da177e4SLinus Torvalds __con_initcall_start = .; 571da177e4SLinus Torvalds .con_initcall.init : { *(.con_initcall.init) } 581da177e4SLinus Torvalds __con_initcall_end = .; 591da177e4SLinus Torvalds SECURITY_INIT 60*67d38229SJean-Paul Saman 61*67d38229SJean-Paul Saman#ifdef CONFIG_BLK_DEV_INITRD 621da177e4SLinus Torvalds . = ALIGN(4096); 631da177e4SLinus Torvalds __initramfs_start = .; 641da177e4SLinus Torvalds .init.ramfs : { *(.init.ramfs) } 651da177e4SLinus Torvalds __initramfs_end = .; 66*67d38229SJean-Paul Saman#endif 67*67d38229SJean-Paul Saman 681da177e4SLinus Torvalds . = ALIGN(32); 691da177e4SLinus Torvalds __per_cpu_start = .; 701da177e4SLinus Torvalds .data.percpu : { *(.data.percpu) } 711da177e4SLinus Torvalds __per_cpu_end = .; 721da177e4SLinus Torvalds . = ALIGN(4096); 731da177e4SLinus Torvalds __init_end = .; 741da177e4SLinus Torvalds . = ALIGN(32); 751da177e4SLinus Torvalds .data.cacheline_aligned : { *(.data.cacheline_aligned) } 761da177e4SLinus Torvalds 771da177e4SLinus Torvalds __bss_start = .; 781da177e4SLinus Torvalds .sbss : { *(.sbss) *(.scommon) } 791da177e4SLinus Torvalds .bss : 801da177e4SLinus Torvalds { 811da177e4SLinus Torvalds *(.dynbss) 821da177e4SLinus Torvalds *(.bss) 831da177e4SLinus Torvalds *(COMMON) 841da177e4SLinus Torvalds } 851da177e4SLinus Torvalds _end = . ; 861da177e4SLinus Torvalds PROVIDE (end = .); 871da177e4SLinus Torvalds /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) } 88d5784b57SDavid S. Miller 89d5784b57SDavid S. Miller STABS_DEBUG 90d5784b57SDavid S. Miller 91d5784b57SDavid S. Miller DWARF_DEBUG 921da177e4SLinus Torvalds} 93