Hi Dmitry, The internal_clone function is called from "StopTheWorld" in "sanitizer_stoptheworld_linux_libcdep.cc" under GCC trunk.
When I tired to use the built executable with tsan, I got a link error, /work/GCC_Team/vekumar/tsan/install-trunk/lib/gcc/aarch64-unknown-linux-gnu/5.0.0/../../../../lib64/libtsan.so: undefined reference to `__sanitizer::StopTheWorld(void (__sanitizer::SuspendedThreadsList const&, void*), void*)' collect2: error: ld returned 1 exit status The whole file sanitizer_stoptheworld_linux_libcdep.cc. is conditionally compiled with #if SANITIZER_LINUX && defined(__x86_64__) #endif On enabling this for Aarch64, I need to define my own internel_clone function for Aarch64. regards, Venkat. On 19 January 2015 at 14:00, Dmitry Vyukov <[email protected]> wrote: > On Mon, Jan 19, 2015 at 11:17 AM, Venkataramanan Kumar > <[email protected]> wrote: >> Hi Dmitry, >> >> I am seeing some internal_syscalls like internel_clone, internal_mmap >> written for x86_64 and I am trying to duplicate them for Aarch64. >> >> Have you been seeing this done for MIPS port in LLVM? >> >> regards, >> Venkat, > > > +address-sanitizer group > > Hi Venkat, > > I am sure that asan works on several arches other than x86_64. So > there must be some support for such ports. > Can't find internel_clone function, where is it defined? > > For simpler syscalls we do: > > #include <sys/syscall.h> > > uptr internal_read(fd_t fd, void *buf, uptr count) { > sptr res; > HANDLE_EINTR(res, (sptr)internal_syscall(SYSCALL(read), fd, (uptr)buf, > count)); > return res; > } > > I think it should work for aarch64 as well. > > Do you see any concrete issues, compilation errors or difficulties with > porting? -- You received this message because you are subscribed to the Google Groups "address-sanitizer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
