value.
(grub_openbsd_boot): Likewise.
(grub_netbsd_boot): Likewise.
* grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
(grub_xnu_boot): Likewise.
+2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
+ value.
+ (grub_openbsd_boot): Likewise.
+ (grub_netbsd_boot): Likewise.
+ * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
+ (grub_xnu_boot): Likewise.
+
2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Clean LIBS variable after tests.
grub_memcpy (&stack[9], &bi, sizeof (bi));
state.eip = entry;
state.esp = stack_target;
+ state.ebp = stack_target;
stack[0] = entry; /* "Return" address. */
stack[1] = bootflags | FREEBSD_RB_BOOTINFO;
stack[2] = bootdev;
#endif
state.eip = entry;
- state.esp = ((grub_uint8_t *) stack - (grub_uint8_t *) buf0) + buf_target;
+ state.ebp = state.esp
+ = ((grub_uint8_t *) stack - (grub_uint8_t *) buf0) + buf_target;
stack[0] = entry;
stack[1] = bootflags;
stack[2] = openbsd_root;
state.eip = entry;
state.esp = stack_target;
+ state.ebp = stack_target;
stack[0] = entry;
stack[1] = bootflags;
stack[2] = 0;
struct grub_relocator32_state state;
state.esp = grub_xnu_stack;
+ state.ebp = grub_xnu_stack;
state.eip = grub_xnu_entry_point;
state.eax = grub_xnu_arg1;
state.eip = grub_xnu_entry_point;
state.eax = grub_xnu_arg1;
state.esp = grub_xnu_stack;
+ state.ebp = grub_xnu_stack;
return grub_relocator32_boot (grub_xnu_relocator, state);
}