mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-01-10 01:55:08 +00:00
[MSan] Endianness should not matter while printing a byte
Reviewers: eugenis Subscribers: jaydeep, sagar, llvm-commits Differential Revision: http://reviews.llvm.org/D17264 Differential Revision: http://reviews.llvm.org/D17563 llvm-svn: 261982
This commit is contained in:
parent
5539f852ae
commit
fac2e248c4
@ -462,13 +462,8 @@ void __msan_dump_shadow(const void *x, uptr size) {
|
||||
}
|
||||
|
||||
unsigned char *s = (unsigned char*)MEM_TO_SHADOW(x);
|
||||
for (uptr i = 0; i < size; i++) {
|
||||
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
Printf("%x%x ", s[i] & 0xf, s[i] >> 4);
|
||||
#else
|
||||
for (uptr i = 0; i < size; i++)
|
||||
Printf("%x%x ", s[i] >> 4, s[i] & 0xf);
|
||||
#endif
|
||||
}
|
||||
Printf("\n");
|
||||
}
|
||||
|
||||
|
@ -221,11 +221,7 @@ void DescribeMemoryRange(const void *x, uptr size) {
|
||||
} else {
|
||||
unsigned char v = *(unsigned char *)s;
|
||||
if (v) last_quad_poisoned = true;
|
||||
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
Printf("%x%x", v & 0xf, v >> 4);
|
||||
#else
|
||||
Printf("%x%x", v >> 4, v & 0xf);
|
||||
#endif
|
||||
}
|
||||
// Group end.
|
||||
if (pos % 4 == 3 && with_origins) {
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
int main(void) {
|
||||
unsigned long long x = 0; // For 8-byte alignment.
|
||||
uint32_t x_s = 0x12345678U;
|
||||
char x_s[4] = {0x87, 0x65, 0x43, 0x21};
|
||||
__msan_partial_poison(&x, &x_s, sizeof(x_s));
|
||||
__msan_print_shadow(&x, sizeof(x_s));
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user