[Sanitizers] Fix sanitizer_linux_libcdep.cc compilation on Solaris
authorRainer Orth <ro@gcc.gnu.org>
Fri, 5 Apr 2019 08:40:08 +0000 (08:40 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Fri, 5 Apr 2019 08:40:08 +0000 (08:40 +0000)
commita0524521eafee30e3bd809033e93cc2f1efd8b83
treee6171a842c951d64c705af892c0db18e0256ca21
parent4a6dd1e68351b7f6bac5d2818addf7e1550d910d
[Sanitizers] Fix sanitizer_linux_libcdep.cc compilation on Solaris

Both LLVM 8.0.0 and current trunk fail to compile on Solaris 11/x86 with
GCC 8.1.0:

  /vol/llvm/src/llvm/dist/projects/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc: In function ‘void __sanitizer::ReExec()’:
  /vol/llvm/src/llvm/dist/projects/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc:831:14: error: ‘getexecname’ was not declared in this scope
     pathname = getexecname();
                ^~~~~~~~~~~
  /vol/llvm/src/llvm/dist/projects/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc:831:14: note: suggested alternative: ‘gethostname’
     pathname = getexecname();
                ^~~~~~~~~~~
                gethostname

This is easily fixed by including <stdlib.h> which declares that function.
With that patch, compilation continues.

Differential Revision: https://reviews.llvm.org/D60044

llvm-svn: 357751
compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc