summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Sharma <arun@sharma-home.net>2010-04-28 17:24:47 -0700
committerArun Sharma <arun@sharma-home.net>2010-04-28 17:27:38 -0700
commit0176c4f723f1ea90eb20018091ca58eedf28a4a8 (patch)
tree40b1b09c4f49e0e5c6e7a12198b11d79b634d011
parentc140d8598d86c699ec619f3652aedbbddb142b69 (diff)
parentfdc534ccb05d1e6c0438345d292203343a811701 (diff)
downloadlibunwind-0176c4f723f1ea90eb20018091ca58eedf28a4a8.tar.gz
Merge commit 'fdc534ccb05d1e6c0438345d292203343a811701'
-rw-r--r--src/x86/getcontext-freebsd.S2
-rw-r--r--src/x86/getcontext-linux.S2
-rw-r--r--src/x86_64/Gos-linux.c2
-rw-r--r--src/x86_64/getcontext.S4
-rwxr-xr-xtests/run-ptrace-mapper2
5 files changed, 11 insertions, 1 deletions
diff --git a/src/x86/getcontext-freebsd.S b/src/x86/getcontext-freebsd.S
index 92ae26f4..eb435394 100644
--- a/src/x86/getcontext-freebsd.S
+++ b/src/x86/getcontext-freebsd.S
@@ -27,6 +27,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
.global _Ux86_getcontext
.type _Ux86_getcontext, @function
_Ux86_getcontext:
+ .cfi_startproc
pushl %eax
mov 8(%esp),%eax /* ucontext_t* */
popl FREEBSD_UC_MCONTEXT_EAX_OFF(%eax)
@@ -81,6 +82,7 @@ _Ux86_getcontext:
xorl %eax, %eax
ret
+ .cfi_endproc
.size _Ux86_getcontext, . - _Ux86_getcontext
/* We do not need executable stack. */
diff --git a/src/x86/getcontext-linux.S b/src/x86/getcontext-linux.S
index a0714cd1..c469dadb 100644
--- a/src/x86/getcontext-linux.S
+++ b/src/x86/getcontext-linux.S
@@ -36,6 +36,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
.global _Ux86_getcontext
.type _Ux86_getcontext, @function
_Ux86_getcontext:
+ .cfi_startproc
mov 4(%esp),%eax /* ucontext_t* */
/* EAX is not preserved. */
@@ -66,6 +67,7 @@ _Ux86_getcontext:
xor %eax, %eax
ret
+ .cfi_endproc
.size _Ux86_getcontext, . - _Ux86_getcontext
/* We do not need executable stack. */
diff --git a/src/x86_64/Gos-linux.c b/src/x86_64/Gos-linux.c
index 826489f0..957f3e30 100644
--- a/src/x86_64/Gos-linux.c
+++ b/src/x86_64/Gos-linux.c
@@ -87,6 +87,7 @@ unw_is_signal_frame (unw_cursor_t *cursor)
PROTECTED int
unw_handle_signal_frame (unw_cursor_t *cursor)
{
+#if UNW_DEBUG /* To silence compiler warnings */
/* Should not get here because we now use kernel-provided dwarf
information for the signal trampoline and dwarf_step() works.
Hence dwarf_step() should never call this function. Maybe
@@ -97,6 +98,7 @@ unw_handle_signal_frame (unw_cursor_t *cursor)
assert(c->sigcontext_format == X86_64_SCF_LINUX_RT_SIGFRAME);
assert(c->sigcontext_addr == c->dwarf.cfa);
assert(0);
+#endif
return 1;
}
diff --git a/src/x86_64/getcontext.S b/src/x86_64/getcontext.S
index a0df6f15..15fff283 100644
--- a/src/x86_64/getcontext.S
+++ b/src/x86_64/getcontext.S
@@ -37,6 +37,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
.global _Ux86_64_getcontext
.type _Ux86_64_getcontext, @function
_Ux86_64_getcontext:
+ .cfi_startproc
/* Callee saved: RBX, RBP, R12-R15 */
movq %r12, UC_MCONTEXT_GREGS_R12(%rdi)
@@ -70,7 +71,9 @@ _Ux86_64_getcontext:
/* Save rflags and segment registers, so that sigreturn(2)
does not complain. */
pushfq
+ .cfi_adjust_cfa_offset 8
popq UC_MCONTEXT_RFLAGS(%rdi)
+ .cfi_adjust_cfa_offset -8
movl $0, UC_MCONTEXT_FLAGS(%rdi)
movw %cs, UC_MCONTEXT_CS(%rdi)
movw %ss, UC_MCONTEXT_SS(%rdi)
@@ -95,6 +98,7 @@ _Ux86_64_getcontext:
xorq %rax, %rax
retq
+ .cfi_endproc
.size _Ux86_64_getcontext, . - _Ux86_64_getcontext
/* We do not need executable stack. */
diff --git a/tests/run-ptrace-mapper b/tests/run-ptrace-mapper
index f51cf9a1..dc3010d4 100755
--- a/tests/run-ptrace-mapper
+++ b/tests/run-ptrace-mapper
@@ -1,2 +1,2 @@
#!/bin/sh
-./test-ptrace -c -n -t ./mapper
+./test-ptrace -c -n -t ./mapper $*