Fix stack pointer handling in 16-bit relocator.

* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
Fixes Ubuntu bug #683904.
This commit is contained in:
Colin Watson 2011-04-21 00:07:22 +01:00
parent 9b710a888e
commit b13f79a427
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,11 @@
2011-04-21 Colin Watson <cjwatson@ubuntu.com>
Fix stack pointer handling in 16-bit relocator.
* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
Fixes Ubuntu bug #683904.
2011-04-20 Vladimir Serbinenko <phcoder@gmail.com> 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Bump version to 1.99~rc2. * configure.ac: Bump version to 1.99~rc2.

View file

@ -130,7 +130,7 @@ VARIABLE(grub_relocator16_ss)
.byte 0xb8 .byte 0xb8
VARIABLE(grub_relocator16_sp) VARIABLE(grub_relocator16_sp)
.word 0 .word 0
movw %ax, %ss movzwl %ax, %esp
/* movw imm32, %edx. */ /* movw imm32, %edx. */
.byte 0x66, 0xba .byte 0x66, 0xba