Date: Mon, 14 Mar 2011 05:16:12 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r219630 - projects/altix/sys/conf Message-ID: <201103140516.p2E5GCHq077967@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marcel Date: Mon Mar 14 05:16:12 2011 New Revision: 219630 URL: http://svn.freebsd.org/changeset/base/219630 Log: Move the actual code to the front of the segment and make sure the IVT can be put right at the front when put in its own section. This makes sure that when the loader can only map a relatively small part of the PBVM, the IVT and the startup code is wired. Modified: projects/altix/sys/conf/ldscript.ia64 Modified: projects/altix/sys/conf/ldscript.ia64 ============================================================================== --- projects/altix/sys/conf/ldscript.ia64 Mon Mar 14 05:13:52 2011 (r219629) +++ projects/altix/sys/conf/ldscript.ia64 Mon Mar 14 05:16:12 2011 (r219630) @@ -9,6 +9,22 @@ SECTIONS /* Read-only sections, merged into text segment: */ . = kernel_text + SIZEOF_HEADERS; .interp : { *(.interp) } + + PROVIDE (btext = .); + .ivt : { *(.ivt) } + .text : + { + *(.text.ivt) + *(.text .stub .text.* .gnu.linkonce.t.*) + /* .gnu.warning sections are handled specially by elf32.em. */ + *(.gnu.warning) + } = 0x00300000010070000002000001000400 + .init : { *(.init) } = 0x00300000010070000002000001000400 + .plt : { *(.plt) } + .fini : { *(.fini) } = 0x00300000010070000002000001000400 + _etext = .; + PROVIDE (etext = .); + .hash : { *(.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } @@ -30,34 +46,20 @@ SECTIONS .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } .rela.plt : { *(.rela.plt) } .rela.IA_64.pltoff : { *(.rela.IA_64.pltoff) } - PROVIDE (btext = .); - .init : - { - *(.init) - } =0x00300000010070000002000001000400 - .plt : { *(.plt) } - .text : - { - *(.text .stub .text.* .gnu.linkonce.t.*) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - } =0x00300000010070000002000001000400 - .fini : - { - *(.fini) - } =0x00300000010070000002000001000400 - _etext = .; - PROVIDE (etext = .); + + .IA_64.unwind_info : { *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*) } + .IA_64.unwind : { *(.IA_64.unwind* .gnu.linkonce.ia64unw.*) } + .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .sdata2 : { *(.sdata2 .sdata2.* .gnu.linkonce.s2.*) } .sbss2 : { *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*) } .opd : { *(.opd) } - .IA_64.unwind_info : { *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*) } - .IA_64.unwind : { *(.IA_64.unwind* .gnu.linkonce.ia64unw.*) } + /* Adjust the address for the data segment. We want to start in the next page in the loader virtual memory. */ . = ALIGN(65536); + .data : { *(.data.kstack .data .data.* .gnu.linkonce.d.*)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103140516.p2E5GCHq077967>