diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2009-06-23 21:04:37 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2009-06-23 21:04:37 +0000 |
commit | c49f135f72f98633653300bab5b0ac993b03c6be (patch) | |
tree | 50929b27bcea9ab4dc74b041d6e90967473301fa /target/linux/coldfire/patches/059-mcfv4e_vdso_headers.patch | |
parent | 50f2abfa16a2b509955312d1776beeece662c61b (diff) | |
download | upstream-c49f135f72f98633653300bab5b0ac993b03c6be.tar.gz upstream-c49f135f72f98633653300bab5b0ac993b03c6be.tar.bz2 upstream-c49f135f72f98633653300bab5b0ac993b03c6be.zip |
use broken-out patches for the coldfire to make it easier to follow differences against the bsp
SVN-Revision: 16547
Diffstat (limited to 'target/linux/coldfire/patches/059-mcfv4e_vdso_headers.patch')
-rw-r--r-- | target/linux/coldfire/patches/059-mcfv4e_vdso_headers.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/target/linux/coldfire/patches/059-mcfv4e_vdso_headers.patch b/target/linux/coldfire/patches/059-mcfv4e_vdso_headers.patch new file mode 100644 index 0000000000..f430ab3623 --- /dev/null +++ b/target/linux/coldfire/patches/059-mcfv4e_vdso_headers.patch @@ -0,0 +1,79 @@ +From a05af27aec00eacf533ff111ba8eb3dec328d9af Mon Sep 17 00:00:00 2001 +From: Kurt Mahan <kmahan@freescale.com> +Date: Thu, 22 May 2008 11:20:53 -0600 +Subject: [PATCH] Initial vDSO header changes. + +LTIBName: mcfv4e-vdso-headers +Signed-off-by: Kurt Mahan <kmahan@freescale.com> +--- + 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 */ |