This is an archive of the discontinued LLVM Phabricator instance.

Being converting usage of off_t to other types
ClosedPublic

Authored by zturner on Jul 1 2014, 11:33 AM.

Details

Summary

off_t is a type which is used for file offsets. Even more specifically, it is only used by a limited number of C APIs that deal with files. Any usage of off_t where the variable is not intended to be used with one of these APIs is a bug, by definition. This patch corrects some easy mis-uses of off_t, generally by converting them to lldb::offset_t, but sometimes by using other types such as size_t, when appropriate.

The use of off_t to represent these offsets has worked fine in practice on linux-y platforms, since we used _FILE_OFFSET_64 to guarantee that off_t was a uint64. On Windows, however, _FILE_OFFSET_64 is unrecognized, and off_t will always be 32-bit. So the usage of off_t on Windows actually leads to legitimate bugs.

Diff Detail

Repository
rL LLVM

Event Timeline

zturner updated this revision to Diff 11004.Jul 1 2014, 11:33 AM
zturner retitled this revision from to Being converting usage of off_t to other types.
zturner updated this object.
zturner edited the test plan for this revision. (Show Details)
zturner added reviewers: tfiala, majnemer.
zturner added a subscriber: Unknown Object (MLST).
zturner closed this revision.Jul 2 2014, 10:32 AM
zturner updated this revision to Diff 11031.

Closed by commit rL212192 (authored by @zturner).