diff options
author | Ben Gamari <bgamari.foss@gmail.com> | 2017-10-29 20:46:45 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-10-29 20:47:05 -0400 |
commit | cecd2f2d708d419878205ddd8b87bba18e6483d9 (patch) | |
tree | 72837286086fb64d3b458d14cb95c13425cca8ea /docs | |
parent | 3b784d440d4b01b4c549df7c9a3ed2058edfc780 (diff) | |
download | haskell-cecd2f2d708d419878205ddd8b87bba18e6483d9.tar.gz |
Add -falignment-sanitization flag
Here we add a flag to instruct the native code generator to add
alignment checks in all info table dereferences. This is helpful in
catching pointer tagging issues.
Thanks to @jrtc27 for uncovering the tagging issues on Sparc which
inspired this flag.
Test Plan: Validate
Reviewers: simonmar, austin, erikd
Reviewed By: simonmar
Subscribers: rwbarton, trofi, thomie, jrtc27
Differential Revision: https://phabricator.haskell.org/D4101
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/debugging.rst | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/docs/users_guide/debugging.rst b/docs/users_guide/debugging.rst index 4dbec3eb46..4e071a2b38 100644 --- a/docs/users_guide/debugging.rst +++ b/docs/users_guide/debugging.rst @@ -696,6 +696,13 @@ Checking for consistency instead of ``undef`` in calls. This makes it easier to catch subtle code generator and runtime system bugs (e.g. see :ghc-ticket:`11487`). +.. ghc-flag:: -falignment-sanitisation + :shortdesc: Compile with alignment checks for all info table dereferences. + :type: dynamic + + Compile with alignment checks for all info table dereferences. This can be + useful when finding pointer tagging issues. + .. ghc-flag:: -fcatch-bottoms :shortdesc: Insert ``error`` expressions after bottoming expressions; useful when debugging the compiler. |