[llvm-readobj/readelf] - Refine the implementation of printMipsOptions().
`printMipsOptions()` and the test related has the following issues currently: 1) It does not check the value of Elf_Mips_Options<ELFT>::size field. 2) For ODK_REGINFO options it is possible to read past the end of buffer, because there is no check against the `sizeof(Elf_Mips_RegInfo<ELFT>)`. 3) The error about the broken size is just printed to the standard output. 4) The binary input is used for the test. 5) There is no testing for multiple options in the .MIPS.options section, though the code supports it. 6) Only llvm-readobj is tested, but not llvm-readelf. 7) "Unsupported MIPS options tag" message does not reveal the tag ID/name. This patch fixes all of these points. Differential revision: https://reviews.llvm.org/D84854
Loading
Please sign in to comment