1283407Sdchagin/* 2283407Sdchagin * Linker script for 32-bit vDSO. 3283407Sdchagin * Copied from Linux kernel arch/x86/vdso/vdso-layout.lds.S 4283407Sdchagin * and arch/x86/vdso/vdso32/vdso32.lds.S 5283407Sdchagin * 6283407Sdchagin * $FreeBSD: releng/10.3/sys/i386/linux/linux_vdso.lds.s 293514 2016-01-09 15:44:38Z dchagin $ 7283407Sdchagin */ 8283407Sdchagin 9283407SdchaginSECTIONS 10283407Sdchagin{ 11283407Sdchagin . = . + SIZEOF_HEADERS; 12283407Sdchagin 13283407Sdchagin .hash : { *(.hash) } :text 14283407Sdchagin .gnu.hash : { *(.gnu.hash) } 15283407Sdchagin .dynsym : { *(.dynsym) } 16283407Sdchagin .dynstr : { *(.dynstr) } 17283407Sdchagin .gnu.version : { *(.gnu.version) } 18283407Sdchagin .gnu.version_d : { *(.gnu.version_d) } 19283407Sdchagin .gnu.version_r : { *(.gnu.version_r) } 20283407Sdchagin 21283407Sdchagin .note : { *(.note.*) } :text :note 22283407Sdchagin 23283407Sdchagin .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr 24283407Sdchagin .eh_frame : { KEEP (*(.eh_frame)) } :text 25283407Sdchagin 26283407Sdchagin .dynamic : { *(.dynamic) } :text :dynamic 27283407Sdchagin 28283407Sdchagin .rodata : { *(.rodata*) } :text 29283407Sdchagin .data : { 30283407Sdchagin *(.data*) 31283407Sdchagin *(.sdata*) 32283407Sdchagin *(.got.plt) *(.got) 33283407Sdchagin *(.gnu.linkonce.d.*) 34283407Sdchagin *(.bss*) 35283407Sdchagin *(.dynbss*) 36283407Sdchagin *(.gnu.linkonce.b.*) 37283407Sdchagin } 38283407Sdchagin 39283407Sdchagin .altinstructions : { *(.altinstructions) } 40283407Sdchagin .altinstr_replacement : { *(.altinstr_replacement) } 41283407Sdchagin 42283407Sdchagin . = ALIGN(0x100); 43283407Sdchagin .text : { *(.text*) } :text =0x90909090 44283407Sdchagin} 45283407Sdchagin 46283407SdchaginPHDRS 47283407Sdchagin{ 48283407Sdchagin text PT_LOAD FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */ 49283407Sdchagin dynamic PT_DYNAMIC FLAGS(4); /* PF_R */ 50283407Sdchagin note PT_NOTE FLAGS(4); /* PF_R */ 51283407Sdchagin eh_frame_hdr PT_GNU_EH_FRAME; 52283407Sdchagin} 53283407Sdchagin 54283407SdchaginENTRY(linux_vsyscall); 55283407Sdchagin 56283407SdchaginVERSION 57283407Sdchagin{ 58283407Sdchagin LINUX_2.5 { 59283407Sdchagin global: 60283407Sdchagin linux_vsyscall; 61283407Sdchagin linux_sigcode; 62283407Sdchagin linux_rt_sigcode; 63283407Sdchagin local: *; 64283407Sdchagin }; 65283407Sdchagin} 66