Roland McGrath wrote:
* Check that each rangelistptr is aligned to CU's address_sizeThis is canonical but not actually mandatory.
It's a message with impact 4. If it's not a big deal, I'll make it 2 (i.e. harmless, but suspicious).
- DW_OP_bra and DW_OP_skip: that they don't overrun or underrun opcode buffer, and that their destination address is aligned with the beginning of some DIE.Of some op in that expression block, you mean?
Yes, that.
I've also added the location list C++ interface. You can use that to apply similar checks for addresses used in location lists. For now, the only check I'd recommend is that a location list's addresses all fall into the ranges of a scope containing the one whose loclistptr attr is that list.
Ok.
Parts of text not covered by any CU are not suspicious even if they are not just alignment padding and so on--there are sometimes files linked in that were compiled without -g, or assembly, which is commonly done with without -g, or static libraries, crt1.o, etc.
I see, I didn't think about that.
The address validity checks that make sense to do by default are just that they match some section. In relocatable cases, it makes sense to check that both the start and end of one pair point to the same section. In final-linked cases, that might still make sense but maybe not. It probably also makes sense to check that addresses are inside the st_value+st_size of some symbol in the section. Worrying about it being the right symbol is much hair for much later.
Ok. Thanks, PM
signature.asc
Description: OpenPGP digital signature
_______________________________________________ elfutils-devel mailing list [email protected] https://fedorahosted.org/mailman/listinfo/elfutils-devel
