pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/mono
Module Name: pkgsrc
Committed By: he
Date: Tue Jan 10 10:35:28 UTC 2017
Modified Files:
pkgsrc/lang/mono: distinfo
Added Files:
pkgsrc/lang/mono/patches: patch-mono_utils_mono-sigcontext.h
patch-mono_utils_mono-threads.c
Removed Files:
pkgsrc/lang/mono/patches: patch-ad
Log Message:
Rename one patch, add another to fix at least two problems preventing
this to build for NetBSD/powerpc:
* need a cast in one place (in the renamed patch)
* an overcautious assert() is incompatible with top/down VM layout in NetBSD
This still doesn't work on NetBSD/powerpc, though, and I ran out of time.
The build produces a mono-boehm.core file the first time through the build
(for some reason not the subsequent attempts, sigh!), and I have problems
reconstructing the CLI to run the mono-boehm executable under gdb, and the
core file says it got a segv in opendir() which must be nonsensical.
To generate a diff of this commit:
cvs rdiff -u -r1.107 -r1.108 pkgsrc/lang/mono/distinfo
cvs rdiff -u -r1.27 -r0 pkgsrc/lang/mono/patches/patch-ad
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/mono/patches/patch-mono_utils_mono-sigcontext.h \
pkgsrc/lang/mono/patches/patch-mono_utils_mono-threads.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/mono/distinfo
diff -u pkgsrc/lang/mono/distinfo:1.107 pkgsrc/lang/mono/distinfo:1.108
--- pkgsrc/lang/mono/distinfo:1.107 Tue Nov 3 22:50:39 2015
+++ pkgsrc/lang/mono/distinfo Tue Jan 10 10:35:28 2017
@@ -1,11 +1,10 @@
-$NetBSD: distinfo,v 1.107 2015/11/03 22:50:39 agc Exp $
+$NetBSD: distinfo,v 1.108 2017/01/10 10:35:28 he Exp $
SHA1 (mono-4.0.4.1.tar.bz2) = 12f3dbdac92e937cafba1d4e5a168c4cf2620935
RMD160 (mono-4.0.4.1.tar.bz2) = 27c2d2682786444ee52199134cb84cc59894b093
SHA512 (mono-4.0.4.1.tar.bz2) = 2f299e97dd3014c9d221677e73e5134a0c0a5b27e479fb60aabc2b3eddedf07f525f3a74194ccbfdf8efe63d7ea72850f8ee64d6f15f51bccd5db0df6c1b3722
Size (mono-4.0.4.1.tar.bz2) = 96106273 bytes
SHA1 (patch-aa) = 84e5bca2b6d9715271c343f774c81186858d90c9
-SHA1 (patch-ad) = ebd47980f0141f7cbd0c6bbcfc15942cebc263f1
SHA1 (patch-ae) = 25869b98f9197243aea799b75b238d92f58e8845
SHA1 (patch-af) = 6a458a91dc34420d45238b5dad01ed63f0bd9e00
SHA1 (patch-ai) = d06c382d188f4263a2a505ca3d3ee491baa3af28
@@ -54,10 +53,12 @@ SHA1 (patch-mono_utils_Makefile.in) = be
SHA1 (patch-mono_utils_mono-compiler.h) = 210062c167c00500f6a9176ef94c8cd96d39c730
SHA1 (patch-mono_utils_mono-mmap.c) = 869c24a57861fcfb1bdc8a04ed0e0d1fd5a0e0b5
SHA1 (patch-mono_utils_mono-semaphore.c) = a47c7816445c7781e1cf0efc889dedfbf5b351f9
+SHA1 (patch-mono_utils_mono-sigcontext.h) = 2ab18320bf0c3844bd79818da9fbbedeb6ff466d
SHA1 (patch-mono_utils_mono-threads-dragonfly.c) = d41c7735d5ba0224ff4a4cf70308fb835ec00bbe
SHA1 (patch-mono_utils_mono-threads-netbsd.c) = 29d7bdb4906bca4e2f5a0a94b7e70e04570df8ee
SHA1 (patch-mono_utils_mono-threads-posix.c) = d0cb2b1be62cbafe86a3efa817b8120af4ab1086
SHA1 (patch-mono_utils_mono-threads-solaris.c) = 8781c9e09edfbbbc9940f02cce46a3ce5b6c10c3
+SHA1 (patch-mono_utils_mono-threads.c) = 1cf1bd2416fc36df0e456774281c7d4a1bfa50fc
SHA1 (patch-po_Makefile.in) = 53f967c75ae028d991f118fb3bbc5b90bb4ceea7
SHA1 (patch-support_signal.c) = 33e0c19c21955b105d78a05b2b10d00f479a60c2
SHA1 (patch-support_time.c) = 2031ab294d66594ff3645b03c48ffca143ab59b5
Added files:
Index: pkgsrc/lang/mono/patches/patch-mono_utils_mono-sigcontext.h
diff -u /dev/null pkgsrc/lang/mono/patches/patch-mono_utils_mono-sigcontext.h:1.1
--- /dev/null Tue Jan 10 10:35:28 2017
+++ pkgsrc/lang/mono/patches/patch-mono_utils_mono-sigcontext.h Tue Jan 10 10:35:28 2017
@@ -0,0 +1,55 @@
+$NetBSD: patch-mono_utils_mono-sigcontext.h,v 1.1 2017/01/10 10:35:28 he Exp $
+
+--- mono/utils/mono-sigcontext.h.orig 2015-08-25 20:33:40.000000000 +0000
++++ mono/utils/mono-sigcontext.h
+@@ -201,6 +201,10 @@ typedef struct ucontext {
+ #define UCONTEXT_REG_RSI(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_RSI])
+ #define UCONTEXT_REG_RDI(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_RDI])
+ #define UCONTEXT_REG_RIP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_RIP])
++ #define UCONTEXT_REG_R8(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R8])
++ #define UCONTEXT_REG_R9(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R9])
++ #define UCONTEXT_REG_R10(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R10])
++ #define UCONTEXT_REG_R11(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R11])
+ #define UCONTEXT_REG_R12(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R12])
+ #define UCONTEXT_REG_R13(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R13])
+ #define UCONTEXT_REG_R14(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs [_REG_R14])
+@@ -287,9 +291,9 @@ typedef struct ucontext {
+
+ #define UCONTEXT_REG_Rn(ctx, n) (((os_ucontext*)(ctx))->uc_mcontext.__gregs [(n)])
+ #define UCONTEXT_REG_FPRn(ctx, n) (((os_ucontext*)(ctx))->uc_mcontext.__fpregs.__fpu_regs [(n)])
+- #define UCONTEXT_REG_NIP(ctx) _UC_MACHINE_PC(ctx)
++ #define UCONTEXT_REG_NIP(ctx) _UC_MACHINE_PC((os_ucontext*)(ctx))
+ #define UCONTEXT_REG_LNK(ctx) (((os_ucontext*)(ctx))->uc_mcontext.__gregs [_REG_LR])
+-#elif defined(__FreeBSD__)
++#elif defined(__FreeBSD__) || defined(__DragonFly__)
+ typedef ucontext_t os_ucontext;
+
+ #define UCONTEXT_REG_Rn(ctx, n) ((ctx)->uc_mcontext.mc_gpr [(n)])
+@@ -351,6 +355,27 @@ typedef struct ucontext {
+ #define UCONTEXT_REG_R11(ctx) (((arm_ucontext*)(ctx))->sig_ctx.arm_fp)
+ #define UCONTEXT_REG_R12(ctx) (((arm_ucontext*)(ctx))->sig_ctx.arm_ip)
+ #define UCONTEXT_REG_CPSR(ctx) (((arm_ucontext*)(ctx))->sig_ctx.arm_cpsr)
++#elif defined(__NetBSD__)
++ typedef ucontext_t arm_ucontext;
++
++ #define UCONTEXT_REG_PC(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_PC])
++ #define UCONTEXT_REG_SP(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_SP])
++ #define UCONTEXT_REG_LR(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_LR])
++ #define UCONTEXT_REG_R0(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R0])
++ #define UCONTEXT_REG_R1(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R1])
++ #define UCONTEXT_REG_R2(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R2])
++ #define UCONTEXT_REG_R3(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R3])
++ #define UCONTEXT_REG_R4(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R4])
++ #define UCONTEXT_REG_R5(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R5])
++ #define UCONTEXT_REG_R6(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R6])
++ #define UCONTEXT_REG_R7(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R7])
++ #define UCONTEXT_REG_R8(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R8])
++ #define UCONTEXT_REG_R9(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R9])
++ #define UCONTEXT_REG_R10(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R10])
++ #define UCONTEXT_REG_R11(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R11])
++ #define UCONTEXT_REG_R12(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_R12])
++ #define UCONTEXT_REG_CPSR(ctx) (((ucontext_t*)(ctx))->uc_mcontext.__gregs[_REG_CPSR])
++ #define UCONTEXT_REG_VFPREGS(ctx) (double*)(&((ucontext_t*)(ctx))->uc_mcontext.__fpu)
+ #endif
+
+ #elif defined(TARGET_ARM64)
Index: pkgsrc/lang/mono/patches/patch-mono_utils_mono-threads.c
diff -u /dev/null pkgsrc/lang/mono/patches/patch-mono_utils_mono-threads.c:1.1
--- /dev/null Tue Jan 10 10:35:28 2017
+++ pkgsrc/lang/mono/patches/patch-mono_utils_mono-threads.c Tue Jan 10 10:35:28 2017
@@ -0,0 +1,22 @@
+$NetBSD: patch-mono_utils_mono-threads.c,v 1.1 2017/01/10 10:35:28 he Exp $
+
+The assert checking the thread stack address
+relative to the current stack is not portable,
+so #if it out on at least NetBSD to make progress
+with NetBSD/macppc.
+
+--- ./mono/utils/mono-threads.c.orig 2015-08-25 22:09:13.000000000 +0000
++++ ./mono/utils/mono-threads.c
+@@ -840,8 +840,12 @@ mono_thread_info_get_stack_bounds (guint
+ if (!*staddr)
+ return;
+
++ /* With top-down address layout, this assert is not
++ making a portable check / assumption */
++#if !defined(__NetBSD__)
+ /* Sanity check the result */
+ g_assert ((current > *staddr) && (current < *staddr + *stsize));
++#endif /* !defined(__NetBSD__) */
+
+ /* When running under emacs, sometimes staddr is not aligned to a page size */
+ *staddr = (guint8*)((gssize)*staddr & ~(mono_pagesize () - 1));
Home |
Main Index |
Thread Index |
Old Index