1 /* SPDX-License-Identifier: GPL-2.0-only */ << 2 /* 1 /* 3 * Adapted from arm64 version. !! 2 * Linker script for 64-bit vDSO. >> 3 * We #include the file to define the layout details. 4 * 4 * 5 * GNU linker script for the VDSO library. !! 5 * This file defines the version script giving the user-exported symbols in 6 * !! 6 * the DSO. 7 * Copyright (C) 2012 ARM Limited << 8 * << 9 * Author: Will Deacon <will.deacon@arm.com> << 10 * Heavily based on the vDSO linker scripts fo << 11 */ 7 */ 12 8 13 #include <linux/const.h> !! 9 #define BUILD_VDSO64 14 #include <asm/page.h> << 15 #include <asm/vdso.h> << 16 << 17 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm << 18 OUTPUT_ARCH(arm) << 19 << 20 SECTIONS << 21 { << 22 PROVIDE(_start = .); << 23 << 24 . = SIZEOF_HEADERS; << 25 << 26 .hash : { *(.hash) } << 27 .gnu.hash : { *(.gnu.hash) } << 28 .dynsym : { *(.dynsym) } << 29 .dynstr : { *(.dynstr) } << 30 .gnu.version : { *(.gnu.version) } << 31 .gnu.version_d : { *(.gnu.version_d) << 32 .gnu.version_r : { *(.gnu.version_r) << 33 << 34 .note : { *(.note.*) } << 35 10 36 !! 11 #include "vdso-layout.lds.S" 37 .eh_frame_hdr : { *(.eh_frame_hdr) } << 38 .eh_frame : { KEEP (*(.eh_frame) << 39 << 40 .dynamic : { *(.dynamic) } << 41 << 42 .rodata : { *(.rodata*) } << 43 << 44 .text : { *(.text*) } << 45 << 46 .got : { *(.got) } << 47 .rel.plt : { *(.rel.plt) } << 48 << 49 /DISCARD/ : { << 50 *(.note.GNU-stack) << 51 *(.data .data.* .gnu.linkonce. << 52 *(.bss .sbss .dynbss .dynsbss) << 53 } << 54 } << 55 12 56 /* 13 /* 57 * We must supply the ELF program headers expl !! 14 * This controls what userland symbols we export from the vDSO. 58 * PT_LOAD segment, and set the flags explicit << 59 */ 15 */ 60 PHDRS !! 16 VERSION { 61 { << 62 text PT_LOAD FLAGS( << 63 dynamic PT_DYNAMIC FLAGS( << 64 note PT_NOTE FLAGS( << 65 eh_frame_hdr PT_GNU_EH_FRAME; << 66 } << 67 << 68 VERSION << 69 { << 70 LINUX_2.6 { 17 LINUX_2.6 { 71 global: 18 global: >> 19 clock_gettime; 72 __vdso_clock_gettime; 20 __vdso_clock_gettime; >> 21 gettimeofday; 73 __vdso_gettimeofday; 22 __vdso_gettimeofday; 74 __vdso_clock_getres; << 75 __vdso_clock_gettime64; << 76 local: *; 23 local: *; 77 }; 24 }; 78 } 25 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.