| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- From a05af27aec00eacf533ff111ba8eb3dec328d9af Mon Sep 17 00:00:00 2001
- From: Kurt Mahan <[email protected]>
- Date: Thu, 22 May 2008 11:20:53 -0600
- Subject: [PATCH] Initial vDSO header changes.
- LTIBName: mcfv4e-vdso-headers
- Signed-off-by: Kurt Mahan <[email protected]>
- ---
- include/asm-m68k/auxvec.h | 9 +++++++++
- include/asm-m68k/elf.h | 31 +++++++++++++++++++++++++++++++
- include/asm-m68k/page.h | 5 +++++
- 3 files changed, 45 insertions(+), 0 deletions(-)
- --- a/include/asm-m68k/auxvec.h
- +++ b/include/asm-m68k/auxvec.h
- @@ -1,4 +1,13 @@
- #ifndef __ASMm68k_AUXVEC_H
- #define __ASMm68k_AUXVEC_H
- +/*
- + * Architecture-neutral AT_ values in 0-17, leave some room
- + * for more of them.
- + */
- +
- +#ifdef CONFIG_VSYSCALL
- +/* Entry point to the vsyscall page */
- +#define AT_SYSINFO_EHDR 33
- +#endif
-
- #endif
- --- a/include/asm-m68k/elf.h
- +++ b/include/asm-m68k/elf.h
- @@ -136,4 +136,35 @@ typedef struct user_m68kfp_struct elf_fp
-
- #define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
-
- +/*
- + * VDSO
- + */
- +#ifdef CONFIG_VSYSCALL
- +extern unsigned int vdso_enabled;
- +
- +#define VDSO_BASE ((unsigned long)current->mm->context.vdso)
- +#define VDSO_SYM(x) (VDSO_BASE + (unsigned long)(x))
- +
- +#define VSYSCALL_AUX_ENT \
- + if (vdso_enabled) \
- + NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE);
- +
- +/* additional pages */
- +#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
- +
- +struct linux_binprm;
- +extern int arch_setup_additional_pages(struct linux_binprm *bprm,
- + int executable_stack);
- +
- +#else
- +/* no VSYSCALL_AUX_ENT */
- +#define VSYSCALL_AUX_ENT
- +#endif
- +
- +#define ARCH_DLINFO \
- +do { \
- + /* vsyscall entry */ \
- + VSYSCALL_AUX_ENT; \
- +} while (0);
- +
- #endif
- --- a/include/asm-m68k/page.h
- +++ b/include/asm-m68k/page.h
- @@ -252,4 +252,9 @@ static inline __attribute_const__ int __
-
- #include <asm-generic/page.h>
-
- +#ifdef CONFIG_VSYSCALL
- +/* vDSO support */
- +#define __HAVE_ARCH_GATE_AREA
- +#endif
- +
- #endif /* _M68K_PAGE_H */
|