This is an archive of the discontinued LLVM Phabricator instance.

[yaml2obj] - Allow specifying no tags to create empty sections in few cases.
ClosedPublic

Authored by grimar on Oct 14 2020, 6:29 AM.

Details

Summary

Currently we have a few sections that
does not support specifying no keys for them. E.g. it is required that one
of "Content", "Size" or "Entries" key is present. There is no reason to
have this restriction. We can allow this and emit an empty section instead.

This opens road for a simplification and generalization of the code in validate()
that is discussed in the D89039 thread.

Depends on D89039.

Diff Detail

Event Timeline

grimar created this revision.Oct 14 2020, 6:29 AM
Herald added a project: Restricted Project. · View Herald Transcript
grimar requested review of this revision.Oct 14 2020, 6:29 AM
MaskRay accepted this revision.Oct 14 2020, 11:11 AM

Reasonable simplification. Thanks!

This revision is now accepted and ready to land.Oct 14 2020, 11:11 AM

Some comment nits from me.

llvm/test/tools/yaml2obj/ELF/llvm-addrsig-section.yaml
121

(or "none of X, Y, or Z were set")

Same below.