[Mono-devel-list] Patches for FreeBSD (and other BSD flavors, likely)

Tom McLaughlin tmclaugh at sdf.lonestar.org
Sat Apr 2 20:29:59 EST 2005

On Sun, 2005-04-03 at 03:08 +0200, Bill Middleton wrote:
> Hello,
>   I've got a working svn build on FreeBSD now, and include a patch.  
> There are (were) several issues with getting the svn source to build 
> under FreeBSD:
> 1. BSD sigcontext{} structure has its members named sc_* (sc_eax, 
> sc_ebx, sc_ecx, etc.).  A set of #define's was introduced some time back 
> in mini-x86.h to map these BSD sigcontext{}members to the  more standard 
> names (eax, ebx, ecx, etc), but recent changes to exceptions-x86.c, 
> mini-x86.c and others (see patch) neglected to use the #define'd 
> conventions.   Whenever a MonoContext{} member is accessed, it needs to 
> be accessed using the #define'd names (SC_EAX, SC_EBX, etc) to avoid 
> breaking *bsd* in the future. 
> 2. libgc fixes include FREEBSD in the sigaction()'s where appropriate, 
> and also change the suspend and restart signals for threads to STOP and 
> CONT (from USR1 and USR2), which are the signals supported by the 
> current pthreads implementation for FreeBSD.   These libgc changes were 
> taken directly from the FreeBSD ports patches for Mono 1.0.6, and also 
> include a small dyn_load.c change to test for ELF word size.  All are 
> specific to FreeBSD.
> I hope I've done this right, the patchfile is attached and appended.  
> Your feedback is welcome. 
> Regards, and thanks for your work on Mono.
> Bill Middleton

THANK YOU!  I'll start adding these patches to my FreeBSD Mono port
tonight or tomorrow.  I have a Mono 1.1.x port (lang/mono-devel) sitting
in my CVS for leading up to the switch over to Mono 1.2 in the FreeBSD
ports tree.  Feel free to take a look at the rest of the patches still
in CVS here:


I inherited the Mono port because I wanted to learn C# and have an up to
date and maintained port available in the ports tree.  Fixing the
existing bugs are over my head unfortunately.  Most of the existing
patches are from NetBSD's port and have been there for some time.  Not
sure how correct they are so I never attempted to submit them upstream.
If you're a FreeBSD user, feel free to join the mailing list I have for
Mono on FreeBSD, you can get to it from the link in my sig.  And thank
you again!



BSD# Project - Porting Mono to FreeBSD

More information about the Mono-devel-list mailing list