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 |