Revert "Revert "Make the linker API thread-safe""

Also includes a fix for the segfaults on Windows caused by the original
version of this patch.

This reverts commit 4b51194df4090d984f02c12128e868077660fb8b.
Revert "Revert "Add purgeObj() to remove the symbol table entries for an object""

This reverts commit 7932b2adaecac6c86038176d909c20ad1b1f9604.
Disable T8124 on Windows (uses pthreads)
Add notes about the inert CTyEqCans

Work with Dimitrios
renamer: fix trac issue #9778

Summary: Added flag -fwarn-unticked-promoted-constructors

Test Plan: test T9778 under tests/rename/should_compile

Reviewers: jstolarek, simonpj, austin

Reviewed By: jstolarek, simonpj, austin

Subscribers: simonpj, goldfire, jstolarek, thomie, carter

Differential Revision: https://phabricator.haskell.org/D534

GHC Trac Issues: #9778
docs: Update to reflect reality

The documentation on what warnings -W/-Wall enable was slightly out of
date, so lets fix that.

Signed-off-by: Austin Seipp <austin@well-typed.com>
Add -fwarn-unticked-promoted-constructors to -Wall

Signed-off-by: Austin Seipp <austin@well-typed.com>
msse flag handling: fix trac issue #9777

Summary:
Signed-off-by: Denis Redozubov <denis.redozubov@gmail.com>

SSE version handled by different dynamic flags

Signed-off-by: Denis Redozubov <denis.redozubov@gmail.com>

Test Plan: validate

Reviewers: austin, jstolarek

Reviewed By: austin, jstolarek

Subscribers: kolmodin, thomie, carter

Differential Revision: https://phabricator.haskell.org/D504

GHC Trac Issues: #9777
Implement `calloc{,Bytes,Array,Array0}` allocators

Summary:
This adds zero-initialising versions of `malloc{,Bytes,Array,Array0}`

 * Add `calloc` and `callocBytes` to `Foreign.Marshal.Alloc`.
 * Add `callocArray` and `callocArray0` to `Foreign.Marshal.Array`.

Reviewers: ekmett, duncan, austin, hvr

Reviewed By: austin, hvr

Subscribers: ezyang, simonmar, ekmett, duncan, thomie, carter

Projects: #ghc

Differential Revision: https://phabricator.haskell.org/D527

GHC Trac Issues: #9859
Add references between Data.Traversable.for and Data.Foldable.for_ and co.

Summary: This is an issue that sometimes comes up, see
https://www.haskell.org/pipermail/libraries/2013-May/019872.html

Reviewers: hvr, ekmett, dfeuer, Mikolaj, austin

Reviewed By: ekmett, Mikolaj, austin

Subscribers: mjo

Projects: #ghc

Differential Revision: https://phabricator.haskell.org/D475
Portability: wc -l sometimes has leading spaces, trim them off.

Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>

Test Plan: validate

Reviewers: austin

Subscribers: carter, thomie

Differential Revision: https://phabricator.haskell.org/D557
Add ticket-ref to changelog entry (fup to 08610c1)

[skip ci]
Set proper `CTYPE` for POSIX `CGroup`

This fixes https://github.com/haskell/unix/issues/20 which is about
compile warnings due to incompatible pointer types of the kind

     warning: passing argument 5 of ‘getgrnam_r’ from incompatible pointer type
     HsInt32 ghc...(void* a1, void* a2, void* a3, HsWord64 a4, void** a5)
       {return getgrnam_r(a1, a2, a3, a4, a5);}

     note: expected ‘struct group ** __restrict__’ but argument is of type ‘void **’
     extern int getgrnam_r (const char *__restrict __name,

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Update `unix` submodule to latest snapshot
Added comments to flattening-notes
Add -I$1/$2/build/autogen to $1_$2_DIST_CC_OPTS

This is closer to how `cabal` behaves and is required for cbits to
be able to `#include "cabal_macros.h"`