cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vdso.lds.S (1635B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * Adapted from arm64 version.
      4 *
      5 * GNU linker script for the VDSO library.
      6 *
      7 * Copyright (C) 2012 ARM Limited
      8 *
      9 * Author: Will Deacon <will.deacon@arm.com>
     10 * Heavily based on the vDSO linker scripts for other archs.
     11 */
     12
     13#include <linux/const.h>
     14#include <asm/page.h>
     15#include <asm/vdso.h>
     16
     17OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
     18OUTPUT_ARCH(arm)
     19
     20SECTIONS
     21{
     22	PROVIDE(_start = .);
     23
     24	. = SIZEOF_HEADERS;
     25
     26	.hash		: { *(.hash) }			:text
     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.*) }		:text	:note
     35
     36
     37	.eh_frame_hdr	: { *(.eh_frame_hdr) }		:text	:eh_frame_hdr
     38	.eh_frame	: { KEEP (*(.eh_frame)) }	:text
     39
     40	.dynamic	: { *(.dynamic) }		:text	:dynamic
     41
     42	.rodata		: { *(.rodata*) }		:text
     43
     44	.text		: { *(.text*) }			:text	=0xe7f001f2
     45
     46	.got		: { *(.got) }
     47	.rel.plt	: { *(.rel.plt) }
     48
     49	/DISCARD/	: {
     50		*(.note.GNU-stack)
     51		*(.data .data.* .gnu.linkonce.d.* .sdata*)
     52		*(.bss .sbss .dynbss .dynsbss)
     53	}
     54}
     55
     56/*
     57 * We must supply the ELF program headers explicitly to get just one
     58 * PT_LOAD segment, and set the flags explicitly to make segments read-only.
     59 */
     60PHDRS
     61{
     62	text		PT_LOAD		FLAGS(5) FILEHDR PHDRS; /* PF_R|PF_X */
     63	dynamic		PT_DYNAMIC	FLAGS(4);		/* PF_R */
     64	note		PT_NOTE		FLAGS(4);		/* PF_R */
     65	eh_frame_hdr	PT_GNU_EH_FRAME;
     66}
     67
     68VERSION
     69{
     70	LINUX_2.6 {
     71	global:
     72		__vdso_clock_gettime;
     73		__vdso_gettimeofday;
     74		__vdso_clock_getres;
     75		__vdso_clock_gettime64;
     76	local: *;
     77	};
     78}