This is an archive of the discontinued LLVM Phabricator instance.

[MSan] [AArch64] Fix vararg helper for >1 or non-int fixed arguments.
ClosedPublic

Authored by koriakin on May 6 2016, 9:21 AM.

Details

Summary

This fixes http://llvm.org/PR27646 on AArch64.

There are three issues here:

  • The GR save area is 7 words in size, instead of 8. This is not enough if none of the fixed arguments is passed in GRs (they're all floats or aggregates).
  • The first argument is ignored (which counteracts the above if it's passed in GR).
  • Like x86_64, fixed arguments landing in the overflow area are wrongly counted towards the overflow offset.

Diff Detail

Repository
rL LLVM

Event Timeline

koriakin retitled this revision from to [MSan] [AArch64] Fix vararg helper for >1 or non-int fixed arguments..
koriakin updated this object.
koriakin added reviewers: eugenis, aizatsky.
koriakin set the repository for this revision to rL LLVM.
koriakin added a project: Restricted Project.
koriakin added a subscriber: llvm-commits.
zatrazz edited edge metadata.May 9 2016, 1:45 PM

LGTM, thanks for fixing it.

This revision was automatically updated to reflect the committed changes.