[Courgette] Fix AssemblyProgram parsing for ELF-ARM.
This fixes two problems:
(A) In DisassemblerElf32, RVAToFileOffset() used Program Segment Header,
but FileOffsetToRVA() used Section Header. For consistency, both
should use the same one. We choose the latter (for now).
(B) Even if a section has sh_type=SHT_PROGBITS, it can still have
sh_addr=0. Extracting Rel32 address from these sections would add
overlapping RVA chaos, and so should be avoided.
Also using elf-arm7 in a unit test. The test fails before the fix and
passes after.
BUG= 579206
Review URL: https://codereview.chromium.org/1658463002
Cr-Commit-Position: refs/heads/master@{#373639}
3 files changed