187f3248cSGuo Ren/* SPDX-License-Identifier: GPL-2.0-only */ 287f3248cSGuo Ren 387f3248cSGuo Ren#include <asm/page.h> 487f3248cSGuo Ren 587f3248cSGuo RenOUTPUT_ARCH(csky) 687f3248cSGuo Ren 787f3248cSGuo RenSECTIONS 887f3248cSGuo Ren{ 987f3248cSGuo Ren PROVIDE(_vdso_data = . + PAGE_SIZE); 1087f3248cSGuo Ren . = SIZEOF_HEADERS; 1187f3248cSGuo Ren 1287f3248cSGuo Ren .hash : { *(.hash) } :text 1387f3248cSGuo Ren .gnu.hash : { *(.gnu.hash) } 1487f3248cSGuo Ren .dynsym : { *(.dynsym) } 1587f3248cSGuo Ren .dynstr : { *(.dynstr) } 1687f3248cSGuo Ren .gnu.version : { *(.gnu.version) } 1787f3248cSGuo Ren .gnu.version_d : { *(.gnu.version_d) } 1887f3248cSGuo Ren .gnu.version_r : { *(.gnu.version_r) } 1987f3248cSGuo Ren 2087f3248cSGuo Ren .note : { *(.note.*) } :text :note 2187f3248cSGuo Ren .dynamic : { *(.dynamic) } :text :dynamic 2287f3248cSGuo Ren 2387f3248cSGuo Ren .eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr 2487f3248cSGuo Ren .eh_frame : { KEEP (*(.eh_frame)) } :text 2587f3248cSGuo Ren 2687f3248cSGuo Ren .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } 2787f3248cSGuo Ren 2887f3248cSGuo Ren . = 0x800; 2987f3248cSGuo Ren .text : { *(.text .text.*) } :text 3087f3248cSGuo Ren 3187f3248cSGuo Ren .data : { 3287f3248cSGuo Ren *(.got.plt) *(.got) 3387f3248cSGuo Ren *(.data .data.* .gnu.linkonce.d.*) 3487f3248cSGuo Ren *(.dynbss) 3587f3248cSGuo Ren *(.bss .bss.* .gnu.linkonce.b.*) 3687f3248cSGuo Ren } 3787f3248cSGuo Ren} 3887f3248cSGuo Ren 3987f3248cSGuo RenPHDRS 4087f3248cSGuo Ren{ 4187f3248cSGuo Ren text PT_LOAD FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */ 4287f3248cSGuo Ren dynamic PT_DYNAMIC FLAGS(4); /* PF_R */ 4387f3248cSGuo Ren note PT_NOTE FLAGS(4); /* PF_R */ 4487f3248cSGuo Ren eh_frame_hdr PT_GNU_EH_FRAME; 4587f3248cSGuo Ren} 4687f3248cSGuo Ren 4787f3248cSGuo RenVERSION 4887f3248cSGuo Ren{ 4987f3248cSGuo Ren LINUX_5.10 { 5087f3248cSGuo Ren global: 5187f3248cSGuo Ren __vdso_rt_sigreturn; 5287f3248cSGuo Ren local: *; 5387f3248cSGuo Ren }; 5487f3248cSGuo Ren} 55