summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-12-20 20:36:33 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2018-12-20 20:36:33 +0000
commit3b7e8b2dbb1213d35917556f3e917d7add583506 (patch)
tree03bee44ce244fd729229c6bc02bf512be5741c7c /compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc
parent0e44ffdb0e672e1be6ee393c79c557b575585799 (diff)
downloadbcm5719-llvm-3b7e8b2dbb1213d35917556f3e917d7add583506.tar.gz
bcm5719-llvm-3b7e8b2dbb1213d35917556f3e917d7add583506.zip
[sanitizer] Support running without fd 0,1,2.
Summary: Support running with no open file descriptors (as may happen to "init" process on linux). * Remove a check that writing to stderr succeeds. * When opening a file (ex. for log_path option), dup the new fd out of [0, 2] range to avoid confusing the program. (2nd attempt, this time without the sanitizer_rtems change) Reviewers: pcc, vitalybuka Subscribers: kubamracek, llvm-commits Differential Revision: https://reviews.llvm.org/D55801 llvm-svn: 349817
Diffstat (limited to 'compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc')
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc b/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc
index 9d0c3d93d44..cc0201c7a37 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc
@@ -88,8 +88,8 @@ uptr internal_open(const char *filename, int flags, u32 mode) {
}
uptr OpenFile(const char *filename, bool write) {
- return internal_open(filename,
- write ? O_WRONLY | O_CREAT : O_RDONLY, 0660);
+ return ReserveStandardFds(
+ internal_open(filename, write ? O_WRONLY | O_CREAT : O_RDONLY, 0660));
}
DECLARE__REAL_AND_INTERNAL(uptr, read, fd_t fd, void *buf, uptr count) {
OpenPOWER on IntegriCloud