Before yaml2obj <FILE> would always add an implicit .symtab section
even if there were no symbols defined in the YAML <FILE>. Now, only
when there's a Symbols entry, we will generate a .symtab section.
Old minidebuginfo tests that manually removed the .symtab section
have been adjusted because it is no longer needed.
This creates an inconsistency between how .symtab and .dynsym sections are handled, which is hard to justify. I actually prefer the Optional<> version, because that enables one to say "the symtab section is there, but it is _empty_", something which is impossible with the way .dynsym emission works (the section gets surpressed if it is empty), but the question is, shouldn't then the .dynsym emission work the same way ? Have you looked at by any chance how hard it would be to change .dynsym to follow the same pattern?
(In any case, I think this is up to yaml2obj maintainers to decide how to handle this. I'll add some to this review.)