[obj2yaml] - Rework tool's error reporting logic for ELF target.
commit8889e828a4ae8b8f0d7c87c47f08a2ca5e85d063
authorGeorge Rimar <grimar@accesssoftek.com>
Mon, 15 Jul 2019 10:50:03 +0000 (15 10:50 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Mon, 15 Jul 2019 10:50:03 +0000 (15 10:50 +0000)
tree8c6fbc7aeee3a452780b726b88dde0494ffdff38
parenta9d10c1c1f4dba1c4984931481a68e33cb2e8d64
[obj2yaml] - Rework tool's error reporting logic for ELF target.

ELF.h contains two getSymbol methods
which seems to be used only from obj2yaml.

One of these methods calls another, which in turn
contains untested error message which doesn't
provide enough information.

Problem is that after improving only just that message,
obj2yaml will not show it,
("Error reading file: yaml: Invalid data was
encountered while parsing the file" message will be shown instead),
because internal errors handling of tool is based on ErrorOr<> class which
stores a error code and as a result can only show a predefined error string, what
actually isn't very useful.

In this patch, I rework obj2yaml's error reporting system
for ELF targets to use Error  Expected<> classes.
Also, I improve the error message produced
by getSymbol for demonstration of the new functionality.

Differential revision: https://reviews.llvm.org/D64631

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366052 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Object/ELF.h
test/tools/obj2yaml/section-group.test
test/tools/obj2yaml/special-symbol-indices.yaml
tools/obj2yaml/elf2yaml.cpp
tools/obj2yaml/obj2yaml.cpp
tools/obj2yaml/obj2yaml.h