diff options
author | Ian Lance Taylor <iant@golang.org> | 2020-05-13 10:18:45 -0700 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2020-05-13 10:19:58 -0700 |
commit | 702adbb2fff0cc043f9c4e1af890421cb238cd18 (patch) | |
tree | 9d07ba81878c32eabc9010447a24b9a1b48ab1c7 /libbacktrace | |
parent | 287552950d56be47adb6b6bf2eae2d612233eaec (diff) | |
download | gcc-702adbb2fff0cc043f9c4e1af890421cb238cd18.zip gcc-702adbb2fff0cc043f9c4e1af890421cb238cd18.tar.gz gcc-702adbb2fff0cc043f9c4e1af890421cb238cd18.tar.bz2 |
libbacktrace: treat EACCESS like ENOENT
libbacktrace/
PR go/95061
* posix.c (backtrace_open): Treat EACCESS like ENOENT.
Diffstat (limited to 'libbacktrace')
-rw-r--r-- | libbacktrace/ChangeLog | 6 | ||||
-rw-r--r-- | libbacktrace/posix.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index 9668906..89b690d 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,9 @@ +2020-05-13 Ian Lance Taylor <iant@golang.org> + + PR go/95061 + * posix.c (backtrace_open): Treat EACCESS like ENOENT. + +2020-05-12 H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (AM_CFLAGS): Add $(CET_HOST_FLAGS). * configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and diff --git a/libbacktrace/posix.c b/libbacktrace/posix.c index 356e72b..a2c88dd 100644 --- a/libbacktrace/posix.c +++ b/libbacktrace/posix.c @@ -67,7 +67,11 @@ backtrace_open (const char *filename, backtrace_error_callback error_callback, descriptor = open (filename, (int) (O_RDONLY | O_BINARY | O_CLOEXEC)); if (descriptor < 0) { - if (does_not_exist != NULL && errno == ENOENT) + /* If DOES_NOT_EXIST is not NULL, then don't call ERROR_CALLBACK + if the file does not exist. We treat lacking permission to + open the file as the file not existing; this case arises when + running the libgo syscall package tests as root. */ + if (does_not_exist != NULL && (errno == ENOENT || errno == EACCES)) *does_not_exist = 1; else error_callback (data, filename, errno); |