From: Vladimir Serbinenko Date: Wed, 30 Dec 2015 17:19:44 +0000 (+0100) Subject: backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G X-Git-Tag: 2.02-beta3~147 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79cfad6fbeafcfa9b8a664643024e897123927c7;p=thirdparty%2Fgrub.git backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G --- diff --git a/grub-core/lib/i386/backtrace.c b/grub-core/lib/i386/backtrace.c index 7a7796a12..d76a46a23 100644 --- a/grub-core/lib/i386/backtrace.c +++ b/grub-core/lib/i386/backtrace.c @@ -56,11 +56,11 @@ void grub_backtrace (void) { #ifdef __x86_64__ - asm volatile ("movq %rbp, %rdi\n" - "call " EXT_C("grub_backtrace_pointer")); + asm volatile ("movq %%rbp, %%rdi\n" + "call %%rax": :"a"(grub_backtrace_pointer)); #else - asm volatile ("movl %ebp, %eax\n" - "call " EXT_C("grub_backtrace_pointer")); + asm volatile ("movl %%ebp, %%eax\n" + "call %%ecx": :"c"(grub_backtrace_pointer)); #endif }