The errors coming from ELF.h are usually not very useful because they are
uninformative. This patch is a first step to improve the situation.
- I tested this patch with a run of check-llvm and found that few messages are untested.
In this patch, I did not add more tests but marked all such cases with a "TODO" comment.
- For all tested messages I extended the error text to provide more details (see test cases changed).