11.1Scherry/* $FreeBSD$ */ 21.1ScherryOUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little", "elf64-ia64-little") 31.1ScherryOUTPUT_ARCH(ia64) 41.1ScherryENTRY(start) 51.1Scherrykernel_text = 0xe000000004000000; 61.1ScherrySECTIONS 71.1Scherry{ 81.1Scherry /* Read-only sections, merged into text segment: */ 91.1Scherry . = kernel_text + SIZEOF_HEADERS; 101.1Scherry PROVIDE (btext = .); 111.1Scherry .plt : { *(.plt) } 121.1Scherry .text : 131.1Scherry { 141.1Scherry *(.text .stub .text.* .gnu.linkonce.t.*) 151.1Scherry /* .gnu.warning sections are handled specially by elf32.em. */ 161.1Scherry *(.gnu.warning) 171.1Scherry } =0x00300000010070000002000001000400 181.1Scherry _etext = .; 191.1Scherry PROVIDE (etext = .); 201.1Scherry .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } 211.1Scherry .rodata1 : { *(.rodata1) } 221.1Scherry .sdata2 : { *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) } 231.1Scherry .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } 241.1Scherry .opd : { *(.opd) } 251.1Scherry .IA_64.unwind_info : { *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*) } 261.1Scherry .IA_64.unwind : { *(.IA_64.unwind* .gnu.linkonce.ia64unw.*) } 271.1Scherry /* Adjust the address for the data segment. We want to adjust up to 281.1Scherry the same address within the page on the next page up. */ 291.1Scherry . = . + 8192; 301.1Scherry .data : 311.1Scherry { 321.1Scherry *(.data.proc0 .data .data.* .gnu.linkonce.d.*) 331.1Scherry SORT(CONSTRUCTORS) 341.1Scherry } 351.1Scherry .data1 : { *(.data1) } 361.1Scherry .dynamic : { *(.dynamic) } 371.1Scherry . = ALIGN(16); 381.1Scherry __gp = . + 0x200000; 391.1Scherry .got : { *(.got.plt) *(.got) } 401.1Scherry .IA_64.pltoff : { *(.IA_64.pltoff) } 411.1Scherry /* We want the small data sections together, so single-instruction offsets 421.1Scherry can access them all, and initialized data all before uninitialized, so 431.1Scherry we can shorten the on-disk segment size. */ 441.1Scherry .sdata : 451.1Scherry { 461.1Scherry *(.sdata .sdata.* .gnu.linkonce.s.*) 471.1Scherry } 481.1Scherry _edata = .; 491.1Scherry PROVIDE (edata = .); 501.1Scherry __bss_start = .; 511.1Scherry .sbss : 521.1Scherry { 531.1Scherry PROVIDE (__sbss_start = .); 541.1Scherry PROVIDE (___sbss_start = .); 551.1Scherry *(.dynsbss) 561.1Scherry *(.sbss .sbss.* .gnu.linkonce.sb.*) 571.1Scherry *(.scommon) 581.1Scherry PROVIDE (__sbss_end = .); 591.1Scherry PROVIDE (___sbss_end = .); 601.1Scherry } 611.1Scherry .bss : 621.1Scherry { 631.2Suebayasi *(.dynbss) 641.2Suebayasi *(.bss .bss.* .gnu.linkonce.b.*) 651.2Suebayasi *(COMMON) 661.2Suebayasi /* Align here to ensure that the .bss section occupies space up to 671.2Suebayasi _end. Align after .bss to ensure correct alignment even if the 681.2Suebayasi .bss section disappears because there are no input sections. */ 691.2Suebayasi . = ALIGN(64 / 8); 701.1Scherry } 711.1Scherry . = ALIGN(64 / 8); 721.1Scherry _end = .; 731.1Scherry PROVIDE (end = .); 741.1Scherry} 75