From 39711101fd89bcdf25fa3353abb0bf79134cebc2 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sun, 15 Dec 2013 14:48:13 +0100 Subject: [PATCH] Add explicit sysv_abi on amd64 asm routines. --- ChangeLog | 4 ++++ include/grub/x86_64/setjmp.h | 4 ++-- include/grub/x86_64/xen/hypercall.h | 12 ++++++------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9548d982e..63e63f9ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-12-15 Vladimir Serbinenko + + Add explicit sysv_abi on amd64 asm routines. + 2013-12-15 Vladimir Serbinenko * grub-core/commands/efi/lsefisystab.c: Use %lld to show diff --git a/include/grub/x86_64/setjmp.h b/include/grub/x86_64/setjmp.h index e9f2bac8e..b8f44cf29 100644 --- a/include/grub/x86_64/setjmp.h +++ b/include/grub/x86_64/setjmp.h @@ -21,7 +21,7 @@ typedef unsigned long grub_jmp_buf[8]; -int grub_setjmp (grub_jmp_buf env) RETURNS_TWICE; -void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn)); +int grub_setjmp (grub_jmp_buf env) RETURNS_TWICE __attribute__ ((sysv_abi)); +void grub_longjmp (grub_jmp_buf env, int val) __attribute__ ((noreturn,sysv_abi)); #endif /* ! GRUB_SETJMP_CPU_HEADER */ diff --git a/include/grub/x86_64/xen/hypercall.h b/include/grub/x86_64/xen/hypercall.h index 780db4d61..ad89d6c62 100644 --- a/include/grub/x86_64/xen/hypercall.h +++ b/include/grub/x86_64/xen/hypercall.h @@ -19,16 +19,16 @@ #ifndef GRUB_XEN_CPU_HYPERCALL_HEADER #define GRUB_XEN_CPU_HYPERCALL_HEADER 1 -int EXPORT_FUNC (grub_xen_sched_op) (int cmd, void *arg); -int grub_xen_update_va_mapping (void *addr, uint64_t pte, uint64_t flags); -int grub_xen_event_channel_op (int op, void *arg); +int EXPORT_FUNC (grub_xen_sched_op) (int cmd, void *arg) __attribute__ ((sysv_abi)); +int grub_xen_update_va_mapping (void *addr, uint64_t pte, uint64_t flags) __attribute__ ((sysv_abi)); +int grub_xen_event_channel_op (int op, void *arg) __attribute__ ((sysv_abi)); int grub_xen_mmuext_op (mmuext_op_t * ops, unsigned int count, - unsigned int *pdone, unsigned int foreigndom); + unsigned int *pdone, unsigned int foreigndom) __attribute__ ((sysv_abi)); int EXPORT_FUNC (grub_xen_mmu_update) (const struct mmu_update * reqs, unsigned count, unsigned *done_out, - unsigned foreigndom); -int EXPORT_FUNC (grub_xen_grant_table_op) (int, void *, int); + unsigned foreigndom) __attribute__ ((sysv_abi)); +int EXPORT_FUNC (grub_xen_grant_table_op) (int, void *, int) __attribute__ ((sysv_abi)); #endif