diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-12-25 07:38:35 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2008-12-25 07:38:54 -0500 |
commit | fc5243d98ac2575ad14a974b3c097e9ba874c03d (patch) | |
tree | 014f2b61180433799a438e1e2022636f0b8c6a7b /arch/sh | |
parent | a114a9d69d1362546b9dda651028acb311ddb7af (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.h | 2 | ||||
-rw-r--r-- | arch/sh/kernel/vsyscall/vsyscall.c | 3 |
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 |
205 | struct linux_binprm; | 205 | struct linux_binprm; |
206 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | 206 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, |
207 | int executable_stack); | 207 | int uses_interp); |
208 | 208 | ||
209 | extern unsigned int vdso_enabled; | 209 | extern unsigned int vdso_enabled; |
210 | extern void __kernel_vsyscall; | 210 | extern 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 */ |
62 | int arch_setup_additional_pages(struct linux_binprm *bprm, | 62 | int 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; |