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.

Reply via email to