The current situation/behavior is:
- llvm-readelf doesn't need a string that is specified by DT_SONAME.
- llvm-readobj/elf always tries to read it, even when there is no DT_SONAME tag.
- Because of that both tools reports a warning for many our test cases.
This patch delays getting a SOName string and changes the behavior (llvm-readobj) to
only report a warning when there is a DT_SONAME and a string cab't be read.
Warning is not reported for llvm-readelf, as it never tries to dump it.
Maybe worth a blank line between these two to highlight that the LoadName printing is not part of the dynamic section printing.