From ccb9215dbe414207d9ee63bb85e9fa6daac4f641 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Netto Date: Wed, 19 Oct 2022 19:14:13 -0300 Subject: [PATCH] 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 --- sysdeps/unix/sysv/linux/{generic => }/mkdir.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) rename sysdeps/unix/sysv/linux/{generic => }/mkdir.c (79%) 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 f64fbd6176..a3653210fb 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)