From 79cfad6fbeafcfa9b8a664643024e897123927c7 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Wed, 30 Dec 2015 18:19:44 +0100 Subject: [PATCH] backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G --- grub-core/lib/i386/backtrace.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 }