| H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 1 | #ifndef _ASM_X86_VDSO_H | 
|  | 2 | #define _ASM_X86_VDSO_H | 
| Roland McGrath | 7f3646a | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 3 |  | 
| Roland McGrath | 6c3652e | 2008-01-30 13:30:42 +0100 | [diff] [blame] | 4 | #if defined CONFIG_X86_32 || defined CONFIG_COMPAT | 
|  | 5 | extern const char VDSO32_PRELINK[]; | 
|  | 6 |  | 
|  | 7 | /* | 
|  | 8 | * Given a pointer to the vDSO image, find the pointer to VDSO32_name | 
|  | 9 | * as that symbol is defined in the vDSO sources or linker script. | 
|  | 10 | */ | 
| Joe Perches | ac1a7b0 | 2008-03-23 01:03:56 -0700 | [diff] [blame] | 11 | #define VDSO32_SYMBOL(base, name)					\ | 
|  | 12 | ({									\ | 
|  | 13 | extern const char VDSO32_##name[];				\ | 
| Mathias Krause | 3d13340 | 2012-09-02 23:31:41 +0200 | [diff] [blame] | 14 | (void __user *)(VDSO32_##name - VDSO32_PRELINK +		\ | 
|  | 15 | (unsigned long)(base));				\ | 
| Joe Perches | ac1a7b0 | 2008-03-23 01:03:56 -0700 | [diff] [blame] | 16 | }) | 
| Roland McGrath | 6c3652e | 2008-01-30 13:30:42 +0100 | [diff] [blame] | 17 | #endif | 
| Roland McGrath | 7f3646a | 2008-01-30 13:30:41 +0100 | [diff] [blame] | 18 |  | 
| Ingo Molnar | eee6dd1 | 2008-03-06 10:39:07 +0100 | [diff] [blame] | 19 | /* | 
|  | 20 | * These symbols are defined with the addresses in the vsyscall page. | 
|  | 21 | * See vsyscall-sigreturn.S. | 
|  | 22 | */ | 
|  | 23 | extern void __user __kernel_sigreturn; | 
|  | 24 | extern void __user __kernel_rt_sigreturn; | 
|  | 25 |  | 
| Jeremy Fitzhardinge | 6a52e4b | 2008-07-12 02:22:00 -0700 | [diff] [blame] | 26 | /* | 
|  | 27 | * These symbols are defined by vdso32.S to mark the bounds | 
|  | 28 | * of the ELF DSO images included therein. | 
|  | 29 | */ | 
|  | 30 | extern const char vdso32_int80_start, vdso32_int80_end; | 
|  | 31 | extern const char vdso32_syscall_start, vdso32_syscall_end; | 
|  | 32 | extern const char vdso32_sysenter_start, vdso32_sysenter_end; | 
|  | 33 |  | 
| H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 34 | #endif /* _ASM_X86_VDSO_H */ |