[PATCH] D95591: [yaml2obj/obj2yaml] - Implement program header table as a special Chunk.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 27 22:57:52 PST 2021


grimar created this revision.
grimar added reviewers: jhenderson, MaskRay.
Herald added subscribers: rupprecht, hiraditya, emaste.
Herald added a reviewer: alexshap.
Herald added a reviewer: rupprecht.
grimar requested review of this revision.
Herald added a project: LLVM.

This implements the program header table as a chunk of type "ProgramHeaderTable".
It allows to place the program header table at an arbitrary location.


https://reviews.llvm.org/D95591

Files:
  llvm/include/llvm/ObjectYAML/ELFYAML.h
  llvm/lib/ObjectYAML/ELFEmitter.cpp
  llvm/lib/ObjectYAML/ELFYAML.cpp
  llvm/test/DebugInfo/symbolize-build-id-error.test
  llvm/test/DebugInfo/symbolize-build-id.test
  llvm/test/Object/invalid.test
  llvm/test/Object/obj2yaml.test
  llvm/test/tools/llvm-elfabi/binary-read-add-soname.test
  llvm/test/tools/llvm-elfabi/binary-read-arch.test
  llvm/test/tools/llvm-elfabi/binary-read-bad-soname.test
  llvm/test/tools/llvm-elfabi/binary-read-bad-vaddr.test
  llvm/test/tools/llvm-elfabi/binary-read-neededlibs-bad-offset.test
  llvm/test/tools/llvm-elfabi/binary-read-neededlibs.test
  llvm/test/tools/llvm-elfabi/binary-read-no-dt-strsz.test
  llvm/test/tools/llvm-elfabi/binary-read-no-dt-strtab.test
  llvm/test/tools/llvm-elfabi/binary-read-replace-soname.test
  llvm/test/tools/llvm-elfabi/binary-read-soname-no-null.test
  llvm/test/tools/llvm-elfabi/binary-read-soname.test
  llvm/test/tools/llvm-elfabi/read-elf-dynsym.test
  llvm/test/tools/llvm-gsymutil/X86/elf-dwarf.yaml
  llvm/test/tools/llvm-objcopy/ELF/Inputs/ihex-elf-pt-null.yaml
  llvm/test/tools/llvm-objcopy/ELF/Inputs/ihex-elf-segments.yaml
  llvm/test/tools/llvm-objcopy/ELF/add-symbol.test
  llvm/test/tools/llvm-objcopy/ELF/adjacent-segments.test
  llvm/test/tools/llvm-objcopy/ELF/bad-build-id.test
  llvm/test/tools/llvm-objcopy/ELF/basic-binary-copy.test
  llvm/test/tools/llvm-objcopy/ELF/binary-first-seg-offset-zero.test
  llvm/test/tools/llvm-objcopy/ELF/binary-no-paddr.test
  llvm/test/tools/llvm-objcopy/ELF/binary-paddr.test
  llvm/test/tools/llvm-objcopy/ELF/binary-remove-all-but-one.test
  llvm/test/tools/llvm-objcopy/ELF/binary-remove-end.test
  llvm/test/tools/llvm-objcopy/ELF/binary-remove-middle.test
  llvm/test/tools/llvm-objcopy/ELF/binary-segment-layout.test
  llvm/test/tools/llvm-objcopy/ELF/build-id-link-dir.test
  llvm/test/tools/llvm-objcopy/ELF/check-addr-offset-align-binary.test
  llvm/test/tools/llvm-objcopy/ELF/check-addr-offset-align.test
  llvm/test/tools/llvm-objcopy/ELF/copy-after-strip-sections.test
  llvm/test/tools/llvm-objcopy/ELF/dump-section.test
  llvm/test/tools/llvm-objcopy/ELF/empty-section.test
  llvm/test/tools/llvm-objcopy/ELF/identical-segments.test
  llvm/test/tools/llvm-objcopy/ELF/invalid-e_phoff.test
  llvm/test/tools/llvm-objcopy/ELF/invalid-p_filesz-p_offset.test
  llvm/test/tools/llvm-objcopy/ELF/marker-segment.test
  llvm/test/tools/llvm-objcopy/ELF/no-build-id.test
  llvm/test/tools/llvm-objcopy/ELF/only-keep-debug.test
  llvm/test/tools/llvm-objcopy/ELF/overlap-chain.test
  llvm/test/tools/llvm-objcopy/ELF/overlapping-sections-in-segments.test
  llvm/test/tools/llvm-objcopy/ELF/parent-loop-check.test
  llvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test
  llvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents.test
  llvm/test/tools/llvm-objcopy/ELF/program-headers.test
  llvm/test/tools/llvm-objcopy/ELF/remove-section-in-segment.test
  llvm/test/tools/llvm-objcopy/ELF/segment-shift-section-remove.test
  llvm/test/tools/llvm-objcopy/ELF/segment-shift.test
  llvm/test/tools/llvm-objcopy/ELF/segment-test-remove-section.test
  llvm/test/tools/llvm-objcopy/ELF/strip-all-gnu.test
  llvm/test/tools/llvm-objcopy/ELF/strip-all.test
  llvm/test/tools/llvm-objcopy/ELF/strip-non-alloc.test
  llvm/test/tools/llvm-objcopy/ELF/strip-sections.test
  llvm/test/tools/llvm-objcopy/ELF/triple-overlap.test
  llvm/test/tools/llvm-objcopy/ELF/two-seg-remove-end.test
  llvm/test/tools/llvm-objcopy/ELF/two-seg-remove-first.test
  llvm/test/tools/llvm-objcopy/ELF/two-seg-remove-third-sec.test
  llvm/test/tools/llvm-objdump/ELF/dynamic-section-machine-specific.test
  llvm/test/tools/llvm-objdump/ELF/dynamic-section.test
  llvm/test/tools/llvm-objdump/ELF/pt-gnu-property.test
  llvm/test/tools/llvm-objdump/X86/elf-disassemble-dynamic-symbols.test
  llvm/test/tools/llvm-objdump/X86/elf-dynamic-relocs.test
  llvm/test/tools/llvm-objdump/X86/phdrs-lma.test
  llvm/test/tools/llvm-objdump/X86/phdrs-lma2.test
  llvm/test/tools/llvm-objdump/openbsd-headers.test
  llvm/test/tools/llvm-objdump/section-filter.test
  llvm/test/tools/llvm-objdump/warn-on-out-of-range-start-stop-address.test
  llvm/test/tools/llvm-readobj/ELF/all.test
  llvm/test/tools/llvm-readobj/ELF/broken-dynamic-reloc.test
  llvm/test/tools/llvm-readobj/ELF/check-output-order.test
  llvm/test/tools/llvm-readobj/ELF/demangle.test
  llvm/test/tools/llvm-readobj/ELF/dyn-symbols-size-from-hash-table.test
  llvm/test/tools/llvm-readobj/ELF/dyn-symbols.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-empty.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-malformed.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-no-pt-dynamic.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-not-in-pt-dynamic.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-reloc-no-section-headers.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-reloc.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-table-dtnull.s
  llvm/test/tools/llvm-readobj/ELF/dynamic-tags-machine-specific.test
  llvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
  llvm/test/tools/llvm-readobj/ELF/gnu-file-headers.test
  llvm/test/tools/llvm-readobj/ELF/gnu-notes.test
  llvm/test/tools/llvm-readobj/ELF/gnu-section-mapping.test
  llvm/test/tools/llvm-readobj/ELF/gnuhash.test
  llvm/test/tools/llvm-readobj/ELF/hash-histogram.test
  llvm/test/tools/llvm-readobj/ELF/hash-symbols.test
  llvm/test/tools/llvm-readobj/ELF/hash-table.test
  llvm/test/tools/llvm-readobj/ELF/headers.test
  llvm/test/tools/llvm-readobj/ELF/loadname.test
  llvm/test/tools/llvm-readobj/ELF/malformed-pt-dynamic.test
  llvm/test/tools/llvm-readobj/ELF/needed-libs.test
  llvm/test/tools/llvm-readobj/ELF/non-dynamic-in-pt-dynamic.test
  llvm/test/tools/llvm-readobj/ELF/note-core-ntfile-bad.test
  llvm/test/tools/llvm-readobj/ELF/note-core-ntfile.test
  llvm/test/tools/llvm-readobj/ELF/note-core.test
  llvm/test/tools/llvm-readobj/ELF/program-headers.test
  llvm/test/tools/llvm-readobj/ELF/reloc-negative-addend-no-sym.test
  llvm/test/tools/llvm-readobj/ELF/reloc-zero-name-or-value.test
  llvm/test/tools/llvm-readobj/ELF/symtab-shndx.test
  llvm/test/tools/llvm-readobj/ELF/unwind.test
  llvm/test/tools/llvm-xray/ARM/extract-instrmap.test
  llvm/test/tools/obj2yaml/ELF/offset.yaml
  llvm/test/tools/obj2yaml/ELF/program-headers.yaml
  llvm/test/tools/yaml2obj/ELF/custom-fill.yaml
  llvm/test/tools/yaml2obj/ELF/dynamic-section-i386.yaml
  llvm/test/tools/yaml2obj/ELF/header-sh-fields.yaml
  llvm/test/tools/yaml2obj/ELF/program-header-address.yaml
  llvm/test/tools/yaml2obj/ELF/program-header-align.yaml
  llvm/test/tools/yaml2obj/ELF/program-header-nobits.yaml
  llvm/test/tools/yaml2obj/ELF/program-header-size-offset.yaml
  llvm/test/tools/yaml2obj/ELF/program-header.yaml
  llvm/tools/obj2yaml/elf2yaml.cpp
  llvm/unittests/Object/ELFObjectFileTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95591.319766.patch
Type: text/x-patch
Size: 245209 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210128/6710b01a/attachment-0001.bin>


More information about the llvm-commits mailing list