Fix sigchld-Handler

Changed the sigchld-Handler such that the SA_SIGINFO flag is handeled
correctly. Furthermore the signal mask is preserved such that the original
signal handler is not interrupted when not allowed.

Backport of the patch that was added to qtbase (Qt5) in
  97279d05822a70da1fb3dab083d823a5f5a008fe
also contains the fix from
  f83fa3c95e9ac6badc393c198c8bc08bc45bea96
.

Task-number: QTBUG-32979
Change-Id: Iec7663e7289ea5d95155f52cf8788ebf646cfabd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
correctly fix compilation of NEON_ASM sources

This reverts commit 7a6cee83e15ab8e0b84603d100cafda7a592b126, as
assembler files in SOURCES break compiling with -pch, as we don't create
a respective PCH.

instead, compile assembler code with QMAKE_CC, not QMAKE_CXX.

the reason why this change is needed in the first place is not clear to
me, but i guess that CXX defines some c++-related macros when
preprocessing the file, which breaks further down the line. this is
counter-intuitive, as the g++ frontend should treat the same sources the
same way as the gcc frontend (differences should be limited the the ld
invocation).

(partial cherry-pick from qtbase/77196b9dc3caa7dda1072a64ed953bf7231b1af3)

Task-number: QTBUG-29765
Change-Id: Ic0116b3a5fa621f12ac41cadf3062ff00b538e85
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>