http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55292
Bug #: 55292 Summary: libsanitizer doesn't support x32 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com sanitizer_common/sanitizer_linux.cc has void *internal_mmap(void *addr, uptr length, int prot, int flags, int fd, u64 offset) { #if __WORDSIZE == 64 return (void *)syscall(__NR_mmap, addr, length, prot, flags, fd, offset); #else return (void *)syscall(__NR_mmap2, addr, length, prot, flags, fd, offset); #endif } uptr internal_filesize(fd_t fd) { #if __WORDSIZE == 64 struct stat st; if (syscall(__NR_fstat, fd, &st)) return -1; #else struct stat64 st; if (syscall(__NR_fstat64, fd, &st)) return -1; #endif return (uptr)st.st_size; } They are incorrect for x32.