HomePhabricator

[COFF] Gracefully handle empty .drectve sections

Authored by smeenai on May 14 2017, 11:34 AM.

Description

[COFF] Gracefully handle empty .drectve sections

Running llvm-readobj -coff-directives msvcrt.lib resulted in this error:

Invalid data was encountered while parsing the file

This happened because some of the object files in the archive have empty
.drectve sections. These empty sections result in a parse_failed error being
returned from COFFObjectFile::getSectionContents(), which in turn caused
llvm-readobj to stop. With this change, getSectionContents now returns
success, and like before the resulting array is empty.

Patch by Dave Lee.

Differential Revision: https://reviews.llvm.org/D32652

llvm-svn: 303014

Details