OSDN Git Service

[MachO] Adding a few missing swapStruct functions
authorChris Bieneman <beanz@apple.com>
Fri, 13 May 2016 22:12:44 +0000 (22:12 +0000)
committerChris Bieneman <beanz@apple.com>
Fri, 13 May 2016 22:12:44 +0000 (22:12 +0000)
MachO.h was missing the swapStruct functions for a few load command structures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269499 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/MachO.h

index 9c6ba57..cbbbf79 100644 (file)
@@ -1235,6 +1235,41 @@ namespace llvm {
       sys::swapByteOrder(C);
     }
 
+    inline void swapStruct(prebind_cksum_command &C) {
+      sys::swapByteOrder(C.cmd);
+      sys::swapByteOrder(C.cmdsize);
+      sys::swapByteOrder(C.cksum);
+    };
+
+    inline void swapStruct(twolevel_hints_command &C) {
+      sys::swapByteOrder(C.cmd);
+      sys::swapByteOrder(C.cmdsize);
+      sys::swapByteOrder(C.offset);
+      sys::swapByteOrder(C.nhints);
+    };
+
+    inline void swapStruct(prebound_dylib_command &C) {
+      sys::swapByteOrder(C.cmd);
+      sys::swapByteOrder(C.cmdsize);
+      sys::swapByteOrder(C.name);
+      sys::swapByteOrder(C.nmodules);
+      sys::swapByteOrder(C.linked_modules);
+    };
+
+    inline void swapStruct(fvmfile_command &C) {
+      sys::swapByteOrder(C.cmd);
+      sys::swapByteOrder(C.cmdsize);
+      sys::swapByteOrder(C.name);
+      sys::swapByteOrder(C.header_addr);
+    };
+
+    inline void swapStruct(symseg_command &C) {
+      sys::swapByteOrder(C.cmd);
+      sys::swapByteOrder(C.cmdsize);
+      sys::swapByteOrder(C.offset);
+      sys::swapByteOrder(C.size);
+    };
+
     // Get/Set functions from <mach-o/nlist.h>
 
     static inline uint16_t GET_LIBRARY_ORDINAL(uint16_t n_desc) {