libbacktrace patch committed: Replace lstat and readlink if not available
Ian Lance Taylor
iant@golang.org
Fri Sep 22 13:38:00 GMT 2017
This patch to libbacktrace provides dummy versions of lstat and
readlink if they are not available on the system. Bootstrapped and
ran libbacktrace tests on x86_64-pc-linux-gnu both normally and with a
hand-edited config.h. Committed to mainline.
Ian
2017-09-22 Ian Lance Taylor <iant@golang.org>
PR sanitizer/77631
* configure.ac: Check for lstat and readlink.
* elf.c (lstat, readlink): Provide dummy versions if real versions
are not available.
* configure, config.h.in: Rebuild.
-------------- next part --------------
Index: configure.ac
===================================================================
--- configure.ac (revision 253093)
+++ configure.ac (working copy)
@@ -373,6 +373,7 @@ if test "$have_fcntl" = "yes"; then
fi
AC_CHECK_DECLS(strnlen)
+AC_CHECK_FUNCS(lstat readlink)
# Check for getexecname function.
if test -n "${with_target_subdir}"; then
Index: elf.c
===================================================================
--- elf.c (revision 253093)
+++ elf.c (working copy)
@@ -75,6 +75,35 @@ xstrnlen (const char *s, size_t maxlen)
#endif
+#ifndef HAVE_LSTAT
+
+/* Dummy version of lstat for systems that don't have it. */
+
+static int
+xlstat (const char *path ATTRIBUTE_UNUSED, struct stat *st ATTRIBUTE_UNUSED)
+{
+ return -1;
+}
+
+#define lstat xlstat
+
+#endif
+
+#ifndef HAVE_READLINK
+
+/* Dummy version of readlink for systems that don't have it. */
+
+static ssize_t
+xreadlink (const char *path ATTRIBUTE_UNUSED, char *buf ATTRIBUTE_UNUSED,
+ size_t bufsz ATTRIBUTE_UNUSED)
+{
+ return -1;
+}
+
+#define readlink xreadlink
+
+#endif
+
#ifndef HAVE_DL_ITERATE_PHDR
/* Dummy version of dl_iterate_phdr for systems that don't have it. */
More information about the Gcc-patches
mailing list