Arun Sharma
1d9c5a356d
Fix compiler warnings on x86_64 Linux
2010-04-14 12:01:37 -07:00
Arun Sharma
5a70fab451
Fix compiler warnings on x86 Linux
2010-04-14 18:54:20 -07:00
Konstantin Belousov
127acf8e97
Use correct offset name and value for ucontext offset in struct sigframe
2010-04-14 12:15:05 +03:00
Konstantin Belousov
0d311ea161
Add abort() after sigreturn calls
2010-04-14 12:10:34 +03:00
Konstantin Belousov
34b064bf22
Fix typo.
2010-04-14 12:10:14 +03:00
Konstantin Belousov
1e77c66a51
Fix FreeBSD/x86_64 sigcontext restore
2010-04-14 12:04:28 +03:00
Konstantin Belousov
61f4345a9e
Fix an issue where len was too short for sysctl to recieve the process
...
vm map.
2010-04-13 15:33:11 +03:00
Konstantin Belousov
02d0cb6f71
Do not save FPU context on x86 for now; XMM save area must be 16-bytes aligned
2010-04-13 14:20:22 +03:00
Konstantin Belousov
ae7eebb839
Separate getcontext implementation for x86
2010-04-13 14:11:39 +03:00
Konstantin Belousov
66e49bdd41
Save %eax for i386
2010-04-13 13:55:23 +03:00
Konstantin Belousov
5a7407dd94
Merge branch 'master' into freebsd
2010-04-12 22:34:24 +03:00
Arun Sharma
c2d78041cc
GCC compatibility on x86 for C++ exception handling
2010-04-12 12:08:43 -07:00
Giuseppe Scrivano
eb8857a324
Silence a compiler warning
2010-04-12 10:45:31 -07:00
Konstantin Belousov
843190597c
Remove unneeded include.
...
Noted by: Arun Sharma
2010-04-11 22:07:31 +03:00
Konstantin Belousov
21f0e90ce8
Rework 69001646fa
, store sigframe address into sigcontext_addr.
2010-04-11 22:01:08 +03:00
Konstantin Belousov
42bc15c72c
Provide proper register offsets in the gregset for FreeBSD/i386
2010-04-11 19:18:07 +03:00
Konstantin Belousov
f10f851916
Add slightly more debug output
2010-04-11 14:59:36 +03:00
Konstantin Belousov
e33fa9f73c
Ditch using the libutil, it is not async-signal safe.
2010-04-11 14:36:24 +03:00
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