[PATCH] Fix hardcoded value in vsyscall.lds

From: Brian Gerst
Date: Sat Aug 28 2004 - 11:03:59 EST


The last attempt to clean this up still left a hardcoded constant (the offset from __FIXADDR_TOP). This patch moves VSYSCALL_BASE to asm-offsets.c.

--
Brian Gerst
diff -urN linux-2.6.9-rc1-bk/arch/i386/kernel/asm-offsets.c linux/arch/i386/kernel/asm-offsets.c
--- linux-2.6.9-rc1-bk/arch/i386/kernel/asm-offsets.c 2004-06-23 18:06:12.000000000 -0400
+++ linux/arch/i386/kernel/asm-offsets.c 2004-08-27 10:55:04.384806536 -0400
@@ -62,4 +62,5 @@
sizeof(struct tss_struct));

DEFINE(PAGE_SIZE_asm, PAGE_SIZE);
+ DEFINE(VSYSCALL_BASE, __fix_to_virt(FIX_VSYSCALL));
}
diff -urN linux-2.6.9-rc1-bk/arch/i386/kernel/vsyscall.lds.S linux/arch/i386/kernel/vsyscall.lds.S
--- linux-2.6.9-rc1-bk/arch/i386/kernel/vsyscall.lds.S 2004-08-26 17:17:35.000000000 -0400
+++ linux/arch/i386/kernel/vsyscall.lds.S 2004-08-27 10:54:41.293818300 -0400
@@ -3,9 +3,7 @@
* object prelinked to its virtual address, and with only one read-only
* segment (that fits in one page). This script controls its layout.
*/
-#include <asm/fixmap.h>
-
-VSYSCALL_BASE = __FIXADDR_TOP - 0x1000;
+#include <asm/asm_offsets.h>

SECTIONS
{