Fix nptr field alignment in RtClosureInspect
extractSubTerms (which is extracting pointer and non-pointer fields of a
closure) was computing the alignment incorrectly when aligning a 64-bit value
(e.g. a Double) on i386 by aligning it to 64-bits instead of to word size
(32-bits). This is documented in mkVirtHeapOffsetsWithPadding:
Align the start offset (eg, 2-byte value should be 2-byte aligned).
But not more than to a word.
Fixes Trac #15061
Validated on both 32-bit and 64-bit. 32-bit fails with various unrelated stat
failures, but no actual test failures.
Reviewers: hvr, bgamari
Reviewed By: bgamari
Subscribers: simonpj, rwbarton, thomie, carter
GHC Trac Issues: Trac #15061
Differential Revision: https://phabricator.haskell.org/D4906
(cherry picked from commit 15bb4e0b6c08b1f8f5511f04af14242f13833ed1)