[Object][DX] Initial DXContainer parsing support
authorChris Bieneman <chris.bieneman@me.com>
Thu, 28 Apr 2022 23:03:25 +0000 (18:03 -0500)
committerChris Bieneman <chris.bieneman@me.com>
Mon, 2 May 2022 18:56:33 +0000 (13:56 -0500)
commit4070aa01561c6bf2a5954d68228f373386658cde
tree79cf8c5e1d1525a9ccf9047de8817b4588beebad
parentb6beb59073455b1bd99b18d35ee3fea4560eedc1
[Object][DX] Initial DXContainer parsing support

This patch begins adding DXContainer parsing support to libObject.
Following the pattern used by ELFFile my goal here is to write a
standalone DXContainer parser and later write an adapter interface to
support a subset of the ObjectFile interfaces so that we can add
limited objdump support. I will also be adding ObjectYAML support to
help drive testing of the object tools and MC-level object writers as
those come together.

DXContainer is a slightly odd format. It is arranged in "parts" that
are semantically similar to sections, but it doesn't support symbol
listing.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D124643
llvm/include/llvm/BinaryFormat/DXContainer.h [new file with mode: 0644]
llvm/include/llvm/Object/DXContainer.h [new file with mode: 0644]
llvm/lib/Object/CMakeLists.txt
llvm/lib/Object/DXContainer.cpp [new file with mode: 0644]
llvm/unittests/Object/CMakeLists.txt
llvm/unittests/Object/DXContainerTest.cpp [new file with mode: 0644]