Konstantin Belousov
54f8b2fdbe
Fill real offsets for freebsd
2010-03-11 00:02:24 +02:00
Konstantin Belousov
d737709640
Close #if
2010-03-11 00:02:11 +02:00
Konstantin Belousov
47dcc89457
Remove unneeded braces
2010-03-10 23:51:59 +02:00
Konstantin Belousov
3b026a7ed8
Fix i386 distinctions between freebsd and linux for mcontext.
2010-03-10 23:51:09 +02:00
Konstantin Belousov
bb41eba56c
FreeBSD/i386 port. get/setcontext need further work
2010-03-09 18:01:25 +02:00
Konstantin Belousov
c61e0b932c
Add sys/types.h for x86.
2010-03-09 17:37:52 +02:00
Konstantin Belousov
71cbdc697f
Provide real values for jmpbuf offsets for FreeBSD
2010-03-08 21:49:38 +02:00
Konstantin Belousov
9f79621a29
Enough for now for ptrace backend
2010-03-08 20:55:50 +02:00
Konstantin Belousov
752ce15c4f
Preliminary version of freebsd syscall unwinder
2010-03-08 19:45:54 +02:00
Konstantin Belousov
c1b1c10cfc
Fix memory leak on error
2010-03-08 18:48:27 +02:00
Konstantin Belousov
4b3ca293bf
Fix PT_SYSCALL ignoring of ip
2010-03-08 17:01:31 +02:00
Konstantin Belousov
89e1df2d32
Fix _UI_siglongjmp_cont name
2010-03-08 15:55:29 +02:00
Konstantin Belousov
0f1c0f5f66
Fix resume.
2010-03-08 15:51:39 +02:00
Konstantin Belousov
43ed5b3e56
Add required assembler magic.
2010-03-08 00:57:50 +02:00
Konstantin Belousov
5f5b1a5daa
tdep_get_elf_image should be public
2010-03-08 00:52:26 +02:00
Konstantin Belousov
ad932154a6
Port test-ptrace
2010-03-08 00:50:50 +02:00
Konstantin Belousov
093855f12a
Remove unneeded includes of sys/types.h
2010-03-08 00:25:22 +02:00
Konstantin Belousov
64b5391b7b
Include sys/types.h once
2010-03-08 00:24:32 +02:00
Konstantin Belousov
da357e3c2e
Revert "sys/types.h"
...
This reverts commit 5976f1a5b3
.
2010-03-08 00:20:23 +02:00
Konstantin Belousov
53095e6b3e
Code for resume
2010-03-07 23:43:07 +02:00
Konstantin Belousov
c64723835c
Support walk over freebsd sigframes
2010-03-07 21:53:01 +02:00
Konstantin Belousov
d0d5f9979b
Correct rsp offset
2010-03-07 21:20:43 +02:00
Konstantin Belousov
efd0655ff4
Silence warning about symbol redefinition.
2010-03-07 17:27:41 +02:00
Konstantin Belousov
59d38aaccd
Properly handle -ldl and -lutil
2010-03-07 12:46:05 +02:00
Konstantin Belousov
d7eea91448
Cast caddr_t argument for ptrace
2010-03-07 12:27:03 +02:00
Konstantin Belousov
200147d0f2
Handle fpu state
2010-03-06 23:22:46 +02:00
Konstantin Belousov
62218e10eb
Provide proper offsets for gregs in freebsd ucontext. Note that fp regs are not handled.
2010-03-06 22:33:11 +02:00
Konstantin Belousov
63ae8ca894
Correct assignments, remove unneeded includes.
2010-03-06 22:32:11 +02:00
Konstantin Belousov
4de09a9c15
Implement freebsd-specific vm walker.
2010-03-06 18:53:27 +02:00
Konstantin Belousov
81f2de0083
Add implementation of unw_is_signal_frame for freebsd.
2010-03-06 18:08:44 +02:00
Konstantin Belousov
1ba7599250
Add FreeBSD stub.
2010-03-06 17:54:51 +02:00
Konstantin Belousov
2646e0fde8
Add freebsd stub
2010-03-06 17:51:00 +02:00
Konstantin Belousov
5976f1a5b3
sys/types.h
2010-03-06 17:47:26 +02:00
Konstantin Belousov
d7f5141075
MAP_ANONYMOUS
2010-03-06 16:46:52 +02:00
Konstantin Belousov
3eabce18b1
Include sys/types.h when needed.
2010-03-06 16:43:39 +02:00
Konstantin Belousov
29c110265f
_NSIG.
2010-03-06 16:43:18 +02:00
Konstantin Belousov
c7ffca11ae
FreeBSD way to name registers.
2010-03-06 16:35:32 +02:00
Konstantin Belousov
8ccebc9307
MAP_ANONYMOUS
2010-03-06 16:23:24 +02:00
Konstantin Belousov
78cb28b4a6
PT_CONTINUE.
2010-03-06 16:20:47 +02:00
Konstantin Belousov
d4a4ddd23d
Provide access to the general regs on FreeBSD.
2010-03-06 16:17:21 +02:00
Konstantin Belousov
cf6ae3548f
Code to read/write user memory on FreeBSD
2010-03-06 15:04:56 +02:00
Konstantin Belousov
d11456ffbf
Code to read/write fpregs on FreeBSD
2010-03-06 14:55:11 +02:00
Konstantin Belousov
905034ce72
Initial attempt at the build infrastructure for FreeBSD.
2010-03-06 00:41:37 +02:00
Arun Sharma
46ea10680d
Update documentation on building from git
2010-03-02 21:18:57 -08:00
Arun Sharma
3468a6b33d
Change MS_SYNC to MS_ASYNC
...
Hopefully this makes the address validation a bit cheaper.
2010-02-23 10:35:47 -08:00
Stefan Demharter
752076789f
Be gcc compatible for C++ exceptions on 32 bit platforms.
2010-02-21 22:45:08 -08:00
Arun Sharma
5a1d3c6fd7
Remove bogus check on scan_string which is guaranteed to fail every time.
2010-02-21 22:35:26 -08:00
Paul Pluzhnikov
54752e0df0
Implement getcontext for x86
...
Greetings,
Attached patch implements getcontext for x86.
Motivation is the same as:
http://lists.nongnu.org/archive/html/libunwind-devel/2008-06/msg00009.html
This also fixes check-name-space on x86.
Tested on Linux/86 with no new failures.
Thanks,
--
Paul Pluzhnikov
2009-12-23 09:59:52 -08:00
Paul Pluzhnikov
0cf76ed0b5
Check for NULL when validating addresses
...
This is rather on the obvious side.
While doing strace on an executable using libunwind, I noticed a
lot of:
msync(0, 1, MS_SYNC) = -1 ENOMEM (Cannot allocate memory)
Since we know that the first page isn't mapped (or at least doesn't
contain the data we are looking for), we can eliminate all such
msync calls.
Tested on Linux/x86_64 with no regressions.
2009-12-01 13:59:45 -08:00
Paul Pluzhnikov
9626d66019
Fix a race condition in dwarf unwinding.
...
Original code was accessing rs_cache memory without holding a lock
in some cases. If there was sufficient cache pressure, entry being
accessed may be overwritten by another thread, resulting in a data
race.
We now make a thread local copy of the data, before releasing the
lock. If we end up supporting UNW_CACHE_PER_THREAD properly
in the future, this memcpy should be unnecessary.
2009-11-24 15:18:48 -08:00