]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
authorVladimir Serbinenko <phcoder@gmail.com>
Wed, 30 Dec 2015 17:19:44 +0000 (18:19 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Wed, 30 Dec 2015 17:19:44 +0000 (18:19 +0100)
grub-core/lib/i386/backtrace.c

index 7a7796a12ecbe7641d0537056af21089be71a6cb..d76a46a233332e2418070fd82f3c66f83c5c9122 100644 (file)
@@ -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
 }