DescriptionCreate builds configured for ARM and AARCH64.
Second phase of extending the relocation packer for arm64.
Add elf_traits.h to define either Elf32 or Elf64 structs and functions
as ELF traits, depending on macro definitions. Use ELF:: types in place
of Elf32_ (mechanical).
Widen leb128 to handle 64-bit unsigned values, and revise implementation
for better readability and efficiency (and to match sleb128, coming
later).
Change packer and run length encoder functions and function signatures
to handle the Elf types that represent the items they pack and encode
(mechanical).
Move elf_ assignment to the end of ElfFile::Load(), so that it is
assigned only if loading succeeds.
Factor out FindDynamicEntry() to improve readability.
Use ELF_R_INFO() to set r_info in relocations.
Print elf_errmsg() error string on failure to load.
Do full round-trip pack and unpack check with a single memcmp().
Still to do:
- Add support for relative relocations with addends (RELA).
- Add new packing strategy for RELA (requires sleb128).
- Modify relocation_packer.gyp to build both configurations.
- Extend unit tests to accommodate.
BUG=385553
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284493
Patch Set 1 #Patch Set 2 : Remove distracting unsigned's in unit tests. #Patch Set 3 : More unsigneds, comment drift. #Patch Set 4 : Purge unused includes. #
Total comments: 19
Patch Set 5 : Feedback updates. #Patch Set 6 : Rename DT tags to DT_ANDROID_REL_XXX #Messages
Total messages: 10 (0 generated)
|