about summary refs log tree commit diff
path: root/include/sys
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-07-16 16:46:52 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-10-09 17:02:06 -0300
commit589260cef8c2090d67d3deaa0a9ffa61c96de951 (patch)
tree2d5d93b03e7a0e69527f06627b91f88315cb506d /include/sys
parent8ed005daf0ab03e142500324a34087ce179ae78e (diff)
downloadglibc-589260cef8c2090d67d3deaa0a9ffa61c96de951.tar.gz
glibc-589260cef8c2090d67d3deaa0a9ffa61c96de951.tar.xz
glibc-589260cef8c2090d67d3deaa0a9ffa61c96de951.zip
Remove mknod wrapper functions, move them to symbols
This patch removes the mknod and mknodat static wrapper and add the
symbols on the libc with the expected names.

Both the prototypes of the internal symbol linked by the static
wrappers and the inline redirectors are also removed from the installed
sys/stat.h header file.  The wrapper implementation license LGPL
exception is also removed since it is no longer statically linked to
binaries.

Internally the _STAT_VER* definitions are moved to the arch-specific
xstatver.h file.

Checked with a build for all affected ABIs. I also checked on x86_64,
i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x.

Reviewed-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/stat.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/include/sys/stat.h b/include/sys/stat.h
index 061204b1fc..1f832f6ce8 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -29,14 +29,18 @@ libc_hidden_proto (fchmodat)
 extern __mode_t __umask (__mode_t __mask);
 extern int __mkdir (const char *__path, __mode_t __mode);
 libc_hidden_proto (__mkdir)
+
+extern int __mknodat (int fd, const char *path, mode_t mode, dev_t dev);
+libc_hidden_proto (__mknodat);
 extern int __mknod (const char *__path,
 		    __mode_t __mode, __dev_t __dev);
+libc_hidden_proto (__mknod);
+
+extern int __xmknod (int __ver, const char *__path, __mode_t __mode,
+		     __dev_t *__dev);
 libc_hidden_proto (__xmknod)
-extern __inline__ int __mknod (const char *__path, __mode_t __mode,
-			       __dev_t __dev)
-{
-  return __xmknod (_MKNOD_VER, __path, __mode, &__dev);
-}
+extern int __xmknodat (int __ver, int __fd, const char *__path,
+		       __mode_t __mode, __dev_t *__dev);
 libc_hidden_proto (__xmknodat)
 
 int __fxstat (int __ver, int __fildes, struct stat *__stat_buf);