diff options
author | Arun Sharma <arun@sharma-home.net> | 2010-04-28 17:24:47 -0700 |
---|---|---|
committer | Arun Sharma <arun@sharma-home.net> | 2010-04-28 17:27:38 -0700 |
commit | 0176c4f723f1ea90eb20018091ca58eedf28a4a8 (patch) | |
tree | 40b1b09c4f49e0e5c6e7a12198b11d79b634d011 | |
parent | c140d8598d86c699ec619f3652aedbbddb142b69 (diff) | |
parent | fdc534ccb05d1e6c0438345d292203343a811701 (diff) | |
download | libunwind-0176c4f723f1ea90eb20018091ca58eedf28a4a8.tar.gz |
Merge commit 'fdc534ccb05d1e6c0438345d292203343a811701'
-rw-r--r-- | src/x86/getcontext-freebsd.S | 2 | ||||
-rw-r--r-- | src/x86/getcontext-linux.S | 2 | ||||
-rw-r--r-- | src/x86_64/Gos-linux.c | 2 | ||||
-rw-r--r-- | src/x86_64/getcontext.S | 4 | ||||
-rwxr-xr-x | tests/run-ptrace-mapper | 2 |
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 $* |