diff options
Diffstat (limited to 'lang/mono/files')
-rw-r--r-- | lang/mono/files/patch-libgc_pthread__support.c | 17 | ||||
-rw-r--r-- | lang/mono/files/patch-mono_metadata_sgen-gc.c | 23 | ||||
-rw-r--r-- | lang/mono/files/patch-mono_utils_mono-sigcontext.h | 25 |
3 files changed, 23 insertions, 42 deletions
diff --git a/lang/mono/files/patch-libgc_pthread__support.c b/lang/mono/files/patch-libgc_pthread__support.c deleted file mode 100644 index 3a3526bc564d..000000000000 --- a/lang/mono/files/patch-libgc_pthread__support.c +++ /dev/null @@ -1,17 +0,0 @@ - -$FreeBSD$ - -https://bugzilla.novell.com/show_bug.cgi?id=647248 - ---- libgc/pthread_support.c.orig -+++ libgc/pthread_support.c -@@ -1344,7 +1344,8 @@ void * GC_start_routine_head(void * arg, void *base_addr, - if (start) *start = si -> start_routine; - if (start_arg) *start_arg = si -> arg; - -- sem_post(&(si -> registered)); /* Last action on si. */ -+ if (!(si->flags & FOREIGN_THREAD)) -+ sem_post(&(si -> registered)); /* Last action on si. */ - /* OK to deallocate. */ - # if defined(THREAD_LOCAL_ALLOC) && !defined(DBG_HDRS_ALL) - LOCK(); diff --git a/lang/mono/files/patch-mono_metadata_sgen-gc.c b/lang/mono/files/patch-mono_metadata_sgen-gc.c new file mode 100644 index 000000000000..efe710337cb5 --- /dev/null +++ b/lang/mono/files/patch-mono_metadata_sgen-gc.c @@ -0,0 +1,23 @@ + +$FreeBSD$ + +--- mono/metadata/sgen-gc.c.orig ++++ mono/metadata/sgen-gc.c +@@ -222,14 +222,12 @@ + #include "utils/mach-support.h" + #endif + ++#include <ucontext.h> ++#include "mini/mini.h" ++ + #define OPDEF(a,b,c,d,e,f,g,h,i,j) \ + a = i, + +-enum { +-#include "mono/cil/opcode.def" +- CEE_LAST +-}; +- + #undef OPDEF + + #undef pthread_create diff --git a/lang/mono/files/patch-mono_utils_mono-sigcontext.h b/lang/mono/files/patch-mono_utils_mono-sigcontext.h deleted file mode 100644 index 3b6c88da1e30..000000000000 --- a/lang/mono/files/patch-mono_utils_mono-sigcontext.h +++ /dev/null @@ -1,25 +0,0 @@ - -$FreeBSD$ - ---- mono/utils/mono-sigcontext.h.orig -+++ mono/utils/mono-sigcontext.h -@@ -80,6 +80,19 @@ - - #ifdef __FreeBSD__ - #define UCONTEXT_GREGS(ctx) &(((ucontext_t*)(ctx))->uc_mcontext) -+ #define UCONTEXT_REG_RAX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rax) -+ #define UCONTEXT_REG_RBX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rbx) -+ #define UCONTEXT_REG_RCX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rcx) -+ #define UCONTEXT_REG_RDX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rdx) -+ #define UCONTEXT_REG_RBP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rbp) -+ #define UCONTEXT_REG_RSP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rsp) -+ #define UCONTEXT_REG_RSI(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rsi) -+ #define UCONTEXT_REG_RDI(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rdi) -+ #define UCONTEXT_REG_RIP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_rip) -+ #define UCONTEXT_REG_R12(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_r12) -+ #define UCONTEXT_REG_R13(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_r13) -+ #define UCONTEXT_REG_R14(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_r14) -+ #define UCONTEXT_REG_R15(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_r15) - #elif defined(__OpenBSD__) - /* OpenBSD/amd64 has no gregs array, ucontext_t == sigcontext */ - #define UCONTEXT_REG_RAX(ctx) ((ctx)->sc_rax) |