diff options
Diffstat (limited to 'llvm/lib/ObjectYAML/MachOYAML.cpp')
-rw-r--r-- | llvm/lib/ObjectYAML/MachOYAML.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/ObjectYAML/MachOYAML.cpp b/llvm/lib/ObjectYAML/MachOYAML.cpp index b4e808552df..d13c84eb04f 100644 --- a/llvm/lib/ObjectYAML/MachOYAML.cpp +++ b/llvm/lib/ObjectYAML/MachOYAML.cpp @@ -14,6 +14,7 @@ #include "llvm/ObjectYAML/MachOYAML.h" #include "llvm/Support/Casting.h" #include "llvm/Support/Format.h" +#include "llvm/Support/MachO.h" #include <string.h> // For memcpy, memset and strnlen. @@ -79,8 +80,9 @@ void MappingTraits<MachOYAML::FileHeader>::mapping( IO.mapRequired("ncmds", FileHdr.ncmds); IO.mapRequired("sizeofcmds", FileHdr.sizeofcmds); IO.mapRequired("flags", FileHdr.flags); - IO.mapOptional("reserved", FileHdr.reserved, - static_cast<llvm::yaml::Hex32>(0xDEADBEEFu)); + if (FileHdr.magic == MachO::MH_MAGIC_64 || + FileHdr.magic == MachO::MH_CIGAM_64) + IO.mapRequired("reserved", FileHdr.reserved); } void MappingTraits<MachOYAML::Object>::mapping(IO &IO, |