[llvm-commits] [lld] r158612 - /lld/trunk/lib/ReaderWriter/MachO/MachOFormat.hpp

Michael J. Spencer bigcheesegs at gmail.com
Sat Jun 16 18:18:44 PDT 2012


Author: mspencer
Date: Sat Jun 16 20:18:44 2012
New Revision: 158612

URL: http://llvm.org/viewvc/llvm-project?rev=158612&view=rev
Log:
Fix MSVC compat. MSVC doesn't have bzero.

Although the code is not valid to begin with. It is trying to do a raw memory
copy of a non standard-layout type. nameoffset is not guaranteed to directly
follow cmdsize.

This should be properly fixed.

Modified:
    lld/trunk/lib/ReaderWriter/MachO/MachOFormat.hpp

Modified: lld/trunk/lib/ReaderWriter/MachO/MachOFormat.hpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/MachOFormat.hpp?rev=158612&r1=158611&r2=158612&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/MachO/MachOFormat.hpp (original)
+++ lld/trunk/lib/ReaderWriter/MachO/MachOFormat.hpp Sat Jun 16 20:18:44 2012
@@ -314,7 +314,7 @@
       // in-memory matches on-disk, so copy first fields followed by path
       ::memcpy(to, (uint8_t*)&cmd, 12);
       ::memcpy(&to[12], _name.data(), _name.size());
-      ::bzero(&to[12+_name.size()], cmdsize-(12+_name.size()));
+      ::memset(&to[12+_name.size()], 0, cmdsize-(12+_name.size()));
     }
   }
 
@@ -494,7 +494,7 @@
       // in-memory matches on-disk, so copy first fields followed by path
       ::memcpy(to, (uint8_t*)&cmd, 24);
       ::memcpy(&to[24], _loadPath.data(), _loadPath.size());
-      ::bzero(&to[12+_loadPath.size()], cmdsize-(12+_loadPath.size()));
+      ::memset(&to[12+_loadPath.size()], 0, cmdsize-(12+_loadPath.size()));
     }
   }
 





More information about the llvm-commits mailing list