Index: test/sanitizer_common/android_commands/android_run.py =================================================================== --- test/sanitizer_common/android_commands/android_run.py +++ test/sanitizer_common/android_commands/android_run.py @@ -13,7 +13,7 @@ # Android linker ignores RPATH. Set LD_LIBRARY_PATH to Output dir. args.append('LD_LIBRARY_PATH=%s' % (ANDROID_TMPDIR,)) for (key, value) in os.environ.items(): - if key in ['ASAN_OPTIONS', 'ASAN_ACTIVATION_OPTIONS']: + if key in ['ASAN_OPTIONS', 'ASAN_ACTIVATION_OPTIONS', 'SCUDO_OPTIONS']: args.append('%s="%s"' % (key, value)) return ' '.join(args) Index: test/scudo/lit.cfg =================================================================== --- test/scudo/lit.cfg +++ test/scudo/lit.cfg @@ -32,7 +32,7 @@ c_flags += ["-lrt"] def build_invocation(compile_flags): - return " " + " ".join([config.clang] + compile_flags) + " " + return " " + " ".join([config.compile_wrapper, config.clang] + compile_flags) + " " # Add clang substitutions. config.substitutions.append(("%clang_scudo ", Index: test/scudo/lit.site.cfg.in =================================================================== --- test/scudo/lit.site.cfg.in +++ test/scudo/lit.site.cfg.in @@ -3,7 +3,6 @@ config.name_suffix = "@SCUDO_TEST_CONFIG_SUFFIX@" config.target_arch = "@SCUDO_TEST_TARGET_ARCH@" config.target_cflags = "@SCUDO_TEST_TARGET_CFLAGS@" -config.android = "@ANDROID@" # Load common config for all compiler-rt lit tests. lit_config.load_config(config, "@COMPILER_RT_BINARY_DIR@/test/lit.common.configured") Index: test/scudo/preinit.cpp =================================================================== --- test/scudo/preinit.cpp +++ test/scudo/preinit.cpp @@ -4,6 +4,10 @@ // Verifies that calling malloc in a preinit_array function succeeds, and that // the resulting pointer can be freed at program termination. +// On some Android versions, calling mmap() from a preinit function segfaults. +// It looks like __mmap2.S ends up calling a NULL function pointer. +// UNSUPPORTED: android + #include #include #include