Changeset View
Changeset View
Standalone View
Standalone View
sys/conf/ldscript.amd64
OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") | OUTPUT_FORMAT("elf64-x86-64-freebsd", "elf64-x86-64-freebsd", "elf64-x86-64-freebsd") | |||||||||||
OUTPUT_ARCH(i386:x86-64) | OUTPUT_ARCH(i386:x86-64) | |||||||||||
ENTRY(btext) | ENTRY(btext) | |||||||||||
SEARCH_DIR("/usr/lib"); | SEARCH_DIR("/usr/lib"); | |||||||||||
SECTIONS | SECTIONS | |||||||||||
{ | { | |||||||||||
/* PVH 32bit protected mode init code. | ||||||||||||
markjUnsubmitted Not Done Inline Actions
markj: | ||||||||||||
* | ||||||||||||
* Force VMA == LMA, as that code runs with paging disabled or with identity | ||||||||||||
* page tables. | ||||||||||||
*/ | ||||||||||||
. = kernload + SIZEOF_HEADERS; | ||||||||||||
/* | ||||||||||||
* Merge all sections into a single .text section, either we run with paging | ||||||||||||
* disabled and flat segments, or with identity page tables with all entries | ||||||||||||
* having AWX permissions. Trying to keep sections separated is useless. | ||||||||||||
*/ | ||||||||||||
.text.init32 : AT (.) { *(.text.init32 .data.init32 .rodata.init32 .bss.init32) } | ||||||||||||
/* Read-only sections, merged into text segment: */ | /* Read-only sections, merged into text segment: */ | |||||||||||
. = kernbase + kernload + SIZEOF_HEADERS; | . = . + kernbase; | |||||||||||
/* | /* | |||||||||||
* Use the AT keyword in order to set the right LMA that contains | * Use the AT keyword in order to set the right LMA that contains | |||||||||||
* the physical address where the section should be loaded. This is | * the physical address where the section should be loaded. This is | |||||||||||
* needed for the Xen loader which honours the LMA. | * needed for the Xen loader which honours the LMA. | |||||||||||
*/ | */ | |||||||||||
.interp : AT (kernload + SIZEOF_HEADERS) { *(.interp) } | .interp : AT (. - kernbase) { *(.interp) } | |||||||||||
.hash : { *(.hash) } | .hash : { *(.hash) } | |||||||||||
.gnu.hash : { *(.gnu.hash) } | .gnu.hash : { *(.gnu.hash) } | |||||||||||
.dynsym : { *(.dynsym) } | .dynsym : { *(.dynsym) } | |||||||||||
.dynstr : { *(.dynstr) } | .dynstr : { *(.dynstr) } | |||||||||||
.gnu.version : { *(.gnu.version) } | .gnu.version : { *(.gnu.version) } | |||||||||||
.gnu.version_d : { *(.gnu.version_d) } | .gnu.version_d : { *(.gnu.version_d) } | |||||||||||
.gnu.version_r : { *(.gnu.version_r) } | .gnu.version_r : { *(.gnu.version_r) } | |||||||||||
.rel.init : { *(.rel.init) } | .rel.init : { *(.rel.init) } | |||||||||||
▲ Show 20 Lines • Show All 197 Lines • Show Last 20 Lines |