summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2018-08-21 11:24:12 +0200
committerFlorian Weimer <fweimer@redhat.com>2018-08-21 11:24:12 +0200
commitef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80 (patch)
tree0f6874cd41d4de6c64f010c1fffebc8526e43d1c
parent88ffb39dc664bfec391c4d927f8c2145141bb7f0 (diff)
downloadglibc-ef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80.tar.gz
__readlink_chk: Remove micro-optimization
-rw-r--r--ChangeLog5
-rw-r--r--debug/readlink_chk.c4
-rw-r--r--sysdeps/unix/sysv/linux/generic/readlink_chk.c33
3 files changed, 5 insertions, 37 deletions
diff --git a/ChangeLog b/ChangeLog
index 3807de147b..408d7356ad 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-08-21 Florian Weimer <fweimer@redhat.com>
+
+ * debug/readlink_chk.c (__readlink_chk): Always call __readlink.
+ * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove file.
+
2018-08-20 Florian Weimer <fweimer@redhat.com>
* sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove
diff --git a/debug/readlink_chk.c b/debug/readlink_chk.c
index c44d1d8c37..e3204004d2 100644
--- a/debug/readlink_chk.c
+++ b/debug/readlink_chk.c
@@ -29,9 +29,5 @@ __readlink_chk (const char *path, void *buf, size_t len, size_t buflen)
if (len > buflen)
__chk_fail ();
-#ifdef HAVE_INLINED_SYSCALLS
- return INLINE_SYSCALL (readlink, 3, path, buf, len);
-#else
return __readlink (path, buf, len);
-#endif
}
diff --git a/sysdeps/unix/sysv/linux/generic/readlink_chk.c b/sysdeps/unix/sysv/linux/generic/readlink_chk.c
deleted file mode 100644
index 52d1f5b522..0000000000
--- a/sysdeps/unix/sysv/linux/generic/readlink_chk.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2011-2018 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library. If not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/param.h>
-# include <errno.h>
-# include <sysdep.h>
-
-
-ssize_t
-__readlink_chk (const char *path, void *buf, size_t len, size_t buflen)
-{
- if (len > buflen)
- __chk_fail ();
-
- return INLINE_SYSCALL_CALL (readlinkat, AT_FDCWD, path, buf, len);
-}