rts: Align the_gc_thread to 64 bytes
authorBen Gamari <bgamari.foss@gmail.com>
Tue, 21 Aug 2018 20:06:12 +0000 (16:06 -0400)
committerBen Gamari <ben@smart-cactus.org>
Tue, 21 Aug 2018 23:03:43 +0000 (19:03 -0400)
commitc3e50b053cd49c465bfd2d095e3f681510993d2b
tree3f07076b76c7ce74a90921460459ac257ac86355
parentb81fc821597cb7578f93cbea772304f1effd46cf
rts: Align the_gc_thread to 64 bytes

In a previous attempt (c6cc93bca69abc258513af8cf2370b14e70fd8fb) I had
tried aligning to 8 bytes under the assumption that the problem was that
the_gc_thread, a StgWord8[], wasn't being aligned to 8-bytes as the
gc_thread struct would expect. However, we actually need even stronger
alignment due to the alignment attribute attached to gen_workspace,
which claims it should be aligned to a 64-byte boundary.

This fixes #15482.

Reviewers: erikd, simonmar

Reviewed By: simonmar

Subscribers: rwbarton, carter

GHC Trac Issues: #15482

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

(cherry picked from commit 68a1fc29b4bb3eae54e4d96c9aec20e700040f34)
rts/sm/GC.c