From: Andrew Morton This is the second time this has happened: inserting a new section requires that we adjust the arithmetic which is used to calculate the vsyscall page's offset. Cc: Christoph Lameter Cc: Andi Kleen Signed-off-by: Andrew Morton --- arch/x86_64/kernel/vmlinux.lds.S | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN arch/x86_64/kernel/vmlinux.lds.S~x86_64-section-linkage-fix arch/x86_64/kernel/vmlinux.lds.S --- 25/arch/x86_64/kernel/vmlinux.lds.S~x86_64-section-linkage-fix 2005-07-11 22:12:06.000000000 -0700 +++ 25-akpm/arch/x86_64/kernel/vmlinux.lds.S 2005-07-11 22:12:36.000000000 -0700 @@ -62,8 +62,8 @@ SECTIONS } #define VSYSCALL_ADDR (-10*1024*1024) -#define VSYSCALL_PHYS_ADDR ((LOADADDR(.data.cacheline_aligned) + SIZEOF(.data.cacheline_aligned) + 4095) & ~(4095)) -#define VSYSCALL_VIRT_ADDR ((ADDR(.data.cacheline_aligned) + SIZEOF(.data.cacheline_aligned) + 4095) & ~(4095)) +#define VSYSCALL_PHYS_ADDR ((LOADADDR(.data.read_mostly) + SIZEOF(.data.read_mostly) + 4095) & ~(4095)) +#define VSYSCALL_VIRT_ADDR ((ADDR(.data.read_mostly) + SIZEOF(.data.read_mostly) + 4095) & ~(4095)) #define VLOAD_OFFSET (VSYSCALL_ADDR - VSYSCALL_PHYS_ADDR) #define VLOAD(x) (ADDR(x) - VLOAD_OFFSET) _