This is an archive of the discontinued LLVM Phabricator instance.

"Fix" concurrent events test for arm
ClosedPublic

Authored by labath on Nov 6 2017, 4:16 AM.

Details

Summary

The test incremented an atomic varible to trigger the watchpoint event.
On arm64 this compiled to a ldaxr/stlxr loop, with the watchpoint being
triggered in the middle of the loop. Hitting the watchpoint resets the
exclusive monitor, and forces the process to loop one more time, hitting
the watchpoint again, etc.

While it would be nice if the debugger was able to resume from this
situation, this is not trivial, and is not what this test is about.
Therefore, I propose to change this to a simple store to a normal
variable (which should still trip the watchpoint everywhere, but without
atomic loops) and file a bug to investigate the possibilities of
handling the watchpoints in atomic loops in a more reasonable way.

Diff Detail

Repository
rL LLVM

Event Timeline

labath created this revision.Nov 6 2017, 4:16 AM
clayborg accepted this revision.Nov 6 2017, 10:15 AM
This revision is now accepted and ready to land.Nov 6 2017, 10:15 AM
This revision was automatically updated to reflect the committed changes.