diff options
author | dim <dim@FreeBSD.org> | 2010-11-04 18:57:51 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2010-11-04 18:57:51 +0000 |
commit | 19346db156d3bd4c14e0d0c0e6cf04d39f14c866 (patch) | |
tree | 97d4e892bc752fd46c09105a8a508d299a552199 /sys/kern/subr_sleepqueue.c | |
parent | 7fe4867679f4bacde210186b70c6e9bc17313e63 (diff) | |
download | FreeBSD-src-19346db156d3bd4c14e0d0c0e6cf04d39f14c866.zip FreeBSD-src-19346db156d3bd4c14e0d0c0e6cf04d39f14c866.tar.gz |
Binutils commit 0c845abb5a0083c6deebc75975608237015badba increased
ELF_MAXPAGESIZE for amd64 from 0x00100000 to 0x00200000. This caused
the kernel to be incorrectly linked, using the existing linker script,
resulting in a virtual address of 0xffffffff80000000 for the LOAD
program header.
The boot loader will load such a kernel at a real address of 0x00000000,
which either causes protection faults in btx, crashes the machine, or
(in case of a VMware guest) even makes it power down. :)
Fix this by partially synchronizing the amd64 linker script with
binutils own updated version, in particular replacing a hardcoded
value of 0x00100000 by CONSTANT(MAXPAGESIZE).
Diffstat (limited to 'sys/kern/subr_sleepqueue.c')
0 files changed, 0 insertions, 0 deletions