aboutsummaryrefslogtreecommitdiff
path: root/src/third_party/mac_headers/mach-o/fat.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/mac_headers/mach-o/fat.h')
-rw-r--r--src/third_party/mac_headers/mach-o/fat.h25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/third_party/mac_headers/mach-o/fat.h b/src/third_party/mac_headers/mach-o/fat.h
index e2bcf433..0e5927dc 100644
--- a/src/third_party/mac_headers/mach-o/fat.h
+++ b/src/third_party/mac_headers/mach-o/fat.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2016 Apple, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
@@ -49,7 +49,7 @@
#define FAT_CIGAM 0xbebafeca /* NXSwapLong(FAT_MAGIC) */
struct fat_header {
- uint32_t magic; /* FAT_MAGIC */
+ uint32_t magic; /* FAT_MAGIC or FAT_MAGIC_64 */
uint32_t nfat_arch; /* number of structs that follow */
};
@@ -61,4 +61,23 @@ struct fat_arch {
uint32_t align; /* alignment as a power of 2 */
};
-#endif /* _MACH_O_FAT_H_ */
+/*
+ * The support for the 64-bit fat file format described here is a work in
+ * progress and not yet fully supported in all the Apple Developer Tools.
+ *
+ * When a slice is greater than 4mb or an offset to a slice is greater than 4mb
+ * then the 64-bit fat file format is used.
+ */
+#define FAT_MAGIC_64 0xcafebabf
+#define FAT_CIGAM_64 0xbfbafeca /* NXSwapLong(FAT_MAGIC_64) */
+
+struct fat_arch_64 {
+ cpu_type_t cputype; /* cpu specifier (int) */
+ cpu_subtype_t cpusubtype; /* machine specifier (int) */
+ uint64_t offset; /* file offset to this object file */
+ uint64_t size; /* size of this object file */
+ uint32_t align; /* alignment as a power of 2 */
+ uint32_t reserved; /* reserved */
+};
+
+#endif /* _MACH_O_FAT_H_ */ \ No newline at end of file