Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1169881
| Path | csiph.com!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Brian Gerst <brgerst@gmail.com> |
| Newsgroups | linux.kernel |
| Subject | [PATCH 06/12] x86/compat: Don't build 32-bit vdso if not needed. |
| Date | Mon, 22 Jun 2015 14:00:03 +0200 |
| Message-ID | <pE8yn-2Mp-35@gated-at.bofh.it> (permalink) |
| References | <pE8ym-2Mp-5@gated-at.bofh.it> |
| X-Original-To | x86@kernel.org |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=H7xTMFYhR19dHv26Hx4/MxoLvjhxwiRCf/MWxGKU5LU=; b=ICCnm1YvNe+p1oZmrt7ygoR3Ekisbdh4HYt8kX1exz3JqMLGpQG5bJnVsBaSta6FMd ZWh8yMlYq6QTrB9CVR4hrC4a8MGR8TTGGf0oElN5QwmkyPCUnV7cqELlpwvZ6Oughlz1 JoWI4X6976Hv4UqVDpk/k0OZjrioHnLxYTpfALgDpI49X8bdYkHO78lFHVSqi2SVCGhP TQ27OYWHJUGKqEz7IGJiNdHvuNsJS1oiJM5WvZmfzXZwXZ4+xHRhCNgOptwVKjdgt1BQ yrjarWTjqZb6/Mhz8O+JcofcwBNc7RKd4wRULdCoXifjPA9/wHU/mPG/WxWcauZvlK2/ cgiw== |
| X-Received | by 10.170.77.194 with SMTP id t185mr36041281ykt.44.1434974146498; Mon, 22 Jun 2015 04:55:46 -0700 (PDT) |
| X-Mailer | git-send-email 2.1.0 |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 86 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>, Denys Vlasenko <dvlasenk@redhat.com>, Andy Lutomirski <luto@amacapital.net> |
| X-Original-Date | Mon, 22 Jun 2015 07:55:15 -0400 |
| X-Original-Message-ID | <1434974121-32575-7-git-send-email-brgerst@gmail.com> |
| X-Original-References | <1434974121-32575-1-git-send-email-brgerst@gmail.com> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | aioe.org linux.kernel:1169881 |
Show key headers only | View raw
Build the 32-bit vdso only for native 32-bit or 32-bit compat is
enabled. x32 should not force it to build.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
---
arch/x86/entry/vdso/Makefile | 6 +++---
arch/x86/entry/vdso/vma.c | 7 +++++--
arch/x86/include/asm/elf.h | 2 +-
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index e970320..96c0617 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -8,7 +8,7 @@ KASAN_SANITIZE := n
VDSO64-$(CONFIG_X86_64) := y
VDSOX32-$(CONFIG_X86_X32_ABI) := y
VDSO32-$(CONFIG_X86_32) := y
-VDSO32-$(CONFIG_COMPAT) := y
+VDSO32-$(CONFIG_IA32_EMULATION) := y
# files to link into the vdso
vobjs-y := vdso-note.o vclock_gettime.o vgetcpu.o
@@ -20,7 +20,7 @@ obj-y += vma.o
vdso_img-$(VDSO64-y) += 64
vdso_img-$(VDSOX32-y) += x32
vdso_img-$(VDSO32-y) += 32-int80
-vdso_img-$(CONFIG_COMPAT) += 32-syscall
+vdso_img-$(CONFIG_IA32_EMULATION) += 32-syscall
vdso_img-$(VDSO32-y) += 32-sysenter
obj-$(VDSO32-y) += vdso32-setup.o
@@ -126,7 +126,7 @@ $(obj)/vdsox32.so.dbg: $(src)/vdsox32.lds $(vobjx32s) FORCE
# Build multiple 32-bit vDSO images to choose from at boot time.
#
vdso32.so-$(VDSO32-y) += int80
-vdso32.so-$(CONFIG_COMPAT) += syscall
+vdso32.so-$(CONFIG_IA32_EMULATION) += syscall
vdso32.so-$(VDSO32-y) += sysenter
vdso32-images = $(vdso32.so-y:%=vdso32-%.so)
diff --git a/arch/x86/entry/vdso/vma.c b/arch/x86/entry/vdso/vma.c
index 1c9f750..4345431 100644
--- a/arch/x86/entry/vdso/vma.c
+++ b/arch/x86/entry/vdso/vma.c
@@ -177,7 +177,7 @@ up_fail:
return ret;
}
-#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT)
+#if defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION)
static int load_vdso32(void)
{
int ret;
@@ -219,8 +219,11 @@ int compat_arch_setup_additional_pages(struct linux_binprm *bprm,
return map_vdso(&vdso_image_x32, true);
}
#endif
-
+#ifdef CONFIG_IA32_EMULATION
return load_vdso32();
+#else
+ return 0;
+#endif
}
#endif
#else
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h
index 2bf67c0..141c561 100644
--- a/arch/x86/include/asm/elf.h
+++ b/arch/x86/include/asm/elf.h
@@ -78,7 +78,7 @@ typedef struct user_fxsr_struct elf_fpxregset_t;
#ifdef CONFIG_X86_64
extern unsigned int vdso64_enabled;
#endif
-#if defined(CONFIG_X86_32) || defined(CONFIG_COMPAT)
+#if defined(CONFIG_X86_32) || defined(CONFIG_IA32_EMULATION)
extern unsigned int vdso32_enabled;
#endif
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
[PATCH 00/12] x86/compat: Separate X32 from 32-bit compat Brian Gerst <brgerst@gmail.com> - 2015-06-22 14:00 +0200 [PATCH 07/12] x86/compat: get_gate_vma should check for both 32-bit compat and x32 Brian Gerst <brgerst@gmail.com> - 2015-06-22 14:00 +0200 [PATCH 08/12] x86/compat/perf: perf_callchain_user32 is only for 32-bit compat Brian Gerst <brgerst@gmail.com> - 2015-06-22 14:00 +0200 [PATCH 06/12] x86/compat: Don't build 32-bit vdso if not needed. Brian Gerst <brgerst@gmail.com> - 2015-06-22 14:00 +0200
csiph-web