Sorry for bothering you many times. I carelessly considered this is the problem only for 32bit big-endian, but it also affects 64bit machines. A trivial example is the case where a return value of a syscall is int32_t.
On 2016/06/07 5:46, Rin Okuyama wrote:
Note that -fsanitize=address is not yet working on 32bit big-endian machines, although it does not fall into SEGV. For example, Report() does not work as return values of __syscall(SYS_write) and strlen(3) are not consistent due to a similar problem to (2). Should we use syscall(2) rather than __syscall(2) on 32bit environments except for syscalls whose return values are 64bit? Or any other ideas? Thanks, Rin