[compiler-rt] r357753 - [Sanitizers] Provide __internal_dup on Solaris
Rainer Orth via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 5 01:42:21 PDT 2019
Author: ro
Date: Fri Apr 5 01:42:21 2019
New Revision: 357753
URL: http://llvm.org/viewvc/llvm-project?rev=357753&view=rev
Log:
[Sanitizers] Provide __internal_dup on Solaris
Both LLVM 8.0.0 and current trunk fail to link libclang_rt.ubsan.standalone-*.so
on Solaris 11/x86 with GCC 8.1.0:
Undefined first referenced
symbol in file
Scanning dependencies of target clang_rt.asan_cxx-x86_64
__sanitizer::internal_dup(int) ../sanitizer_common/CMakeFiles/RTSanitizerCommon.i386.dir/sanitizer_posix.cc.o
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
make[2]: *** [projects/compiler-rt/lib/ubsan/CMakeFiles/clang_rt.ubsan_standalone-dynamic-i386.dir/build.make:233: lib/clang/9.0.0/lib/sunos/libclang_rt.ubsan_standalone-i386.so] Error 1
Fixed by providing an implementation, which allowed the i386-pc-solaris2.11 build
to finish.
Differential Revision: https://reviews.llvm.org/D60045
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_solaris.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_solaris.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_solaris.cc?rev=357753&r1=357752&r2=357753&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_solaris.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_solaris.cc Fri Apr 5 01:42:21 2019
@@ -125,6 +125,10 @@ uptr internal_filesize(fd_t fd) {
return (uptr)st.st_size;
}
+DECLARE__REAL_AND_INTERNAL(uptr, dup, int oldfd) {
+ return _REAL(dup)(oldfd);
+}
+
DECLARE__REAL_AND_INTERNAL(uptr, dup2, int oldfd, int newfd) {
return _REAL(dup2)(oldfd, newfd);
}
More information about the llvm-commits
mailing list