]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
authorokuji <okuji@localhost>
Sat, 28 Dec 2002 07:42:12 +0000 (07:42 +0000)
committerokuji <okuji@localhost>
Sat, 28 Dec 2002 07:42:12 +0000 (07:42 +0000)
* kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
bunch of pushl's from pusha, because this destroys the return
value.

ChangeLog
kern/i386/pc/startup.S

index e531142ec3752da376d12bd909e51b75882fe688..878037f2a28baf6cf106f6a0d0c26b43a21f2195 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
+
+       * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
+       bunch of pushl's from pusha, because this destroys the return
+       value.
+
 2002-12-28  Yoshinori K. Okuji  <okuji@enbug.org>
 
        Use -mrtd and -mregparm=3 to reduce the generated code sizes.
index aaabdc307c8b5c74eb58c79e09635c3da9194220..5e6d55604a49fec59eb64bb399c8ce0bc46f9049 100644 (file)
@@ -797,7 +797,10 @@ xnoteisa:
  */
 
 FUNCTION(pupa_get_mmap_entry)
-       pusha
+       pushl   %ebp
+       pushl   %ebx
+       pushl   %edi
+       pushl   %esi
 
        /* push ADDR */
        pushl   %eax
@@ -852,7 +855,10 @@ xsmap:
        /* set return value to continuation */
        movl    %ebx, %eax
 
-       popa
+       popl    %esi
+       popl    %edi
+       popl    %ebx
+       popl    %ebp
        ret