Page MenuHomePhabricator

Fix reading 32 bit gcov tag values on little-endian machines
ClosedPublic

Authored by marco-c on Jul 10 2018, 4:34 PM.

Details

Summary

The write buffer contains signed chars, which means the shift operations caused values such as the arc tag value (0x01a10000) to be read incorrectly (0xffa10000).

This fixes a regression from https://reviews.llvm.org/D49132.

Diff Detail

Event Timeline

marco-c created this revision.Jul 10 2018, 4:34 PM
Herald added subscribers: Restricted Project, llvm-commits. · View Herald TranscriptJul 10 2018, 4:34 PM
uweigand accepted this revision.Jul 11 2018, 2:29 AM

Ah, I missed that, probably because on SystemZ char is unsigned by default ... Sorry about that.

The patch LGTM.

This revision is now accepted and ready to land.Jul 11 2018, 2:29 AM
This revision was automatically updated to reflect the committed changes.