libbacktrace: treat EACCESS like ENOENT

libbacktrace/
	PR go/95061
	* posix.c (backtrace_open): Treat EACCESS like ENOENT.
This commit is contained in:
Ian Lance Taylor 2020-05-13 10:18:45 -07:00
parent 287552950d
commit 702adbb2ff
2 changed files with 11 additions and 1 deletions

View File

@ -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

View File

@ -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);