| Andi Kleen | 2aae950 | 2007-07-21 17:10:01 +0200 | [diff] [blame] | 1 | /* | 
| Roland McGrath | f6b46eb | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 2 |  * Linker script for 64-bit vDSO. | 
 | 3 |  * We #include the file to define the layout details. | 
 | 4 |  * Here we only choose the prelinked virtual address. | 
 | 5 |  * | 
 | 6 |  * This file defines the version script giving the user-exported symbols in | 
 | 7 |  * the DSO.  We can define local symbols here called VDSO* to make their | 
 | 8 |  * values visible using the asm-x86/vdso.h macros from the kernel proper. | 
| Andi Kleen | 2aae950 | 2007-07-21 17:10:01 +0200 | [diff] [blame] | 9 |  */ | 
| Andi Kleen | 2aae950 | 2007-07-21 17:10:01 +0200 | [diff] [blame] | 10 |  | 
 | 11 | #define VDSO_PRELINK 0xffffffffff700000 | 
| Roland McGrath | f6b46eb | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 12 | #include "vdso-layout.lds.S" | 
| Andi Kleen | 2aae950 | 2007-07-21 17:10:01 +0200 | [diff] [blame] | 13 |  | 
| Roland McGrath | 5b93049 | 2008-01-30 13:30:40 +0100 | [diff] [blame] | 14 | /* | 
| Roland McGrath | f6b46eb | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 15 |  * This controls what userland symbols we export from the vDSO. | 
| Roland McGrath | 5b93049 | 2008-01-30 13:30:40 +0100 | [diff] [blame] | 16 |  */ | 
| Roland McGrath | f6b46eb | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 17 | VERSION { | 
 | 18 | 	LINUX_2.6 { | 
 | 19 | 	global: | 
 | 20 | 		clock_gettime; | 
 | 21 | 		__vdso_clock_gettime; | 
 | 22 | 		gettimeofday; | 
 | 23 | 		__vdso_gettimeofday; | 
 | 24 | 		getcpu; | 
 | 25 | 		__vdso_getcpu; | 
 | 26 | 	local: *; | 
 | 27 | 	}; | 
 | 28 | } | 
 | 29 |  | 
| Roland McGrath | 5b93049 | 2008-01-30 13:30:40 +0100 | [diff] [blame] | 30 | VDSO64_PRELINK = VDSO_PRELINK; | 
 | 31 |  | 
| Roland McGrath | f6b46eb | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 32 | /* | 
 | 33 |  * Define VDSO64_x for each VEXTERN(x), for use via VDSO64_SYMBOL. | 
 | 34 |  */ | 
| Roland McGrath | 5b93049 | 2008-01-30 13:30:40 +0100 | [diff] [blame] | 35 | #define VEXTERN(x)	VDSO64_ ## x = vdso_ ## x; | 
 | 36 | #include "vextern.h" | 
 | 37 | #undef	VEXTERN |