diff options
author | Chris Bieneman <beanz@apple.com> | 2016-05-25 17:09:07 +0000 |
---|---|---|
committer | Chris Bieneman <beanz@apple.com> | 2016-05-25 17:09:07 +0000 |
commit | e8e7555b10bc38ca54f5986a9840b4ab397bf604 (patch) | |
tree | ccac8017c6507c3052290328e8033a7b87cd0219 /llvm/lib/ObjectYAML/MachOYAML.cpp | |
parent | b136a25c5cfdb32285133cee7a8ecc01cc1645c2 (diff) | |
download | bcm5719-llvm-e8e7555b10bc38ca54f5986a9840b4ab397bf604.tar.gz bcm5719-llvm-e8e7555b10bc38ca54f5986a9840b4ab397bf604.zip |
[obj2yaml] [yaml2obj] MachO support for rebase opcodes
This is the first bit of support for MachO __LINKEDIT segment data.
llvm-svn: 270724
Diffstat (limited to 'llvm/lib/ObjectYAML/MachOYAML.cpp')
-rw-r--r-- | llvm/lib/ObjectYAML/MachOYAML.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/ObjectYAML/MachOYAML.cpp b/llvm/lib/ObjectYAML/MachOYAML.cpp index 2b4cfa0ce47..641e27e43f7 100644 --- a/llvm/lib/ObjectYAML/MachOYAML.cpp +++ b/llvm/lib/ObjectYAML/MachOYAML.cpp @@ -93,9 +93,22 @@ void MappingTraits<MachOYAML::Object>::mapping(IO &IO, } IO.mapRequired("FileHeader", Object.Header); IO.mapOptional("LoadCommands", Object.LoadCommands); + IO.mapOptional("LinkEditData", Object.LinkEdit); IO.setContext(nullptr); } +void MappingTraits<MachOYAML::LinkEditData>::mapping(IO &IO, + MachOYAML::LinkEditData &LinkEditData) { + IO.mapOptional("RebaseOpcodes", LinkEditData.RebaseOpcodes); +} + +void MappingTraits<MachOYAML::RebaseOpcode>::mapping(IO &IO, + MachOYAML::RebaseOpcode &RebaseOpcode) { + IO.mapRequired("Opcode", RebaseOpcode.Opcode); + IO.mapRequired("Imm", RebaseOpcode.Imm); + IO.mapOptional("ExtraData", RebaseOpcode.ExtraData); +} + template <typename StructType> void mapLoadCommandData(IO &IO, MachOYAML::LoadCommand &LoadCommand) {} |