From: Adhemerval Zanella Netto Date: Wed, 19 Oct 2022 22:14:13 +0000 (-0300) Subject: Linux: consolidate mkdir implementation X-Git-Tag: glibc-2.37~110 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccb9215dbe414207d9ee63bb85e9fa6daac4f641;p=thirdparty%2Fglibc.git Linux: consolidate mkdir implementation Use mkdir syscall if defined, otherwise use mkdirat. Checked on x86_64-linux-gnu. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell --- diff --git a/sysdeps/unix/sysv/linux/generic/mkdir.c b/sysdeps/unix/sysv/linux/mkdir.c similarity index 79% rename from sysdeps/unix/sysv/linux/generic/mkdir.c rename to sysdeps/unix/sysv/linux/mkdir.c index f64fbd61765..a3653210fb8 100644 --- a/sysdeps/unix/sysv/linux/generic/mkdir.c +++ b/sysdeps/unix/sysv/linux/mkdir.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2011-2022 Free Software Foundation, Inc. +/* Create a directory. Linux version. + Copyright (C) 2011-2022 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,19 +16,19 @@ License along with the GNU C Library. If not, see . */ -#include -#include -#include #include #include -#include - +#include /* Create a directory named PATH with protections MODE. */ int __mkdir (const char *path, mode_t mode) { - return INLINE_SYSCALL (mkdirat, 3, AT_FDCWD, path, mode); +#ifdef __NR_mkdir + return INLINE_SYSCALL_CALL (mkdir, path, mode); +#else + return INLINE_SYSCALL_CALL (mkdirat, AT_FDCWD, path, mode); +#endif } libc_hidden_def (__mkdir)