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 = .; 157664709bSSam Ravnborg TEXT_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 { 25ca967258SSam Ravnborg DATA_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 38*0c0d345eSDavid S. Miller NOTES 39*0c0d345eSDavid S. Miller 401da177e4SLinus Torvalds . = ALIGN(4096); 411da177e4SLinus Torvalds __init_begin = .; 421da177e4SLinus Torvalds _sinittext = .; 43ab5da288SMartin Habets .init.text : { 441da177e4SLinus Torvalds *(.init.text) 451da177e4SLinus Torvalds } 46ab5da288SMartin Habets _einittext = .; 471da177e4SLinus Torvalds __init_text_end = .; 481da177e4SLinus Torvalds .init.data : { *(.init.data) } 491da177e4SLinus Torvalds . = ALIGN(16); 501da177e4SLinus Torvalds __setup_start = .; 511da177e4SLinus Torvalds .init.setup : { *(.init.setup) } 521da177e4SLinus Torvalds __setup_end = .; 531da177e4SLinus Torvalds __initcall_start = .; 541da177e4SLinus Torvalds .initcall.init : { 5561ce1efeSAndrew Morton INITCALLS 561da177e4SLinus Torvalds } 571da177e4SLinus Torvalds __initcall_end = .; 581da177e4SLinus Torvalds __con_initcall_start = .; 591da177e4SLinus Torvalds .con_initcall.init : { *(.con_initcall.init) } 601da177e4SLinus Torvalds __con_initcall_end = .; 611da177e4SLinus Torvalds SECURITY_INIT 6267d38229SJean-Paul Saman 6367d38229SJean-Paul Saman#ifdef CONFIG_BLK_DEV_INITRD 641da177e4SLinus Torvalds . = ALIGN(4096); 651da177e4SLinus Torvalds __initramfs_start = .; 661da177e4SLinus Torvalds .init.ramfs : { *(.init.ramfs) } 671da177e4SLinus Torvalds __initramfs_end = .; 6867d38229SJean-Paul Saman#endif 6967d38229SJean-Paul Saman 705fb7dc37SFenghua Yu PERCPU(4096) 711da177e4SLinus Torvalds . = ALIGN(4096); 721da177e4SLinus Torvalds __init_end = .; 731da177e4SLinus Torvalds . = ALIGN(32); 741da177e4SLinus Torvalds .data.cacheline_aligned : { *(.data.cacheline_aligned) } 751da177e4SLinus Torvalds 761da177e4SLinus Torvalds __bss_start = .; 771da177e4SLinus Torvalds .sbss : { *(.sbss) *(.scommon) } 781da177e4SLinus Torvalds .bss : 791da177e4SLinus Torvalds { 801da177e4SLinus Torvalds *(.dynbss) 811da177e4SLinus Torvalds *(.bss) 821da177e4SLinus Torvalds *(COMMON) 831da177e4SLinus Torvalds } 841da177e4SLinus Torvalds _end = . ; 851da177e4SLinus Torvalds PROVIDE (end = .); 861da177e4SLinus Torvalds /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) } 87d5784b57SDavid S. Miller 88d5784b57SDavid S. Miller STABS_DEBUG 89d5784b57SDavid S. Miller 90d5784b57SDavid S. Miller DWARF_DEBUG 911da177e4SLinus Torvalds} 92