rendered paste body*** dlls/ntdll/signal_x86_64.c.orig Fri Mar 5 10:36:19 2010--- dlls/ntdll/signal_x86_64.c Mon Mar 8 22:34:51 2010****************** 129,134 ****--- 129,165 ---- #endif /* linux */ + #if defined(__FreeBSD__)+ #include <ucontext.h>+ #define RAX_sig(context) ((context)->uc_mcontext.mc_rax)+ #define RBX_sig(context) ((context)->uc_mcontext.mc_rbx)+ #define RCX_sig(context) ((context)->uc_mcontext.mc_rcx)+ #define RDX_sig(context) ((context)->uc_mcontext.mc_rdx)+ #define RSI_sig(context) ((context)->uc_mcontext.mc_rsi)+ #define RDI_sig(context) ((context)->uc_mcontext.mc_rdi)+ #define RBP_sig(context) ((context)->uc_mcontext.mc_rbp)+ #define R8_sig(context) ((context)->uc_mcontext.mc_r8)+ #define R9_sig(context) ((context)->uc_mcontext.mc_r9)+ #define R10_sig(context) ((context)->uc_mcontext.mc_r10)+ #define R11_sig(context) ((context)->uc_mcontext.mc_r11)+ #define R12_sig(context) ((context)->uc_mcontext.mc_r12)+ #define R13_sig(context) ((context)->uc_mcontext.mc_r13)+ #define R14_sig(context) ((context)->uc_mcontext.mc_r14)+ #define R15_sig(context) ((context)->uc_mcontext.mc_r15)+ #define CS_sig(context) ((context)->uc_mcontext.mc_cs)+ #define DS_sig(context) ((context)->uc_mcontext.mc_ds)+ #define ES_sig(context) ((context)->uc_mcontext.mc_es)+ #define FS_sig(context) ((context)->uc_mcontext.mc_fs)+ #define GS_sig(context) ((context)->uc_mcontext.mc_gs)+ #define SS_sig(context) ((context)->uc_mcontext.mc_ss)+ #define RSP_sig(context) ((context)->uc_mcontext.mc_rsp)+ #define RIP_sig(context) ((context)->uc_mcontext.mc_rip)+ #define EFL_sig(context) ((context)->uc_mcontext.mc_rflags)+ #define TRAP_sig(context) ((context)->uc_mcontext.mc_trapno)+ #define ERROR_sig(context) ((context)->uc_mcontext.mc_err)+ #define FPU_sig(context) ((XMM_SAVE_AREA32 *)(context)->uc_mcontext.mc_fpstate)+ #endif /* __FreeBSD__ */+ #if defined(__NetBSD__) # include <sys/ucontext.h> # include <sys/types.h>****************** 2071,2077 **** rec->ExceptionCode = EXCEPTION_DATATYPE_MISALIGNMENT; break; default:! ERR( "Got unexpected trap %ld\n", TRAP_sig(ucontext) ); /* fall through */ case TRAP_x86_NMI: /* NMI interrupt */ case TRAP_x86_DNA: /* Device not available exception */--- 2102,2108 ---- rec->ExceptionCode = EXCEPTION_DATATYPE_MISALIGNMENT; break; default:! ERR( "Got unexpected trap %ld\n", (long)TRAP_sig(ucontext) ); /* fall through */ case TRAP_x86_NMI: /* NMI interrupt */ case TRAP_x86_DNA: /* Device not available exception */****************** 2269,2274 ****--- 2300,2306 ---- #ifdef __linux__ arch_prctl( ARCH_SET_GS, teb );+ #elif defined(__FreeBSD__) #else # error Please define setting %gs for your architecture #endif