aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/vdso/vdso.lds.S
diff options
context:
space:
mode:
authorRoland McGrath2008-01-30 13:30:40 +0100
committerIngo Molnar2008-01-30 13:30:40 +0100
commit5b93049337301d6fbd3cf55db99b34e6b0dbd3a3 (patch)
tree69e42bddac98aff8035f03a36fc88030a7f2a902 /arch/x86/vdso/vdso.lds.S
parentc1d171a002942ea2d93b4fbd0c9583c56fce0772 (diff)
x86 vDSO: generate vdso-syms.lds
This patch adds a new way of extracting symbols from the built vDSO image. This is much simpler and less fragile than using ld -R; it removes the need to control the DSO layout quite so exactly. I was clearly unduly distracted by clever ld uses when I did the original vDSO implementation. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/vdso/vdso.lds.S')
-rw-r--r--arch/x86/vdso/vdso.lds.S10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/vdso/vdso.lds.S b/arch/x86/vdso/vdso.lds.S
index 667d3245d972..d40d0e906190 100644
--- a/arch/x86/vdso/vdso.lds.S
+++ b/arch/x86/vdso/vdso.lds.S
@@ -8,6 +8,16 @@
#define VDSO_PRELINK 0xffffffffff700000
+/*
+ * Symbols we define here called VDSO* get their values into vdso-syms.lds
+ * and become visible to the kernel itself.
+ */
+VDSO64_PRELINK = VDSO_PRELINK;
+
+#define VEXTERN(x) VDSO64_ ## x = vdso_ ## x;
+#include "vextern.h"
+#undef VEXTERN
+
SECTIONS
{
. = VDSO_PRELINK + SIZEOF_HEADERS;