[compiler-rt] r235944 - [asan] Fix ASan build on Android/AArch64.

Alexey Samsonov vonosmas at gmail.com
Mon Apr 27 17:27:46 PDT 2015


On Mon, Apr 27, 2015 at 4:49 PM, Evgeniy Stepanov <eugeni.stepanov at gmail.com
> wrote:

> Author: eugenis
> Date: Mon Apr 27 18:49:39 2015
> New Revision: 235944
>
> URL: http://llvm.org/viewvc/llvm-project?rev=235944&view=rev
> Log:
> [asan] Fix ASan build on Android/AArch64.
>
> The build for aarch64 is not enabled in cmake/config-ix.cmake yet.
>
> Modified:
>     compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt
>
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt?rev=235944&r1=235943&r2=235944&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt Mon Apr 27
> 18:49:39 2015
> @@ -119,7 +119,7 @@ append_have_file_definition(tirpc/rpc/xd
>  set(SANITIZER_CFLAGS ${SANITIZER_COMMON_CFLAGS})
>  append_no_rtti_flag(SANITIZER_CFLAGS)
>
> -append_list_if(SANITIZER_LIMIT_FRAME_SIZE -Wframe-larger-than=512
> +append_list_if(SANITIZER_LIMIT_FRAME_SIZE -Wframe-larger-than=570
>

^^
Maybe, we can improve the problematic function?


>                 SANITIZER_CFLAGS)
>  append_list_if(COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG
> -Wglobal-constructors
>                 SANITIZER_CFLAGS)
>
> Modified:
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h?rev=235944&r1=235943&r2=235944&view=diff
>
> ==============================================================================
> ---
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
> (original)
> +++
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform_limits_posix.h
> Mon Apr 27 18:49:39 2015
> @@ -321,7 +321,7 @@ namespace __sanitizer {
>      long pw_change;
>      char *pw_class;
>  #endif
> -#if !SANITIZER_ANDROID
> +#if !(SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 32))
>      char *pw_gecos;
>  #endif
>      char *pw_dir;
> @@ -383,7 +383,7 @@ namespace __sanitizer {
>    };
>  #endif
>
> -#if SANITIZER_ANDROID || SANITIZER_MAC || SANITIZER_FREEBSD
> +#if SANITIZER_MAC || SANITIZER_FREEBSD
>    struct __sanitizer_msghdr {
>      void *msg_name;
>      unsigned msg_namelen;
> @@ -520,6 +520,27 @@ namespace __sanitizer {
>  #endif
>
>    // Linux system headers define the 'sa_handler' and 'sa_sigaction'
> macros.
> +#if SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 64)
> +  struct __sanitizer_sigaction {
> +    unsigned sa_flags;
> +    union {
> +      void (*sigaction)(int sig, void *siginfo, void *uctx);
> +      void (*handler)(int sig);
> +    };
> +    __sanitizer_sigset_t sa_mask;
> +    void (*sa_restorer)();
> +  };
> +#elif SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 32)
> +  struct __sanitizer_sigaction {
> +    union {
> +      void (*sigaction)(int sig, void *siginfo, void *uctx);
> +      void (*handler)(int sig);
> +    };
> +    __sanitizer_sigset_t sa_mask;
> +    uptr sa_flags;
> +    void (*sa_restorer)();
> +  };
> +#else // !SANITIZER_ANDROID
>    struct __sanitizer_sigaction {
>  #if defined(__mips__) && !SANITIZER_FREEBSD
>      unsigned int sa_flags;
> @@ -544,6 +565,7 @@ namespace __sanitizer {
>      int sa_resv[1];
>  #endif
>    };
> +#endif // !SANITIZER_ANDROID
>
>  #if SANITIZER_FREEBSD
>    typedef __sanitizer_sigset_t __sanitizer_kernel_sigset_t;
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



-- 
Alexey Samsonov
vonosmas at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150427/7c879a88/attachment.html>


More information about the llvm-commits mailing list