core, pxe: Don't push on one stack and pop from the other in pxenvsyslinux-6.03-pre19
commita7f5892c4d85f3685708b8efb237c9c73a8b1ddf
authorH. Peter Anvin <hpa@zytor.com>
Tue, 29 Jul 2014 15:47:32 +0000 (29 08:47 -0700)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 29 Jul 2014 15:52:21 +0000 (29 08:52 -0700)
tree2db79d4db967052e587e5017be3ace9b0083e973
parent3741886cb700e1017d70f1753f013fa10f4d9272
core, pxe: Don't push on one stack and pop from the other in pxenv

When saving/restoring the flags around the stack switch test, we
cannot leave live data on the stack *across* the stack switch that we
are going to use on the other side (unlike the "big" stack frame which
we only use once we are back on the original stack.)

Use register BP, which is not live at either point, as a temporary
holding place for the flags from the stack.

Reported-by: Frank Mehnert <frank.mehnert@googlemail.com>
Link: http://bugzilla.syslinux.org/show_bug.cgi?id=54
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
core/pxelinux.asm