aboutsummaryrefslogtreecommitdiffstats
path: root/com32
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-05-04 17:36:54 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-05-04 17:36:54 -0700
commit01edb97d422916de2ba030c50631152fbd3b4b36 (patch)
treec23e28abf0287daed3f568596b0151ccb6714ae1 /com32
parentd6c3d86ccb0e4a21259f617fef3fdef88b23d06a (diff)
downloadsyslinux-01edb97d422916de2ba030c50631152fbd3b4b36.tar.gz
syslinux-01edb97d422916de2ba030c50631152fbd3b4b36.tar.xz
syslinux-01edb97d422916de2ba030c50631152fbd3b4b36.zip
load_linux.c: consider a zImage kernel to be non-relocatable
It's pretty safe to say there has never been a working relocatable Linux zImage kernel, and the semantics for them are iffy at best. Consider zImage kernels to be non-relocatable. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'com32')
-rw-r--r--com32/lib/syslinux/load_linux.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c
index 5df5f5e9..ffc0baae 100644
--- a/com32/lib/syslinux/load_linux.c
+++ b/com32/lib/syslinux/load_linux.c
@@ -284,7 +284,7 @@ int syslinux_boot_linux(void *kernel_buf, size_t kernel_size,
if (!memlimit && memlimit-1 > hdr.initrd_addr_max)
memlimit = hdr.initrd_addr_max+1; /* Zero for no limit */
- if (hdr.version < 0x0205)
+ if (hdr.version < 0x0205 || !(hdr.loadflags & LOAD_HIGH))
hdr.relocatable_kernel = 0;
if (hdr.version < 0x0206)