summaryrefslogtreecommitdiff
path: root/arch/x86/vdso/vdsox32.lds.S
diff options
context:
space:
mode:
authorH. J. Lu <hjl.tools@gmail.com>2012-02-19 19:38:06 (GMT)
committerH. Peter Anvin <hpa@zytor.com>2012-02-20 20:52:06 (GMT)
commit1a21d4e095ef720abf81299000afc038206d571b (patch)
tree8d64feea71f41f785521f66fecbd29c16b0cf63a /arch/x86/vdso/vdsox32.lds.S
parent5fd92e65a68b813667bc8739f5fa463e5bfcd66d (diff)
downloadlinux-1a21d4e095ef720abf81299000afc038206d571b.tar.xz
x32: Add x32 VDSO support
Add support for the x32 VDSO. The x32 VDSO takes advantage of the similarity between the x86-64 and the x32 ABIs to contain the same content, only the container is different, as the x32 VDSO obviously is an x32 shared object. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/vdso/vdsox32.lds.S')
-rw-r--r--arch/x86/vdso/vdsox32.lds.S32
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/x86/vdso/vdsox32.lds.S b/arch/x86/vdso/vdsox32.lds.S
new file mode 100644
index 0000000..373ca9a
--- /dev/null
+++ b/arch/x86/vdso/vdsox32.lds.S
@@ -0,0 +1,32 @@
+/*
+ * Linker script for x32 vDSO.
+ * We #include the file to define the layout details.
+ * Here we only choose the prelinked virtual address.
+ *
+ * This file defines the version script giving the user-exported symbols in
+ * the DSO. We can define local symbols here called VDSO* to make their
+ * values visible using the asm-x86/vdso.h macros from the kernel proper.
+ */
+
+#define VDSO_PRELINK 0
+#include "vdso-layout.lds.S"
+
+/*
+ * This controls what userland symbols we export from the vDSO.
+ */
+VERSION {
+ LINUX_2.6 {
+ global:
+ clock_gettime;
+ __vdso_clock_gettime;
+ gettimeofday;
+ __vdso_gettimeofday;
+ getcpu;
+ __vdso_getcpu;
+ time;
+ __vdso_time;
+ local: *;
+ };
+}
+
+VDSOX32_PRELINK = VDSO_PRELINK;