1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Linker script for vsyscall DSO. The vsysca 4 * object prelinked to its virtual address, an 5 * segment (that fits in one page). This scri 6 */ 7 #include <asm/asm-offsets.h> 8 9 #ifdef CONFIG_CPU_LITTLE_ENDIAN 10 OUTPUT_FORMAT("elf32-sh-linux", "elf32-sh-linu 11 #else 12 OUTPUT_FORMAT("elf32-shbig-linux", "elf32-shbi 13 #endif 14 OUTPUT_ARCH(sh) 15 16 /* The ELF entry point can be used to set the 17 ENTRY(__kernel_vsyscall); 18 19 SECTIONS 20 { 21 . = SIZEOF_HEADERS; 22 23 .hash : { *(.hash) } 24 .gnu.hash : { *(.gnu.hash) } 25 .dynsym : { *(.dynsym) } 26 .dynstr : { *(.dynstr) } 27 .gnu.version : { *(.gnu.version) } 28 .gnu.version_d : { *(.gnu.version_d) 29 .gnu.version_r : { *(.gnu.version_r) 30 31 /* 32 * This linker script is used both wit 33 * For the layouts to match, we need t 34 * space for the dynamic symbol table 35 * is insufficient, ld -shared will ba 36 */ 37 . = 0x400; 38 39 .text : { *(.text) } 40 .note : { *(.note.*) } 41 .eh_frame_hdr : { *(.eh_frame_hdr ) 42 .eh_frame : { 43 KEEP (*(.eh_frame)) 44 LONG (0) 45 } 46 .dynamic : { *(.dynamic) } 47 .useless : { 48 *(.got.plt) *(.got) 49 *(.data .data.* .gnu.linkonce.d. 50 *(.dynbss) 51 *(.bss .bss.* .gnu.linkonce.b.*) 52 } 53 } 54 55 /* 56 * Very old versions of ld do not recognize th 57 */ 58 #define PT_GNU_EH_FRAME 0x6474e550 59 60 /* 61 * We must supply the ELF program headers expl 62 * PT_LOAD segment, and set the flags explicit 63 */ 64 PHDRS 65 { 66 text PT_LOAD FILEHDR PHDRS 67 dynamic PT_DYNAMIC FLAGS(4); 68 note PT_NOTE FLAGS(4); 69 eh_frame_hdr PT_GNU_EH_FRAME; 70 } 71 72 /* 73 * This controls what symbols we export from t 74 */ 75 VERSION 76 { 77 LINUX_2.6 { 78 global: 79 __kernel_vsyscall; 80 __kernel_sigreturn; 81 __kernel_rt_sigreturn; 82 83 local: *; 84 }; 85 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.