1*38fed211SWarner Losh/* $FreeBSD$ */ 2*38fed211SWarner Losh 3*38fed211SWarner LoshENTRY(_start) 4*38fed211SWarner Losh 5*38fed211SWarner LoshPHDRS { 6*38fed211SWarner Losh text PT_LOAD FLAGS(0x7); 7*38fed211SWarner Losh} 8*38fed211SWarner Losh 9*38fed211SWarner LoshSECTIONS { 10*38fed211SWarner Losh . = KERNLOADADDR + SIZEOF_HEADERS; 11*38fed211SWarner Losh 12*38fed211SWarner Losh .text : { 13*38fed211SWarner Losh *(.text) 14*38fed211SWarner Losh *(.dynamic) 15*38fed211SWarner Losh etext = .; 16*38fed211SWarner Losh _etext = .; 17*38fed211SWarner Losh . = ALIGN(0x2000); 18*38fed211SWarner Losh } : text 19*38fed211SWarner Losh 20*38fed211SWarner Losh . = ALIGN(0x2000); 21*38fed211SWarner Losh .rodata : { 22*38fed211SWarner Losh _fdata = .; 23*38fed211SWarner Losh *(.rodata) 24*38fed211SWarner Losh . = ALIGN(32); 25*38fed211SWarner Losh } 26*38fed211SWarner Losh 27*38fed211SWarner Losh .data : { 28*38fed211SWarner Losh _rwdata = .; 29*38fed211SWarner Losh *(.data) 30*38fed211SWarner Losh . = ALIGN(32); 31*38fed211SWarner Losh } 32*38fed211SWarner Losh 33*38fed211SWarner Losh _gp = (. + 0x8000); 34*38fed211SWarner Losh 35*38fed211SWarner Losh .sdata : { 36*38fed211SWarner Losh _small_start = .; 37*38fed211SWarner Losh *(.sdata) 38*38fed211SWarner Losh . = ALIGN(32); 39*38fed211SWarner Losh edata = .; 40*38fed211SWarner Losh _edata = .; 41*38fed211SWarner Losh } : text 42*38fed211SWarner Losh 43*38fed211SWarner Losh .sbss : { 44*38fed211SWarner Losh __bss_start = .; 45*38fed211SWarner Losh _fbss = .; 46*38fed211SWarner Losh *(.sbss) *(.scommon) 47*38fed211SWarner Losh _small_end = .; 48*38fed211SWarner Losh . = ALIGN(32); 49*38fed211SWarner Losh } 50*38fed211SWarner Losh 51*38fed211SWarner Losh .bss : { 52*38fed211SWarner Losh *(.bss) 53*38fed211SWarner Losh *(COMMON) 54*38fed211SWarner Losh . = ALIGN(32); 55*38fed211SWarner Losh _end = .; 56*38fed211SWarner Losh end = .; 57*38fed211SWarner Losh } 58*38fed211SWarner Losh 59*38fed211SWarner Losh} 60