aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2011-07-25 20:12:52 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-07-25 23:57:13 -0400
commitb743ac54e54ca18fb7164a97cc77cf1ccee0b0f7 (patch)
treea9dced710d289d1594ec2a27ca2a88cef5186ac1 /arch/um
parent2a6d0ac182688d4d23357ece744978706c044aad (diff)
um: disable scan_elf_aux() on x86_64
Reusing the host's vDSO makes only sense on x86_32. Signed-off-by: Richard Weinberger <richard@nod.at> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/os-Linux/Makefile4
-rw-r--r--arch/um/os-Linux/elf_aux.c7
-rw-r--r--arch/um/os-Linux/main.c4
3 files changed, 8 insertions, 7 deletions
diff --git a/arch/um/os-Linux/Makefile b/arch/um/os-Linux/Makefile
index d66f0388f091..b33f4dfe7ae5 100644
--- a/arch/um/os-Linux/Makefile
+++ b/arch/um/os-Linux/Makefile
@@ -3,10 +3,12 @@
3# Licensed under the GPL 3# Licensed under the GPL
4# 4#
5 5
6obj-y = aio.o elf_aux.o execvp.o file.o helper.o irq.o main.o mem.o process.o \ 6obj-y = aio.o execvp.o file.o helper.o irq.o main.o mem.o process.o \
7 registers.o sigio.o signal.o start_up.o time.o tty.o uaccess.o \ 7 registers.o sigio.o signal.o start_up.o time.o tty.o uaccess.o \
8 umid.o tls.o user_syms.o util.o drivers/ sys-$(SUBARCH)/ skas/ 8 umid.o tls.o user_syms.o util.o drivers/ sys-$(SUBARCH)/ skas/
9 9
10obj-$(CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA) += elf_aux.o
11
10USER_OBJS := $(user-objs-y) aio.o elf_aux.o execvp.o file.o helper.o irq.o \ 12USER_OBJS := $(user-objs-y) aio.o elf_aux.o execvp.o file.o helper.o irq.o \
11 main.o mem.o process.o registers.o sigio.o signal.o start_up.o time.o \ 13 main.o mem.o process.o registers.o sigio.o signal.o start_up.o time.o \
12 tty.o tls.o uaccess.o umid.o util.o 14 tty.o tls.o uaccess.o umid.o util.o
diff --git a/arch/um/os-Linux/elf_aux.c b/arch/um/os-Linux/elf_aux.c
index 608784d4ec57..953323799381 100644
--- a/arch/um/os-Linux/elf_aux.c
+++ b/arch/um/os-Linux/elf_aux.c
@@ -14,16 +14,11 @@
14#include "mem_user.h" 14#include "mem_user.h"
15#include <kern_constants.h> 15#include <kern_constants.h>
16 16
17/* Use the one from the kernel - the host may miss it, if having old headers. */
18#if UM_ELF_CLASS == UM_ELFCLASS32
19typedef Elf32_auxv_t elf_auxv_t; 17typedef Elf32_auxv_t elf_auxv_t;
20#else
21typedef Elf64_auxv_t elf_auxv_t;
22#endif
23 18
24/* These are initialized very early in boot and never changed */ 19/* These are initialized very early in boot and never changed */
25char * elf_aux_platform; 20char * elf_aux_platform;
26long elf_aux_hwcap; 21extern long elf_aux_hwcap;
27unsigned long vsyscall_ehdr; 22unsigned long vsyscall_ehdr;
28unsigned long vsyscall_end; 23unsigned long vsyscall_end;
29unsigned long __kernel_vsyscall; 24unsigned long __kernel_vsyscall;
diff --git a/arch/um/os-Linux/main.c b/arch/um/os-Linux/main.c
index fb2a97a75fb1..8471b817d94f 100644
--- a/arch/um/os-Linux/main.c
+++ b/arch/um/os-Linux/main.c
@@ -21,6 +21,8 @@
21#define STACKSIZE (8 * 1024 * 1024) 21#define STACKSIZE (8 * 1024 * 1024)
22#define THREAD_NAME_LEN (256) 22#define THREAD_NAME_LEN (256)
23 23
24long elf_aux_hwcap;
25
24static void set_stklim(void) 26static void set_stklim(void)
25{ 27{
26 struct rlimit lim; 28 struct rlimit lim;
@@ -143,7 +145,9 @@ int __init main(int argc, char **argv, char **envp)
143 install_fatal_handler(SIGINT); 145 install_fatal_handler(SIGINT);
144 install_fatal_handler(SIGTERM); 146 install_fatal_handler(SIGTERM);
145 147
148#ifdef CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA
146 scan_elf_aux(envp); 149 scan_elf_aux(envp);
150#endif
147 151
148 do_uml_initcalls(); 152 do_uml_initcalls();
149 ret = linux_main(argc, argv); 153 ret = linux_main(argc, argv);