From b093fea5ac6265615b5d81bdb4130a2e60b26c8f Mon Sep 17 00:00:00 2001 From: marino Date: Sat, 15 Oct 2011 02:03:59 +0000 Subject: PR#44846: Fix lang/mono for x86_64 DragonFly The patch-ad modification was independently created by myself before I knew about this PR. The mono build has been broken for several months, but with this patch along with modifications for the linker, mono now builds on an x86_64 DragonFly machine. --- lang/mono/distinfo | 4 ++-- lang/mono/patches/patch-ad | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) (limited to 'lang') diff --git a/lang/mono/distinfo b/lang/mono/distinfo index 1abe75ee6ce..3a66b79f73b 100644 --- a/lang/mono/distinfo +++ b/lang/mono/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.81 2011/10/14 00:17:44 christos Exp $ +$NetBSD: distinfo,v 1.82 2011/10/15 02:03:59 marino Exp $ SHA1 (mono-2.10.2.tar.bz2) = 7b673255c6b17c5a41c15059e5f068d6a970d2ea RMD160 (mono-2.10.2.tar.bz2) = bac1ecb7e94c77341ae5f15f8d59141f9eb4aa38 @@ -6,7 +6,7 @@ Size (mono-2.10.2.tar.bz2) = 33737282 bytes SHA1 (patch-aa) = f3c88247c143cba6d0475f1dabb653adbc841bdb SHA1 (patch-ab) = 0dae456d0d12421e2bcf0c092c5a522473fbd16f SHA1 (patch-ac) = 78f3b0786480e066959cc191e3f45d3f773220e2 -SHA1 (patch-ad) = 55ccdedbdf80c24be110dcebc73644e1e68909b3 +SHA1 (patch-ad) = 0148dc2ebf8ec0c74144fa41570b501ce30394f0 SHA1 (patch-ae) = 0280993f1565ebd6fb552d12cfe12d105421de53 SHA1 (patch-af) = c109a9a742cb70d83cf99df0ad6c907c68809d52 SHA1 (patch-ah) = 5f90aa60504b9508d21e05b390626788d71d47b4 diff --git a/lang/mono/patches/patch-ad b/lang/mono/patches/patch-ad index d173cef4e3c..4c9d4881488 100644 --- a/lang/mono/patches/patch-ad +++ b/lang/mono/patches/patch-ad @@ -1,4 +1,4 @@ -$NetBSD: patch-ad,v 1.21 2010/12/29 05:41:20 obache Exp $ +$NetBSD: patch-ad,v 1.22 2011/10/15 02:04:00 marino Exp $ --- mono/utils/mono-sigcontext.h.orig 2010-11-12 10:24:41.000000000 +0000 +++ mono/utils/mono-sigcontext.h @@ -8,14 +8,14 @@ @@ -18,10 +18,26 @@ $NetBSD: patch-ad,v 1.21 2010/12/29 05:41:20 obache Exp $ #define UCONTEXT_REG_EAX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_eax) #define UCONTEXT_REG_EBX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_ebx) #define UCONTEXT_REG_ECX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.mc_ecx) -@@ -101,6 +101,20 @@ +@@ -99,8 +99,34 @@ + #define UCONTEXT_REG_R13(ctx) (((ucontext_t*)(ctx))->uc_mcontext->__ss.__r13) + #define UCONTEXT_REG_R14(ctx) (((ucontext_t*)(ctx))->uc_mcontext->__ss.__r14) #define UCONTEXT_REG_R15(ctx) (((ucontext_t*)(ctx))->uc_mcontext->__ss.__r15) - #elif defined(__FreeBSD__) - #define UCONTEXT_GREGS(ctx) ((guint64*)&(((ucontext_t*)(ctx))->uc_mcontext)) +-#elif defined(__FreeBSD__) +-#define UCONTEXT_GREGS(ctx) ((guint64*)&(((ucontext_t*)(ctx))->uc_mcontext)) ++#elif defined(__FreeBSD__) || defined(__DragonFly__) ++ #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(__NetBSD__) + #define UCONTEXT_REG_RAX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_RAX]) + #define UCONTEXT_REG_RBX(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_RBX]) -- cgit v1.2.3