Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/linux/linux_vdso.lds.s
- This file was added.
/* | |||||
* Linker script for 32-bit vDSO. | |||||
* Copied from Linux kernel arch/arm/vdso/vdso.lds.S | |||||
* | |||||
* $FreeBSD$ | |||||
*/ | |||||
SECTIONS | |||||
{ | |||||
PROVIDE(_start = .) ; | |||||
. = SIZEOF_HEADERS ; | |||||
.hash : { *(.hash) } :text | |||||
.gnu.hash : { *(.gnu.hash) } | |||||
.dynsym : { *(.dynsym) } | |||||
.dynstr : { *(.dynstr) } | |||||
.gnu.version : { *(.gnu.version) } | |||||
.gnu.version_d : { *(.gnu.version_d) } | |||||
.gnu.version_r : { *(.gnu.version_r) } | |||||
.note : { *(.note.*) } :text :note | |||||
.eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr | |||||
.eh_frame : { KEEP (*(.eh_frame)) } :text | |||||
.dynamic : { *(.dynamic) } :text :dynamic | |||||
.rodata : { *(.rodata*) } :text | |||||
.text : { *(.text*) } :text =0xe7f001f2 | |||||
.got : { *(.got) } | |||||
.rel.plt : { *(.rel.plt) } | |||||
/DISCARD/ : { | |||||
*(.note.GNU-stack) | |||||
*(.data .data.* .gnu.linkonce.d.* .sdata*) | |||||
*(.bss .sbss .dynbss .dynsbss) | |||||
} | |||||
} | |||||
/* | |||||
* We must supply the ELF program headers explicitly to get just one | |||||
* PT_LOAD segment, and set the flags explicitly to make segments read-only. | |||||
*/ | |||||
PHDRS | |||||
{ | |||||
text PT_LOAD FLAGS(5) FILEHDR PHDRS ; /* PF_R|PF_X */ | |||||
dynamic PT_DYNAMIC FLAGS(4) ; /* PF_R */ | |||||
note PT_NOTE FLAGS(4) ; /* PF_R */ | |||||
eh_frame_hdr PT_GNU_EH_FRAME ; | |||||
} | |||||
ENTRY(linux_vsyscall); | |||||
VERSION | |||||
{ | |||||
LINUX_2.6 { | |||||
global: | |||||
linux_vsyscall; | |||||
linux_sigcode; | |||||
linux_rt_sigcode; | |||||
local: * ; | |||||
} ; | |||||
} |