This is an archive of the discontinued LLVM Phabricator instance.

Let arm_section_length store the number of bytes.
ClosedPublic

Authored by ed on Mar 7 2017, 12:11 AM.

Details

Summary

Exception section data that we extract for DWARF gets stored as the
offset and the number of bytes. For ARM exception info, we seem to
deviate from this by storing the number of entries. Attempt to make this
more consistent.

By storing the number of bytes, we can get rid of the EHTEntry structure
declared in AddressSpace.hpp. In UnwindCursor.hpp we already have
another structure declared for the same purpose.

Diff Detail

Repository
rL LLVM

Event Timeline

ed created this revision.Mar 7 2017, 12:11 AM

This change looks OK to me.

The only side-effect that I can see is that the size of the __exidx_start and __exidx_end symbols in the object file will change in size from 8 to 1, but I don't think that should cause a problem.

ed added a comment.Mar 7 2017, 7:33 AM

This change looks OK to me.

Perfect! Thanks for the quick review!

The only side-effect that I can see is that the size of the __exidx_start and __exidx_end symbols in the object file will change in size from 8 to 1, but I don't think that should cause a problem.

Yeah, exactly. They also are also extern declarations, so they should have no meaningful size at the object level.

This revision was automatically updated to reflect the committed changes.