Konstantin Belousov
69001646fa
Store the ucontext_t pointer to properly handle resume across signal frames.
2010-04-11 13:48:14 +03:00
Konstantin Belousov
f01a043712
Convince gcc that x86_64_sigreturn cannot return, as declared.
2010-04-11 13:47:28 +03:00
Konstantin Belousov
a688d6c4c9
Remove unused variable.
2010-04-10 18:51:17 +03:00
Konstantin Belousov
dd1c7b6c1a
Declare mxcsr as XMM
2010-04-10 18:48:35 +03:00
Konstantin Belousov
53f7e650e0
For FreeBSD/i386, add real offset values for FPU context fields.
2010-04-10 18:48:16 +03:00
Konstantin Belousov
6f7b335e89
Add my copyrights to several files that contain essential modifications
2010-04-10 01:42:26 +03:00
Konstantin Belousov
9fe75c7d93
Save FPU state when saving context. For XMM-capable CPUs only (for now).
2010-04-10 00:47:08 +03:00
Konstantin Belousov
117ccd246d
Move all XMM offsets into one place.
2010-04-10 00:46:51 +03:00
Konstantin Belousov
f6546e27ed
Implement the base code to fetch x86/xmm state on x86. Offsets to be filled.
2010-04-10 00:40:39 +03:00
Konstantin Belousov
2c50c95cde
Correct arguments for Debug().
...
Shut up warning by using the cast.
2010-04-10 00:38:54 +03:00
Arun Sharma
d1676f192e
Fix warnings on 32 bit x86
2010-04-08 03:12:05 -07:00
Arun Sharma
caa6095aec
Fix compile errors on Linux
2010-04-07 19:59:06 -07:00
Konstantin Belousov
979af4502f
Move local_resume to os-specific file.
2010-04-05 23:00:27 +03:00
Konstantin Belousov
0dbeeeb08d
Move uc_addr to os-specific file
2010-04-05 22:42:23 +03:00
Konstantin Belousov
79d012348d
Move get_scratch_loc() to os-specific file.
2010-04-05 22:22:55 +03:00
Konstantin Belousov
aeee03dd74
Reduce diffs to master
2010-04-05 16:28:46 +03:00
Konstantin Belousov
ccc0ae665b
More move of osdep code.
2010-04-05 16:25:36 +03:00
Konstantin Belousov
a40641f326
Trim spaces
2010-04-05 16:25:20 +03:00
Konstantin Belousov
fd88f41818
Merge remote branch 'origin/master' into freebsd
...
Conflicts:
src/x86/Gis_signal_frame.c
src/x86/Gstep.c
src/x86_64/Gis_signal_frame.c
src/x86_64/Gstep.c
2010-04-05 16:14:50 +03:00
Arun Sharma
8e53e62db9
Refactor os specific code for x86 (both 32 and 64 bit).
...
Move Linux specific code into ${arch}/Gos-linux.c
2010-04-04 16:46:13 -07:00
Konstantin Belousov
980ccffe9e
Merge remote branch 'origin/master' into freebsd
...
Conflicts:
src/x86/Gis_signal_frame.c
2010-04-04 12:44:10 +03:00
Arun Sharma
2b7ca45acc
Fix handling of SA_SIGINFO frames on 32 bit x86
...
Submitted by: Arne de Bruijn <mail@arnedebruijn.nl>
2010-04-03 16:49:18 -07:00
Konstantin Belousov
bd2798805a
Reformat os-freebsd.c.
2010-04-03 23:29:28 +03:00
Konstantin Belousov
5715d912f4
Make setjmp/longjmp work at least on FreeBSD/amd64.
...
FreeBSD-supplied setjmp() saves incremented stack pointer into jmpbuf.
I have no idea whether siglongjmp ever worked on amd64, since
UNW_NUM_EH_REGS == 2 and abort at siglongjmp.c:81 is firing.
2010-04-03 19:02:43 +03:00
Konstantin Belousov
31ece3eaa1
Fix setcontext for amd64 freebsd
2010-04-03 18:28:31 +03:00
Konstantin Belousov
9bb9c972e6
Merge with origin/master
2010-03-31 16:01:38 +03:00
Arun Sharma
6203f1cd0f
Cleanup a mapped elf image.
...
Without this, we end up with mmap leaks. Thanks to Humberto Abdelnur
for suggesting this.
2010-03-26 15:54:14 -07:00
Arun Sharma
7bd264e292
Fix up what looks like an unintentional semi colon.
...
Thanks to Lassi Tuura for noticing it.
2010-03-23 10:37:21 -07:00
Konstantin Belousov
8a75ba971a
Signal trampoline on amd64 for ia32 is special.
2010-03-13 21:26:50 +02:00
Konstantin Belousov
e51429280b
Handle error return from is_signal_frame
2010-03-13 20:31:12 +02:00
Konstantin Belousov
e9cd30040e
Move x86 porting further.
2010-03-13 20:28:12 +02:00
Konstantin Belousov
71c4161247
Remove extra empty line
2010-03-13 18:33:22 +02:00
Arun Sharma
f8a15e9679
Fix a couple of test breakages on x86_64
...
setcontext() now restores the signal mask. Also remove a check
in the test that doesn't seem to be valid.
2010-03-10 22:52:12 -08:00
Konstantin Belousov
a6b23dcb0c
Add partial implementation for is_signal_frame for i386.
2010-03-11 00:50:40 +02:00
Konstantin Belousov
54f8b2fdbe
Fill real offsets for freebsd
2010-03-11 00:02:24 +02:00
Konstantin Belousov
47dcc89457
Remove unneeded braces
2010-03-10 23:51:59 +02:00
Konstantin Belousov
bb41eba56c
FreeBSD/i386 port. get/setcontext need further work
2010-03-09 18:01:25 +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
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
093855f12a
Remove unneeded includes of sys/types.h
2010-03-08 00:25:22 +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
d7eea91448
Cast caddr_t argument for ptrace
2010-03-07 12:27:03 +02:00