Swap the condition -- instead of checking for OS X and assuming anything else uses the Linux behavior, check for Linux and let other platforms use the default POSIX behavior. This allows sigaltstack to be used on BSD variants.
This change has been tested (with the standard test suite) on FreeBSD 9.1 (i386, amd64) and Ubuntu 12.04.1 (i386).
Remove #ifdefs so ss_flags is always set to zero.

Removed the #ifdefs which used a different value for 'ss_flags' on Linux.
According to the POSIX standard, the SS_ONSTACK flag can never be used as input to the 'sigaltstack' function -- it can only be set by the 'sigaltstack' function itself, and tested after the function returns.
Use IPPROTO_TCP instead of SOL_TCP for cross-platform compatibility.
modify for VPATH builds
[Socket] Specify 'timeout' in the exception msg of Receive(buf)

In the same way the overload Receive (buf, flags) already does, mention
"time out" in the exception message when the socketError is WOULDBLOCK and
the socket is not non-blocking (otherwise it would throw with the reason
"Operation on non-blocking socket would block", which doesn't make sense
for a socket that is not non-blocking).
[Socket] Refactor Socket to make Receive(_) call Receive(_,_)

After previous commit, two Receive() overloads are basically the same, so
we can remove some duplicated code here by making one call the other one.
[Socket] Improve exception message when timing out in Socket.cs

This uses now the same exception message as MS.NET.
[io-layer] add URLs for some ximian bug numbers in sockets.cs

Not everybody knows that a ximian bug 123 can be accessed this way:
https://bugzilla.novell.com/show_bug.cgi?id=MONO123
Merge pull request #601 from knocte/sock_improvements

 [System.Net.Sockets] Specify 'timeout' in the exception msg of the Receive(buf) overload
Guard against another possible crash that has been seen on wrench.
Fix llvm loading when calling through a symlink.

	mini-llvm.h: When trying to load mono from ./.libs or ../lib we did not
	resolve the current binary for symlinks. This failed on OSX since
	everyone calls /usr/bin/mono while libmono-llvm was on
	/Library/Frameworks/Mono.framework/Versions/Current/lib.

	This make mono --llvm work on release mono.
Bump version number to 3.0.9
Hopefully fix the windows build.
Support disabling of the security subsystem (CAS/CoreCLR).

This could still use some future work. For example, we could get
rid of lots of security code in the class libs. There are also some
functions in the runtime that don't get removed because we don't
use the stub macro approach for all public security functions.

Based on Sebastien's patch.
Try to recover expressions aftern named argument
Remove System.Net.Http from MT mobile build
Fix alignment of unbox trampolines when using LLVM+thumb on ARM. Fixes #11594.
Don't leave the thread suspended in mono_threads_core_suspend () if thread_state_init_from_handle () fails.
Clear the domain TLS variable earlier in start_wrapper_internal () so async signal handlers don't run concurrently with thread cleanup. Hopefully fixes #11102.
Don't abort the process using g_abort () when a breakpoint cannot be inserted.