diff options
author | Ian Lance Taylor <iant@google.com> | 2012-10-26 20:08:29 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2012-10-26 20:08:29 +0000 |
commit | 73f4149137364da5b6d1238720b7fc21226b5b27 (patch) | |
tree | 19f70c7335db3f471b050d0ffdf8011662c823c7 /libbacktrace/posix.c | |
parent | 9430b7bad813a444e6a7e35d6b5f92d2b99f40cf (diff) | |
download | gcc-73f4149137364da5b6d1238720b7fc21226b5b27.tar.gz |
re PR other/55087 (bogus "linux-vdso.so.1: No such file or directory" caused by libbacktrace)
PR other/55087
* posix.c (backtrace_open): Add does_not_exist parameter.
* elf.c (phdr_callback): Do not warn if shared library could not
be opened.
* fileline.c (fileline_initialize): Update calls to
backtrace_open.
* internal.h (backtrace_open): Update declaration.
From-SVN: r192861
Diffstat (limited to 'libbacktrace/posix.c')
-rw-r--r-- | libbacktrace/posix.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libbacktrace/posix.c b/libbacktrace/posix.c index 01afc42b08e..4d6c852b781 100644 --- a/libbacktrace/posix.c +++ b/libbacktrace/posix.c @@ -57,14 +57,20 @@ POSSIBILITY OF SUCH DAMAGE. */ int backtrace_open (const char *filename, backtrace_error_callback error_callback, - void *data) + void *data, int *does_not_exist) { int descriptor; + if (does_not_exist != NULL) + *does_not_exist = 0; + descriptor = open (filename, O_RDONLY | O_BINARY | O_CLOEXEC); if (descriptor < 0) { - error_callback (data, filename, errno); + if (does_not_exist != NULL && errno == ENOENT) + *does_not_exist = 1; + else + error_callback (data, filename, errno); return -1; } |