[compiler-rt] r251447 - [asan] On OS X, log reports to syslog and os_trace
Anna Zaks via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 27 16:35:29 PDT 2015
Thanks for helping out!!!
Could you apply the following on top of that:
diff --git a/lib/sanitizer_common/sanitizer_common_nolibc.cc b/lib/sanitizer_common/sanitizer_common_nolibc.cc
index 65d1e37..4115167 100644
--- a/lib/sanitizer_common/sanitizer_common_nolibc.cc
+++ b/lib/sanitizer_common/sanitizer_common_nolibc.cc
@@ -17,10 +17,8 @@
namespace __sanitizer {
-#if SANITIZER_LINUX
void WriteToSyslog(const char *buffer) {}
-#endif
-
+bool ShouldLogAfterPrintf() { return false; }
void Abort() { internal__exit(1); }
} // namespace __sanitizer
> On Oct 27, 2015, at 4:28 PM, H.J. Lu <hjl.tools at gmail.com> wrote:
>
> On Tue, Oct 27, 2015 at 3:57 PM, Kuba Brecka <jbrecka at apple.com> wrote:
>> It caused:
>>
>> /tmp/gotsan.wmNri3GVMz/race_linux_amd64.syso: In function
>> `__sanitizer::SharedPrintfCode(bool, char const*, __va_list_tag*)':
>> gotsan.cc:(.text+0x4a85): undefined reference to
>> `__sanitizer::WriteToSyslog(char const*)'
>> collect2: error: ld returned 1 exit status
>> @
>>
>> on Fedora 22.
>>
>>
>> It looks like the issue is in lib/tsan/go/buildgo.sh, which doesn’t even
>> build sanitizer_common_libcdep.cc...
>>
>> Could you try adding it to buildgo.sh’s list of Linux sources? If the fix
>> is not that easy, we can revert this patch, but since this looks like it’s a
>> Go-specific Linux-specific failure, it would be great if you could help us
>> with triaging the failure.
>>
>> Thanks,
>> Kuba
>>
>
> After applying:
>
> diff --git a/lib/tsan/go/buildgo.sh b/lib/tsan/go/buildgo.sh
> index a7e12f1..f34b23c 100755
> --- a/lib/tsan/go/buildgo.sh
> +++ b/lib/tsan/go/buildgo.sh
> @@ -40,6 +40,7 @@ if [ "`uname -a | grep Linux`" != "" ]; then
> SRCS="
> $SRCS
> ../rtl/tsan_platform_linux.cc
> + ../../sanitizer_common/sanitizer_common_libcdep.cc
> ../../sanitizer_common/sanitizer_posix.cc
> ../../sanitizer_common/sanitizer_posix_libcdep.cc
> ../../sanitizer_common/sanitizer_procmaps_common.cc
>
Also, I think we should unconditionally include sanitizer_common_libcdep.cc like this. (But the error below is unrelated.)
diff --git a/lib/tsan/go/buildgo.sh b/lib/tsan/go/buildgo.sh
index a7e12f1..8c89d8f 100755
--- a/lib/tsan/go/buildgo.sh
+++ b/lib/tsan/go/buildgo.sh
@@ -20,6 +20,7 @@ SRCS="
../rtl/tsan_sync.cc
../../sanitizer_common/sanitizer_allocator.cc
../../sanitizer_common/sanitizer_common.cc
+ ../../sanitizer_common/sanitizer_common_libcdep.cc
../../sanitizer_common/sanitizer_deadlock_detector2.cc
../../sanitizer_common/sanitizer_flag_parser.cc
../../sanitizer_common/sanitizer_flags.cc
> I got
>
> libRTSanitizerCommon.test.nolibc.x86_64.a(sanitizer_printf.cc.o): In
> function `__sanitizer::SharedPrintfCode(bool, char const*,
> __va_list_tag*)':
> /export/gnu/import/git/llvm/projects/compiler-rt/lib/sanitizer_common/sanitizer_printf.cc:281:
> undefined reference to `__sanitizer::ShouldLogAfterPrintf()'
> clang-3.8: error: linker command failed with exit code 1 (use -v to
> see invocation)
> projects/compiler-rt/lib/sanitizer_common/tests/CMakeFiles/Sanitizer-x86_64-Test-Nolibc.dir/build.make:59:
> recipe for target
> 'projects/compiler-rt/lib/sanitizer_common/tests/CMakeFiles/Sanitizer-x86_64-Test-Nolibc'
> failed
> gmake[4]: *** [projects/compiler-rt/lib/sanitizer_common/tests/CMakeFiles/Sanitizer-x86_64-Test-Nolibc]
> Error 1
>
>
>
> --
> H.J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151027/98d2b00d/attachment.html>
More information about the llvm-commits
mailing list