[PATCH] D33843: Create a new library called ObjectLayout, and move headers from Support to there.
Zachary Turner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 2 11:01:51 PDT 2017
zturner created this revision.
Herald added subscribers: jgravelle-google, sbc100, javed.absar, aprantl, mgorny, nhaehnle, nemanjai, emaste, jyknight, dschuff, arsenm, jfb.
Based on the list discussion from the other day, this does the following:
1. Moves `Dwarf.h`, `ELF.h`, `COFF.h`, `Wasm.h`, `MachO.h`, all corresponding `.def` files, and all `xxxReloc` folders out of `Support` and into `ObjectLayout`.
2. Moves the `file_magic` structure and `identify_magic` functions from `Support` to `ObjectLayout`.
3. Moves corresponding unit tests from `SupportTests` to a new unit test target named `ObjectLayoutTests`.
4. Updates all relevant `LLVMBuild.txt` files.
5. Updates all code in llvm, clang, lld, and lldb to use the new header locations.
Sorry this patch is so large, but there is really no good way around it.
https://reviews.llvm.org/D33843
Files:
lld/COFF/Chunks.cpp
lld/COFF/Driver.cpp
lld/COFF/InputFiles.cpp
lld/ELF/Config.h
lld/ELF/EhFrame.cpp
lld/ELF/ICF.cpp
lld/ELF/LTO.cpp
lld/ELF/LinkerScript.cpp
lld/ELF/Mips.cpp
lld/ELF/OutputSections.cpp
lld/ELF/ScriptParser.cpp
lld/ELF/SyntheticSections.cpp
lld/ELF/Target.cpp
lld/ELF/Thunks.cpp
lld/include/lld/Core/Reader.h
lld/include/lld/ReaderWriter/MachOLinkingContext.h
lld/lib/Core/Reader.cpp
lld/lib/Driver/DarwinLdDriver.cpp
lld/lib/ReaderWriter/FileArchive.cpp
lld/lib/ReaderWriter/MachO/ExecutableAtoms.h
lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFile.h
lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h
lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp
lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp
lld/lib/ReaderWriter/MachO/WriterMachO.cpp
lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp
lld/unittests/DriverTests/DarwinLdDriverTest.cpp
lld/unittests/MachOTests/MachONormalizedFileBinaryReaderTests.cpp
lld/unittests/MachOTests/MachONormalizedFileBinaryWriterTests.cpp
lld/unittests/MachOTests/MachONormalizedFileToAtomsTests.cpp
lld/unittests/MachOTests/MachONormalizedFileYAMLTests.cpp
lldb/include/lldb/Core/dwarf.h
lldb/include/lldb/Utility/SafeMachO.h
lldb/source/Core/ArchSpec.cpp
lldb/source/Core/CMakeLists.txt
lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt
lldb/source/Plugins/ObjectFile/ELF/ELFHeader.h
lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
lldb/source/Plugins/Process/elf-core/CMakeLists.txt
lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
lldb/source/Utility/CMakeLists.txt
lldb/unittests/Core/ArchSpecTest.cpp
lldb/unittests/Core/StructuredDataTest.cpp
llvm/examples/ExceptionDemo/ExceptionDemo.cpp
llvm/include/llvm/CodeGen/DIE.h
llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h
llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
llvm/include/llvm/DebugInfo/DWARF/DWARFAbbreviationDeclaration.h
llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
llvm/include/llvm/DebugInfo/DWARF/DWARFAttribute.h
llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h
llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h
llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
llvm/include/llvm/IR/DebugInfoMetadata.h
llvm/include/llvm/LinkAllIR.h
llvm/include/llvm/MC/MCContext.h
llvm/include/llvm/MC/MCELFObjectWriter.h
llvm/include/llvm/MC/MCMachObjectWriter.h
llvm/include/llvm/MC/MCSectionMachO.h
llvm/include/llvm/MC/MCSymbolWasm.h
llvm/include/llvm/Object/COFF.h
llvm/include/llvm/Object/ELF.h
llvm/include/llvm/Object/ELFObjectFile.h
llvm/include/llvm/Object/ELFTypes.h
llvm/include/llvm/Object/MachO.h
llvm/include/llvm/Object/MachOUniversal.h
llvm/include/llvm/Object/ObjectFile.h
llvm/include/llvm/Object/RelocVisitor.h
llvm/include/llvm/Object/SymbolicFile.h
llvm/include/llvm/Object/Wasm.h
llvm/include/llvm/Object/WindowsResource.h
llvm/include/llvm/ObjectLayout/COFF.h
llvm/include/llvm/ObjectLayout/Dwarf.def
llvm/include/llvm/ObjectLayout/Dwarf.h
llvm/include/llvm/ObjectLayout/ELF.h
llvm/include/llvm/ObjectLayout/ELFRelocs/AArch64.def
llvm/include/llvm/ObjectLayout/ELFRelocs/AMDGPU.def
llvm/include/llvm/ObjectLayout/ELFRelocs/ARM.def
llvm/include/llvm/ObjectLayout/ELFRelocs/AVR.def
llvm/include/llvm/ObjectLayout/ELFRelocs/BPF.def
llvm/include/llvm/ObjectLayout/ELFRelocs/Hexagon.def
llvm/include/llvm/ObjectLayout/ELFRelocs/Lanai.def
llvm/include/llvm/ObjectLayout/ELFRelocs/Mips.def
llvm/include/llvm/ObjectLayout/ELFRelocs/PowerPC.def
llvm/include/llvm/ObjectLayout/ELFRelocs/PowerPC64.def
llvm/include/llvm/ObjectLayout/ELFRelocs/RISCV.def
llvm/include/llvm/ObjectLayout/ELFRelocs/Sparc.def
llvm/include/llvm/ObjectLayout/ELFRelocs/SystemZ.def
llvm/include/llvm/ObjectLayout/ELFRelocs/WebAssembly.def
llvm/include/llvm/ObjectLayout/ELFRelocs/i386.def
llvm/include/llvm/ObjectLayout/ELFRelocs/x86_64.def
llvm/include/llvm/ObjectLayout/MachO.def
llvm/include/llvm/ObjectLayout/MachO.h
llvm/include/llvm/ObjectLayout/Magic.h
llvm/include/llvm/ObjectLayout/Wasm.h
llvm/include/llvm/ObjectLayout/WasmRelocs/WebAssembly.def
llvm/include/llvm/ObjectYAML/COFFYAML.h
llvm/include/llvm/ObjectYAML/DWARFYAML.h
llvm/include/llvm/ObjectYAML/ELFYAML.h
llvm/include/llvm/ObjectYAML/MachOYAML.h
llvm/include/llvm/ObjectYAML/WasmYAML.h
llvm/include/llvm/Support/COFF.h
llvm/include/llvm/Support/Dwarf.def
llvm/include/llvm/Support/Dwarf.h
llvm/include/llvm/Support/ELF.h
llvm/include/llvm/Support/ELFRelocs/AArch64.def
llvm/include/llvm/Support/ELFRelocs/AMDGPU.def
llvm/include/llvm/Support/ELFRelocs/ARM.def
llvm/include/llvm/Support/ELFRelocs/AVR.def
llvm/include/llvm/Support/ELFRelocs/BPF.def
llvm/include/llvm/Support/ELFRelocs/Hexagon.def
llvm/include/llvm/Support/ELFRelocs/Lanai.def
llvm/include/llvm/Support/ELFRelocs/Mips.def
llvm/include/llvm/Support/ELFRelocs/PowerPC.def
llvm/include/llvm/Support/ELFRelocs/PowerPC64.def
llvm/include/llvm/Support/ELFRelocs/RISCV.def
llvm/include/llvm/Support/ELFRelocs/Sparc.def
llvm/include/llvm/Support/ELFRelocs/SystemZ.def
llvm/include/llvm/Support/ELFRelocs/WebAssembly.def
llvm/include/llvm/Support/ELFRelocs/i386.def
llvm/include/llvm/Support/ELFRelocs/x86_64.def
llvm/include/llvm/Support/FileSystem.h
llvm/include/llvm/Support/MachO.def
llvm/include/llvm/Support/MachO.h
llvm/include/llvm/Support/Wasm.h
llvm/include/llvm/Support/WasmRelocs/WebAssembly.def
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/CMakeLists.txt
llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfAccelTable.h
llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp
llvm/lib/CodeGen/AsmPrinter/WinException.cpp
llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
llvm/lib/DebugInfo/DWARF/DWARFAbbreviationDeclaration.cpp
llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugMacro.cpp
llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp
llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFI386.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldELFMips.cpp
llvm/lib/IR/AsmWriter.cpp
llvm/lib/IR/DIBuilder.cpp
llvm/lib/IR/LLVMBuild.txt
llvm/lib/IR/LLVMContextImpl.h
llvm/lib/IR/Verifier.cpp
llvm/lib/LLVMBuild.txt
llvm/lib/MC/ELFObjectWriter.cpp
llvm/lib/MC/MCAsmInfo.cpp
llvm/lib/MC/MCAsmInfoDarwin.cpp
llvm/lib/MC/MCAsmInfoELF.cpp
llvm/lib/MC/MCCodeView.cpp
llvm/lib/MC/MCContext.cpp
llvm/lib/MC/MCDwarf.cpp
llvm/lib/MC/MCELFStreamer.cpp
llvm/lib/MC/MCObjectFileInfo.cpp
llvm/lib/MC/MCParser/AsmParser.cpp
llvm/lib/MC/MCParser/COFFAsmParser.cpp
llvm/lib/MC/MCParser/DarwinAsmParser.cpp
llvm/lib/MC/MCParser/ELFAsmParser.cpp
llvm/lib/MC/MCSectionCOFF.cpp
llvm/lib/MC/MCSectionELF.cpp
llvm/lib/MC/MCStreamer.cpp
llvm/lib/MC/MCSymbolELF.cpp
llvm/lib/MC/MCWinEH.cpp
llvm/lib/MC/MachObjectWriter.cpp
llvm/lib/MC/StringTableBuilder.cpp
llvm/lib/MC/WasmObjectWriter.cpp
llvm/lib/MC/WinCOFFObjectWriter.cpp
llvm/lib/MC/WinCOFFStreamer.cpp
llvm/lib/Object/ArchiveWriter.cpp
llvm/lib/Object/Binary.cpp
llvm/lib/Object/COFFObjectFile.cpp
llvm/lib/Object/Decompressor.cpp
llvm/lib/Object/ELF.cpp
llvm/lib/Object/ELFObjectFile.cpp
llvm/lib/Object/IRObjectFile.cpp
llvm/lib/Object/LLVMBuild.txt
llvm/lib/Object/MachOObjectFile.cpp
llvm/lib/Object/ObjectFile.cpp
llvm/lib/Object/SymbolicFile.cpp
llvm/lib/Object/WasmObjectFile.cpp
llvm/lib/Object/WindowsResource.cpp
llvm/lib/ObjectLayout/CMakeLists.txt
llvm/lib/ObjectLayout/Dwarf.cpp
llvm/lib/ObjectLayout/LLVMBuild.txt
llvm/lib/ObjectLayout/Magic.cpp
llvm/lib/ObjectYAML/DWARFVisitor.h
llvm/lib/ObjectYAML/ELFYAML.cpp
llvm/lib/ObjectYAML/MachOYAML.cpp
llvm/lib/ObjectYAML/WasmYAML.cpp
llvm/lib/Support/CMakeLists.txt
llvm/lib/Support/Dwarf.cpp
llvm/lib/Support/Path.cpp
llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp
llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
llvm/lib/Target/ARM/ARMAsmPrinter.cpp
llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
llvm/lib/Target/AVR/AVRSubtarget.cpp
llvm/lib/Target/AVR/AVRTargetObjectFile.cpp
llvm/lib/Target/AVR/MCTargetDesc/AVRELFStreamer.cpp
llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
llvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp
(55 more files...)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33843.101240.patch
Type: text/x-patch
Size: 778957 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170602/7a32ae62/attachment-0001.bin>
More information about the llvm-commits
mailing list