This is an archive of the discontinued LLVM Phabricator instance.

[llvm-xray] Store offset pointers in temporaries
ClosedPublic

Authored by phosek on Dec 13 2018, 8:11 PM.

Details

Summary

DataExtractor::getU64 modifies the OffsetPtr which also pass to
RelocateOrElse which breaks on Windows. This addresses the issue
introduced in r349120.

Diff Detail

Repository
rL LLVM

Event Timeline

phosek created this revision.Dec 13 2018, 8:11 PM
dberris accepted this revision.Dec 13 2018, 9:34 PM

LGTM

This revision is now accepted and ready to land.Dec 13 2018, 9:34 PM
MaskRay accepted this revision.Dec 13 2018, 9:57 PM

This was undefined behavior before C++17 and indeterminate since C++17...

This revision was automatically updated to reflect the committed changes.
stephanemoore added inline comments.
llvm/trunk/lib/XRay/InstrumentationMap.cpp
141 ↗(On Diff #178176)

Did you mean AddrPtr rather than AddrOff?

143 ↗(On Diff #178176)

Did you mean FuncPtr rather than FuncOff?