From d6c3d86ccb0e4a21259f617fef3fdef88b23d06a Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Mon, 4 May 2009 17:34:46 -0700 Subject: [PATCH] load_linux.c: when relocating, need to update code32_start The normal value for code32_start is based on the kernel load address (in fact, it usually *is* the kernel load address); accordingly, it needs to be updated if the kernel is relocated. Signed-off-by: H. Peter Anvin --- com32/lib/syslinux/load_linux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c index b1667f0..5df5f5e 100644 --- a/com32/lib/syslinux/load_linux.c +++ b/com32/lib/syslinux/load_linux.c @@ -380,6 +380,7 @@ int syslinux_boot_linux(void *kernel_buf, size_t kernel_size, however, account for the fact that the kernel is decompressed into a whole other place, either. */ if (end - start >= 3*prot_mode_size) { + whdr->code32_start += start - prot_mode_base; prot_mode_base = start; ok = true; break; -- 2.7.4