Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid

linker trying to "fixup" the code.
This commit is contained in:
Vladimir Serbinenko 2013-12-16 18:10:50 +01:00
parent 8fcce8d50f
commit 316c8d9a18
3 changed files with 7 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
linker trying to "fixup" the code.
2013-12-16 Vladimir Serbinenko <phcoder@gmail.com> 2013-12-16 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/kern/x86_64/xen/startup.S: Align stack. * grub-core/kern/x86_64/xen/startup.S: Align stack.

View file

@ -40,4 +40,4 @@ FUNCTION(grub_xen_hypercall)
popl %edi popl %edi
popl %esi popl %esi
popl %ebp popl %ebp
retl $16 ret

View file

@ -26,7 +26,7 @@ EXPORT_FUNC (grub_xen_hypercall) (grub_uint32_t callno, grub_uint32_t a0,
grub_uint32_t a1, grub_uint32_t a2, grub_uint32_t a1, grub_uint32_t a2,
grub_uint32_t a3, grub_uint32_t a4, grub_uint32_t a3, grub_uint32_t a4,
grub_uint32_t a5) grub_uint32_t a5)
__attribute__ ((regparm (3), stdcall)); __attribute__ ((regparm (3), cdecl));
static inline int static inline int
grub_xen_sched_op (int cmd, void *arg) grub_xen_sched_op (int cmd, void *arg)