| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[llvm-objdump] Add support for dumping embedded offloading data In Clang/LLVM we are moving towards a new binary format to store many embedded object files to create a fatbinary. This patch adds support for dumping these embedded images in the llvm-objdump tool. This will allow users to query information about what is stored inside the binary. This has very similar functionality to the cuobjdump tool for thoe familiar with the Nvidia utilities. The proposed use is as follows: $ clang input.c -fopenmp --offload-arch=sm_70 --offload-arch=sm_52 -c $ llvm-objdump -O input.o input.o: file format elf64-x86-64 OFFLOADIND IMAGE [0]: kind cubin arch sm_52 triple nvptx64-nvidia-cuda producer openmp OFFLOADIND IMAGE [1]: kind cubin arch sm_70 triple nvptx64-nvidia-cuda producer openmp This will be expanded further once we start embedding more information into these offloading images. Right now we are planning on adding flags and entries for debug level, optimization, LTO usage, target features, among others. This patch only supports printing these sections, later we will want to support dumping files the user may be interested in via another flag. I am unsure if this should go here in llvm-objdump or llvm-objcopy. Reviewed By: MaskRay, tra, jhenderson, JonChesterfield Differential Revision: https://reviews.llvm.org/D126904 | 4 年前 | |
[llvm-objdump] Change some nonnull pointers to references. NFC | 4 年前 | |
[llvm-objdump] Change some nonnull pointers to references. NFC | 4 年前 | |
[llvm-objdump] Change printSymbolVersionDependency to use ELFFile API When .gnu.version_r is empty (allowed by readelf but warned by objdump), llvm-objdump -p may decode the next section as .gnu.version_r and may crash due to out-of-bounds C string reference. ELFFile<ELFT>::getVersionDependencies handles 0-entry .gnu.version_r gracefully. Just use it. Fix https://github.com/llvm/llvm-project/issues/57707 Differential Revision: https://reviews.llvm.org/D133751 (cherry picked from commit 25394c9d10e73b666f4fa1dff2426824894cce58) | 3 年前 | |
[llvm-objdump][ELF][NFC] Create ELFDump.h Summary: Continuing from D77285, the external interfaces implemented by ELFDump.cpp are now declared in ELFDump.h and moved into the llvm::objdump namespace. Externs defined in ELFDump.cpp that are unreferenced externally are also made static. Reviewers: jhenderson, MaskRay, DiggerLin, jasonliu, daltenty Reviewed By: jhenderson, MaskRay Subscribers: RKSimon, rupprecht, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D78695 | 6 年前 | |
feat: 930 opensource Signed-off-by: wzy_00889928 <1322947566@qq.com> | 9 个月前 | |
Add a (nonfunctional) -dyld_info flag to llvm-objdump. Darwin otool implements this flag as a one-stop solution for displaying bind and rebase info. As I am working on upstreaming chained fixup support this command will be useful to write testcases. Differential Revision: https://reviews.llvm.org/D113573 | 4 年前 | |
[llvm-objdump] Add an llvm-otool tool This implements an LLVM tool that's flag- and output-compatible with macOS's otool -- except for bugs, but from testing with both otool and xcrun otool-classic, llvm-otool matches vanilla otool's behavior very well already. It's not 100% perfect, but it's a very solid start. This uses the same approach as llvm-objcopy: llvm-objdump uses a different OptTable when it's invoked as llvm-otool. This is possible thanks to D100433. Differential Revision: https://reviews.llvm.org/D100583 | 5 年前 | |
[llvm-objdump] Add support for dumping embedded offloading data In Clang/LLVM we are moving towards a new binary format to store many embedded object files to create a fatbinary. This patch adds support for dumping these embedded images in the llvm-objdump tool. This will allow users to query information about what is stored inside the binary. This has very similar functionality to the cuobjdump tool for thoe familiar with the Nvidia utilities. The proposed use is as follows: $ clang input.c -fopenmp --offload-arch=sm_70 --offload-arch=sm_52 -c $ llvm-objdump -O input.o input.o: file format elf64-x86-64 OFFLOADIND IMAGE [0]: kind cubin arch sm_52 triple nvptx64-nvidia-cuda producer openmp OFFLOADIND IMAGE [1]: kind cubin arch sm_70 triple nvptx64-nvidia-cuda producer openmp This will be expanded further once we start embedding more information into these offloading images. Right now we are planning on adding flags and entries for debug level, optimization, LTO usage, target features, among others. This patch only supports printing these sections, later we will want to support dumping files the user may be interested in via another flag. I am unsure if this should go here in llvm-objdump or llvm-objcopy. Reviewed By: MaskRay, tra, jhenderson, JonChesterfield Differential Revision: https://reviews.llvm.org/D126904 | 4 年前 | |
[llvm-objdump] Fix alignment issues when dumping offloading sections Summary: The .llvm.offloading section should always be aligned by 8. However, we may want to show the offloading data stored in a static library. In this case, even though the section's alignment is correct, the offset inside the archive will result in the memory buffer being misaligned. TO combat this we simply check if the buffer does not have the proper alignment and copies it to a new buffer if not. This copy should have the proper alignment. | 4 年前 | |
[llvm-objdump] Add support for dumping embedded offloading data In Clang/LLVM we are moving towards a new binary format to store many embedded object files to create a fatbinary. This patch adds support for dumping these embedded images in the llvm-objdump tool. This will allow users to query information about what is stored inside the binary. This has very similar functionality to the cuobjdump tool for thoe familiar with the Nvidia utilities. The proposed use is as follows: $ clang input.c -fopenmp --offload-arch=sm_70 --offload-arch=sm_52 -c $ llvm-objdump -O input.o input.o: file format elf64-x86-64 OFFLOADIND IMAGE [0]: kind cubin arch sm_52 triple nvptx64-nvidia-cuda producer openmp OFFLOADIND IMAGE [1]: kind cubin arch sm_70 triple nvptx64-nvidia-cuda producer openmp This will be expanded further once we start embedding more information into these offloading images. Right now we are planning on adding flags and entries for debug level, optimization, LTO usage, target features, among others. This patch only supports printing these sections, later we will want to support dumping files the user may be interested in via another flag. I am unsure if this should go here in llvm-objdump or llvm-objcopy. Reviewed By: MaskRay, tra, jhenderson, JonChesterfield Differential Revision: https://reviews.llvm.org/D126904 | 4 年前 | |
Add a (nonfunctional) -dyld_info flag to llvm-objdump. Darwin otool implements this flag as a one-stop solution for displaying bind and rebase info. As I am working on upstreaming chained fixup support this command will be useful to write testcases. Differential Revision: https://reviews.llvm.org/D113573 | 4 年前 | |
Cleanup include: DebugInfo/Symbolize Estimation of the impact on preprocessor output after: 1067349756 before:1067487786 Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D120433 | 4 年前 | |
Cleanup LLVMObject headers Most notably, llvm/Object/Binary.h no longer includes llvm/Support/MemoryBuffer.h llvm/Object/MachOUniversal*.h no longer include llvm/Object/Archive.h llvm/Object/TapiUniversal.h no longer includes llvm/Object/TapiFile.h llvm-project preprocessed size: before: 1068185081 after: 1068324320 Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D119457 | 4 年前 | |
[llvm-objdump] Use cast<> instead of dyn_cast<> to avoid dereference of nullptr The pointer is dereferenced immediately, so assert the cast is correct instead of returning nullptr | 4 年前 | |
[llvm-objdump][Wasm][NFC] Create WasmDump.h Summary: Continuing from D77285, the external interfaces implemented by WasmDump.cpp are now declared in WasmDump.h and moved into the llvm::objdump namespace. Reviewers: jhenderson, MaskRay, DiggerLin, jasonliu, daltenty Reviewed By: jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D77990 | 6 年前 | |
[llvm] Use value instead of getValue (NFC) | 4 年前 | |
[llvm-objdump] Change some nonnull pointers to references. NFC | 4 年前 | |
[llvm-objdump] Fix type mismatch in std::min. I broke the build just now by trying to do std::min between a size_t and a uint64_t, which of course worked fine on my 64-bit test platform. | 3 年前 | |
[llvm-objdump] Create fake sections for a ELF core file The linux perf tools use /proc/kcore for disassembly kernel functions. Actually it copies the relevant parts to a temp file and then pass it to objdump. But it doesn't have section headers so llvm-objdump cannot handle it. Let's create fake section headers for the program headers. It'd have a single section for each segment to cover the entire range. And for this purpose we can consider only executable code segments. With this change, I can see the following command shows proper outputs. perf annotate --stdio --objdump=/path/to/llvm-objdump Differential Revision: https://reviews.llvm.org/D128705 | 4 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 9 个月前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 4 年前 |