summaryrefslogtreecommitdiff
path: root/include/llvm/Object/MachOFormat.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Object/MachOFormat.h')
-rw-r--r--include/llvm/Object/MachOFormat.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/llvm/Object/MachOFormat.h b/include/llvm/Object/MachOFormat.h
index ffca391ea2..96ee8a766b 100644
--- a/include/llvm/Object/MachOFormat.h
+++ b/include/llvm/Object/MachOFormat.h
@@ -95,6 +95,8 @@ namespace macho {
enum StructureSizes {
Header32Size = 28,
Header64Size = 32,
+ FatHeaderSize = 8,
+ FatArchHeaderSize = 20,
SegmentLoadCommand32Size = 56,
SegmentLoadCommand64Size = 72,
Section32Size = 68,
@@ -130,6 +132,22 @@ namespace macho {
uint32_t Reserved;
};
+ /// \brief Header for universal object files.
+ struct FatHeader {
+ uint32_t Magic;
+ uint32_t NumFatArch;
+ };
+
+ /// \brief Header for a single-architecture object file in a
+ /// universal binary.
+ struct FatArchHeader {
+ uint32_t CPUType;
+ uint32_t CPUSubtype;
+ uint32_t Offset;
+ uint32_t Size;
+ uint32_t Align;
+ };
+
// See <mach-o/loader.h>.
enum HeaderFileType {
HFT_Object = 0x1