This is an archive of the discontinued LLVM Phabricator instance.

Object: Use offset+size as the irsymtab string representation.
ClosedPublic

Authored by pcc on Apr 10 2017, 8:15 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

pcc created this revision.Apr 10 2017, 8:15 PM

It isn't clear to me why this is needed now but wasn't before. Was it the case that before the names were assumed to be null-terminated, and they will no longer be?

llvm/lib/Object/IRSymtab.cpp
33 ↗(On Diff #94774)

How does this change related to the rest of the patch?

pcc added a comment.Apr 17 2017, 10:40 AM

It isn't clear to me why this is needed now but wasn't before. Was it the case that before the names were assumed to be null-terminated, and they will no longer be?

Correct. In D32061 we will start sharing the string table between the module and the irsymtab, and the string table I am adding in D31838 uses non-null-terminated strings.

llvm/lib/Object/IRSymtab.cpp
33 ↗(On Diff #94774)

Strings in ELF string tables are null terminated, RAW string tables aren't.

This revision is now accepted and ready to land.Apr 17 2017, 10:46 AM
This revision was automatically updated to reflect the committed changes.