[PATCH] D17371: [MSan] Make unaligned load/store functions compatible for both endians
Mohit Bhakkad via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 21 22:21:07 PST 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL261513: [MSan] Make unaligned load/store functions compatible for both endians (authored by mohit.bhakkad).
Changed prior to commit:
http://reviews.llvm.org/D17371?vs=48456&id=48649#toc
Repository:
rL LLVM
http://reviews.llvm.org/D17371
Files:
compiler-rt/trunk/lib/msan/msan.cc
Index: compiler-rt/trunk/lib/msan/msan.cc
===================================================================
--- compiler-rt/trunk/lib/msan/msan.cc
+++ compiler-rt/trunk/lib/msan/msan.cc
@@ -580,13 +580,13 @@
}
u16 __sanitizer_unaligned_load16(const uu16 *p) {
- __msan_retval_tls[0] = *(uu16 *)MEM_TO_SHADOW((uptr)p);
+ *(uu16 *)&__msan_retval_tls[0] = *(uu16 *)MEM_TO_SHADOW((uptr)p);
if (__msan_get_track_origins())
__msan_retval_origin_tls = GetOriginIfPoisoned((uptr)p, sizeof(*p));
return *p;
}
u32 __sanitizer_unaligned_load32(const uu32 *p) {
- __msan_retval_tls[0] = *(uu32 *)MEM_TO_SHADOW((uptr)p);
+ *(uu32 *)&__msan_retval_tls[0] = *(uu32 *)MEM_TO_SHADOW((uptr)p);
if (__msan_get_track_origins())
__msan_retval_origin_tls = GetOriginIfPoisoned((uptr)p, sizeof(*p));
return *p;
@@ -598,15 +598,15 @@
return *p;
}
void __sanitizer_unaligned_store16(uu16 *p, u16 x) {
- u16 s = __msan_param_tls[1];
+ u16 s = *(uu16 *)&__msan_param_tls[1];
*(uu16 *)MEM_TO_SHADOW((uptr)p) = s;
if (s && __msan_get_track_origins())
if (uu32 o = __msan_param_origin_tls[2])
SetOriginIfPoisoned((uptr)p, (uptr)&s, sizeof(s), o);
*p = x;
}
void __sanitizer_unaligned_store32(uu32 *p, u32 x) {
- u32 s = __msan_param_tls[1];
+ u32 s = *(uu32 *)&__msan_param_tls[1];
*(uu32 *)MEM_TO_SHADOW((uptr)p) = s;
if (s && __msan_get_track_origins())
if (uu32 o = __msan_param_origin_tls[2])
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17371.48649.patch
Type: text/x-patch
Size: 1444 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160222/da3d2903/attachment.bin>
More information about the llvm-commits
mailing list