aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2008-12-25 07:38:35 -0500
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2008-12-25 07:38:54 -0500
commitfc5243d98ac2575ad14a974b3c097e9ba874c03d (patch)
tree014f2b61180433799a438e1e2022636f0b8c6a7b /arch/sh
parenta114a9d69d1362546b9dda651028acb311ddb7af (diff)
[S390] arch_setup_additional_pages arguments
arch_setup_additional_pages currently gets two arguments, the binary format descripton and an indication if the process uses an executable stack or not. The second argument is not used by anybody, it could be removed without replacement. What actually does make sense is to pass an indication if the process uses the elf interpreter or not. The glibc code will not use anything from the vdso if the process does not use the dynamic linker, so for statically linked binaries the architecture backend can choose not to map the vdso. Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/include/asm/elf.h2
-rw-r--r--arch/sh/kernel/vsyscall/vsyscall.c3
2 files changed, 2 insertions, 3 deletions
diff --git a/arch/sh/include/asm/elf.h b/arch/sh/include/asm/elf.h
index 9eb9036a1bdc..9381397ebeb8 100644
--- a/arch/sh/include/asm/elf.h
+++ b/arch/sh/include/asm/elf.h
@@ -204,7 +204,7 @@ do { \
204#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 204#define ARCH_HAS_SETUP_ADDITIONAL_PAGES
205struct linux_binprm; 205struct linux_binprm;
206extern int arch_setup_additional_pages(struct linux_binprm *bprm, 206extern int arch_setup_additional_pages(struct linux_binprm *bprm,
207 int executable_stack); 207 int uses_interp);
208 208
209extern unsigned int vdso_enabled; 209extern unsigned int vdso_enabled;
210extern void __kernel_vsyscall; 210extern void __kernel_vsyscall;
diff --git a/arch/sh/kernel/vsyscall/vsyscall.c b/arch/sh/kernel/vsyscall/vsyscall.c
index 95f4de0800ec..3f7e415be86a 100644
--- a/arch/sh/kernel/vsyscall/vsyscall.c
+++ b/arch/sh/kernel/vsyscall/vsyscall.c
@@ -59,8 +59,7 @@ int __init vsyscall_init(void)
59} 59}
60 60
61/* Setup a VMA at program startup for the vsyscall page */ 61/* Setup a VMA at program startup for the vsyscall page */
62int arch_setup_additional_pages(struct linux_binprm *bprm, 62int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp)
63 int executable_stack)
64{ 63{
65 struct mm_struct *mm = current->mm; 64 struct mm_struct *mm = current->mm;
66 unsigned long addr; 65 unsigned long addr;