diff --git a/grub-core/lib/i386/backtrace.c b/grub-core/lib/i386/backtrace.c index d76a46a23..c3e03c727 100644 --- a/grub-core/lib/i386/backtrace.c +++ b/grub-core/lib/i386/backtrace.c @@ -57,10 +57,10 @@ grub_backtrace (void) { #ifdef __x86_64__ asm volatile ("movq %%rbp, %%rdi\n" - "call %%rax": :"a"(grub_backtrace_pointer)); + "callq *%%rax": :"a"(grub_backtrace_pointer)); #else asm volatile ("movl %%ebp, %%eax\n" - "call %%ecx": :"c"(grub_backtrace_pointer)); + "calll *%%ecx": :"c"(grub_backtrace_pointer)); #endif }