1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/tools/llvm-objcopy/ELF
Peter Collingbourne 1fe1482c3b llvm-objcopy: Implement --extract-partition and --extract-main-partition.
This implements the functionality described in
https://lld.llvm.org/Partitions.html. It works as follows:

- Reads the section headers using the ELF header at file offset 0;
- If extracting a loadable partition:
  - Finds the section containing the required partition ELF header by looking it up in the section table;
  - Reads the ELF and program headers from the section.
- If extracting the main partition:
  - Reads the ELF and program headers from file offset 0.
- Filters the section table according to which sections are in the program headers that it read:
  - If ParentSegment != nullptr or section is not SHF_ALLOC, then it goes in.
  - Sections containing partition ELF headers or program headers are excluded as there are no headers for these in ordinary ELF files.

Differential Revision: https://reviews.llvm.org/D62364

llvm-svn: 362818
2019-06-07 17:57:48 +00:00
..
ELFObjcopy.cpp llvm-objcopy: Implement --extract-partition and --extract-main-partition. 2019-06-07 17:57:48 +00:00
ELFObjcopy.h [llvm-objcopy][NFC] More error propagation 2019-01-30 14:36:53 +00:00
Object.cpp llvm-objcopy: Implement --extract-partition and --extract-main-partition. 2019-06-07 17:57:48 +00:00
Object.h llvm-objcopy: Implement --extract-partition and --extract-main-partition. 2019-06-07 17:57:48 +00:00