aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2013-01-08 19:38:51 +0000
committerMike Frysinger <vapier@gentoo.org>2013-01-08 19:38:51 +0000
commitbdad4180179ebc7c1be31c0bf03769358a7b01bc (patch)
tree5c9d8c5e2c6e280a03ad6086efbb3528d415417b
parenta3251895a6c76c3f3a1e8535ea776b9029263253 (diff)
downloadfsf-binutils-gdb-bdad4180179ebc7c1be31c0bf03769358a7b01bc.zip
fsf-binutils-gdb-bdad4180179ebc7c1be31c0bf03769358a7b01bc.tar.gz
fsf-binutils-gdb-bdad4180179ebc7c1be31c0bf03769358a7b01bc.tar.bz2
gdb: x86: fix x32 builds with inline asm
We need to cast the pointer up to 64bits so that the push works on x32 targets. For 64bit targets, this makes no difference. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/common/linux-ptrace.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8ba8772..3928ac6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-08 Mike Frysinger <vapier@gentoo.org>
+
+ * common/linux-ptrace.c (linux_ptrace_test_ret_to_nx) [__x86_64__]:
+ Cast return_address to 64bits.
+
2013-01-08 Hui Zhu <hui_zhu@mentor.com>
* printcmd.c: Remove define of function output_command.
diff --git a/gdb/common/linux-ptrace.c b/gdb/common/linux-ptrace.c
index 761ef59..886be80 100644
--- a/gdb/common/linux-ptrace.c
+++ b/gdb/common/linux-ptrace.c
@@ -114,7 +114,8 @@ linux_ptrace_test_ret_to_nx (void)
".globl linux_ptrace_test_ret_to_nx_instr;"
"linux_ptrace_test_ret_to_nx_instr:"
"ret"
- : : "r" (return_address) : "%rsp", "memory");
+ : : "r" ((uint64_t) (uintptr_t) return_address)
+ : "%rsp", "memory");
#else
# error "!__i386__ && !__x86_64__"
#endif