diff options
Diffstat (limited to 'include/asm-x86/vdso.h')
| -rw-r--r-- | include/asm-x86/vdso.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/include/asm-x86/vdso.h b/include/asm-x86/vdso.h index 629bcb6e8e45..86e085e003d2 100644 --- a/include/asm-x86/vdso.h +++ b/include/asm-x86/vdso.h | |||
| @@ -8,9 +8,11 @@ extern const char VDSO64_PRELINK[]; | |||
| 8 | * Given a pointer to the vDSO image, find the pointer to VDSO64_name | 8 | * Given a pointer to the vDSO image, find the pointer to VDSO64_name |
| 9 | * as that symbol is defined in the vDSO sources or linker script. | 9 | * as that symbol is defined in the vDSO sources or linker script. |
| 10 | */ | 10 | */ |
| 11 | #define VDSO64_SYMBOL(base, name) ({ \ | 11 | #define VDSO64_SYMBOL(base, name) \ |
| 12 | extern const char VDSO64_##name[]; \ | 12 | ({ \ |
| 13 | (void *) (VDSO64_##name - VDSO64_PRELINK + (unsigned long) (base)); }) | 13 | extern const char VDSO64_##name[]; \ |
| 14 | (void *)(VDSO64_##name - VDSO64_PRELINK + (unsigned long)(base)); \ | ||
| 15 | }) | ||
| 14 | #endif | 16 | #endif |
| 15 | 17 | ||
| 16 | #if defined CONFIG_X86_32 || defined CONFIG_COMPAT | 18 | #if defined CONFIG_X86_32 || defined CONFIG_COMPAT |
| @@ -20,9 +22,18 @@ extern const char VDSO32_PRELINK[]; | |||
| 20 | * Given a pointer to the vDSO image, find the pointer to VDSO32_name | 22 | * Given a pointer to the vDSO image, find the pointer to VDSO32_name |
| 21 | * as that symbol is defined in the vDSO sources or linker script. | 23 | * as that symbol is defined in the vDSO sources or linker script. |
| 22 | */ | 24 | */ |
| 23 | #define VDSO32_SYMBOL(base, name) ({ \ | 25 | #define VDSO32_SYMBOL(base, name) \ |
| 24 | extern const char VDSO32_##name[]; \ | 26 | ({ \ |
| 25 | (void *) (VDSO32_##name - VDSO32_PRELINK + (unsigned long) (base)); }) | 27 | extern const char VDSO32_##name[]; \ |
| 28 | (void *)(VDSO32_##name - VDSO32_PRELINK + (unsigned long)(base)); \ | ||
| 29 | }) | ||
| 26 | #endif | 30 | #endif |
| 27 | 31 | ||
| 32 | /* | ||
| 33 | * These symbols are defined with the addresses in the vsyscall page. | ||
| 34 | * See vsyscall-sigreturn.S. | ||
| 35 | */ | ||
| 36 | extern void __user __kernel_sigreturn; | ||
| 37 | extern void __user __kernel_rt_sigreturn; | ||
| 38 | |||
| 28 | #endif /* asm-x86/vdso.h */ | 39 | #endif /* asm-x86/vdso.h */ |
