This is an archive of the discontinued LLVM Phabricator instance.

Make 32-bit member offset in Archive::Symbol::getMember 64-bit
ClosedPublic

Authored by jakehehrlich on Oct 27 2017, 11:46 AM.

Details

Summary

When accessing a member for a symbol with an offset greater than 2^32 - 1 the current Archive::Symbol::getMember implementation will overflow and cause unexpected behavior. This change simply fixes that. In particular if you call "llvm-nm --print-armap" on an archive that has this behavior you'll get an error.

Diff Detail

Repository
rL LLVM

Event Timeline

jakehehrlich created this revision.Oct 27 2017, 11:46 AM
jakehehrlich retitled this revision from Make 32-bit member offset in Symbol::getMember 64-bit to Make 32-bit member offset in Archive::Symbol::getMember 64-bit.
jakehehrlich edited the summary of this revision. (Show Details)
This revision was automatically updated to reflect the committed changes.