summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2018-09-12 16:36:05 -0700
committerGitHub <noreply@github.com>2018-09-12 16:36:05 -0700
commit98344a4f2f09ddae295352ec54fae6388446eeaf (patch)
treef66682c665d5298abdd9bb2dc60caae5fa5040e7 /configure.ac
parent0aef909d630ff40614cde0c58796a8bdf66c67eb (diff)
downloadcpython-git-98344a4f2f09ddae295352ec54fae6388446eeaf.tar.gz
closes bpo-34652: Always disable lchmod on Linux. (GH-9234)
(cherry picked from commit 40caa05fa4d1810a1a6bfc34e0ec930c351089b7) Co-authored-by: Benjamin Peterson <benjamin@python.org>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac7
1 files changed, 7 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 2b8aa4d592..d7e0de3a32 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3519,6 +3519,13 @@ AC_CHECK_FUNCS(alarm accept4 setitimer getitimer bind_textdomain_codeset chown \
truncate uname unlinkat unsetenv utimensat utimes waitid waitpid wait3 wait4 \
wcscoll wcsftime wcsxfrm wmemcmp writev _getpty)
+# Force lchmod off for Linux. Linux disallows changing the mode of symbolic
+# links. Some libc implementations have a stub lchmod implementation that always
+# returns an error.
+if test "$MACHDEP" != linux; then
+ AC_CHECK_FUNC(lchmod)
+fi
+
AC_CHECK_DECL(dirfd,
AC_DEFINE(HAVE_DIRFD, 1,
Define if you have the 'dirfd' function or macro.), ,