Each member of __msan_retval_tls is of type u64, so assignment of smaller type will be different in each endian.
Details
Details
- Reviewers
kcc samsonov eugenis - Commits
- rG8b1075e553ed: Merging r261513: --------------------------------------------------------------…
rG452417ac12cc: [MSan] Make unaligned load/store functions compatible for both endians
rCRT261513: [MSan] Make unaligned load/store functions compatible for both endians
rL261513: [MSan] Make unaligned load/store functions compatible for both endians
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
This is not right, you can not read uu64 from uu16* in general.
The right way is to mirror what the instrumentation does, i.e.
*(uu16 *)&__msan_retval_tls = *(uu16 *)MEM_TO_SHADOW((uptr)p);