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.
modify for VPATH builds
Fix arguments location
[sgen] Fix 64-bit bug occurring when LOS object crosses cardtable overlap boundary.
[sgen] Use unified cardtable-update code in M&S, too.

The bug where objects crossed the cardtable overlap boundary cannot
happen with M&S because blocks are naturally aligned.  It can't hurt
to use the same code for updating them, too, though.
Merge remote-tracking branch 'origin/fix-los-cardtable-overlap'
[Mono.Debugger.Soft] Make CommandException public
rx: Add -d:HAS_AWAIT options to 4.5 and 2.1 builds.
Redirect more duplicate security types to Mono.Security
[xbuild]: Support <PropertyGroup/ItemGroup> inside <Target>.
Fix support for custom attribute classes in CustomAttributeDataMirror which indirectly inherit from Attribute. Fixes #11564.
Fix the windows build.
Implement the calculation of stack bounds on windows. Fixes #11624.
Implement partial generic methods
NaCl runtime fixes

- fix compile/runtime issues caused by upstream changes
- add NaCl glibc support
- various changes to support running tests in NaCl glibc
  from 'make check'
NaCl ARM work, first pass
[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.