This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add probes for openat, unlinkat, renameat, linkat and fchmodat
authorTony Cook <tony@develop-help.com>
Mon, 12 Dec 2016 03:26:30 +0000 (14:26 +1100)
committerTony Cook <tony@develop-help.com>
Mon, 11 Sep 2017 00:59:43 +0000 (10:59 +1000)
15 files changed:
Configure
Cross/config.sh-arm-linux
NetWare/config.wc
Porting/Glossary
Porting/config.sh
config_h.SH
configure.com
plan9/config_sh.sample
symbian/config.sh
uconfig.h
uconfig.sh
uconfig64.sh
win32/config.ce
win32/config.gc
win32/config.vc

index bdcfaf1..3736fae 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -383,6 +383,11 @@ d_alarm=''
 asctime_r_proto=''
 d_asctime_r=''
 d_asinh=''
+d_openat=''
+d_unlinkat=''
+d_renameat=''
+d_linkat=''
+d_fchmodat=''
 d_atanh=''
 d_attribute_deprecated=''
 d_attribute_format=''
@@ -19769,6 +19774,22 @@ esac
 set strxfrm d_strxfrm
 eval $inlibc
 
+: check for openat, unlinkat, renameat, linkat, fchmodat
+set openat d_openat
+eval $inlibc
+
+set unlinkat d_unlinkat
+eval $inlibc
+
+set renameat d_renameat
+eval $inlibc
+
+set linkat d_linkat
+eval $inlibc
+
+set fchmodat d_fchmodat
+eval $inlibc
+
 : see if symlink exists
 set symlink d_symlink
 eval $inlibc
@@ -24445,6 +24466,11 @@ d_asctime64='$d_asctime64'
 d_asctime_r='$d_asctime_r'
 d_asinh='$d_asinh'
 d_atanh='$d_atanh'
+d_openat='$d_openat'
+d_unlinkat='$d_unlinkat'
+d_renameat='$d_renameat'
+d_linkat='$d_linkat'
+d_fchmodat='$d_fchmodat'
 d_atolf='$d_atolf'
 d_atoll='$d_atoll'
 d_attribute_deprecated='$d_attribute_deprecated'
index 1477fb7..96a408d 100644 (file)
@@ -202,6 +202,7 @@ d_expm1='undef'
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
@@ -342,6 +343,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='define'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -420,6 +422,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -458,6 +461,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -606,6 +610,7 @@ d_ualarm='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='undef'
index 3150bcb..b4e501b 100644 (file)
@@ -190,6 +190,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -331,6 +332,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -409,6 +411,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -447,6 +450,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -596,6 +600,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index a94eaab..cabf016 100644 (file)
@@ -849,6 +849,10 @@ d_fchmod (d_fchmod.U):
        indicates to the C program that the fchmod() routine is available
        to change mode of opened files.
 
+d_fchmodat (d_fchmodat.U):
+       This variable conditionally defines the HAS_FCHMODAT symbol, which
+       indicates the POSIX fchmodat() function is available.
+
 d_fchown (d_fchown.U):
        This variable conditionally defines the HAS_FCHOWN symbol, which
        indicates to the C program that the fchown() routine is available
@@ -1525,6 +1529,10 @@ d_link (d_link.U):
        This variable conditionally defines HAS_LINK if link() is
        available to create hard links.
 
+d_linkat (d_linkat.U):
+       This variable conditionally defines the HAS_LINKAT symbol, which
+       indicates the POSIX linkat() function is available.
+
 d_llrint (d_llrint.U):
        This variable conditionally defines the HAS_LLRINT symbol, which
        indicates to the C program that the llrint() routine is available
@@ -1897,6 +1905,10 @@ d_open3 (d_open3.U):
        which indicates to the C program that the 3 argument version of
        the open(2) function is available.
 
+d_openat (d_openat.U):
+       This variable conditionally defines the HAS_OPENAT symbol, which
+       indicates the POSIX openat() function is available.
+
 d_pathconf (d_pathconf.U):
        This variable conditionally defines the HAS_PATHCONF symbol, which
        indicates to the C program that the pathconf() routine is available
@@ -2137,6 +2149,10 @@ d_rename (d_rename.U):
        indicates to the C program that the rename() routine is available
        to rename files.
 
+d_renameat (d_renameat.U):
+       This variable conditionally defines the HAS_RENAMEAT symbol, which
+       indicates the POSIX renameat() function is available.
+
 d_rewinddir (d_readdir.U):
        This variable conditionally defines HAS_REWINDDIR if rewinddir() is
        available.
@@ -2821,6 +2837,10 @@ d_union_semun (d_union_semun.U):
        This variable conditionally defines HAS_UNION_SEMUN if the
        union semun is defined by including <sys/sem.h>.
 
+d_unlinkat (d_unlinkat.U):
+       This variable conditionally defines the HAS_UNLINKAT symbol, which
+       indicates the POSIX unlinkat() function isavailable.
+
 d_unordered (d_unordered.U):
        This variable conditionally defines the HAS_UNORDERED symbol, which
        indicates to the C program that the unordered() routine is available.
index 52a3b5a..178db06 100644 (file)
@@ -211,6 +211,7 @@ d_expm1='define'
 d_faststdio='define'
 d_fchdir='define'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='define'
 d_fcntl='define'
 d_fcntl_can_lock='define'
@@ -352,6 +353,7 @@ d_lgamma_r='define'
 d_libm_lib_version='undef'
 d_libname_unique='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='define'
 d_llrintl='define'
 d_llround='define'
@@ -430,6 +432,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -470,6 +473,7 @@ d_regcomp='define'
 d_remainder='define'
 d_remquo='define'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='define'
 d_rmdir='define'
@@ -619,6 +623,7 @@ d_ualarm='define'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='define'
 d_uselocale='define'
index e9b144f..da1a1f3 100755 (executable)
@@ -63,6 +63,31 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  */
 #$d_alarm HAS_ALARM            /**/
 
+/* HAS_OPENAT:
+ *     This symbol is defined if the openat() routine is available.
+ */
+#$d_openat HAS_OPENAT  /**/
+
+/* HAS_UNLINKAT:
+ *     This symbol is defined if the unlinkat() routine is available.
+ */
+#$d_unlinkat HAS_UNLINKAT      /**/
+
+/* HAS_RENAMEAT:
+ *     This symbol is defined if the renameat() routine is available.
+ */
+#$d_renameat HAS_RENAMEAT      /**/
+
+/* HAS_LINKAT:
+ *     This symbol is defined if the linkat() routine is available.
+ */
+#$d_linkat HAS_LINKAT  /**/
+
+/* HAS_FCHMODAT:
+ *     This symbol is defined if the fchmodat() routine is available.
+ */
+#$d_fchmodat HAS_FCHMODAT      /**/
+
 /* HAS_BCMP:
  *     This symbol is defined if the bcmp() routine is available to
  *     compare blocks of memory.
index f54722e..f76d8f7 100644 (file)
@@ -6246,6 +6246,11 @@ $ WC "d_oldarchlib='define'"
 $ WC "d_oldpthreads='" + d_oldpthreads + "'"
 $ WC "d_oldsock='undef'"
 $ WC "d_open3='define'"
+$ WC "d_openat='undef'"
+$ WC "d_unlinkat='undef'"
+$ WC "d_renameat='undef'"
+$ WC "d_linkat='undef'"
+$ WC "d_fchmodat='undef'"
 $ WC "d_pathconf='" + d_pathconf + "'"
 $ WC "d_pause='define'"
 $ WC "d_perl_otherlibdirs='undef'"
index 49a42ff..9ca482d 100644 (file)
@@ -202,6 +202,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='define'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='define'
 d_fcntl_can_lock='undef'
@@ -342,6 +343,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='0'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -420,6 +422,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='define'
+d_openat='undef'
 d_pathconf='define'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -458,6 +461,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -606,6 +610,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index dc4ad64..7ed6bb3 100644 (file)
@@ -146,6 +146,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -288,6 +289,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='undef'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -366,6 +368,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -404,6 +407,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -554,6 +558,7 @@ d_ualarm='undef'
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index b663e7e..e3646d2 100644 (file)
--- a/uconfig.h
+++ b/uconfig.h
  */
 /*#define HAS_ALARM            / **/
 
+/* HAS_OPENAT:
+ *     This symbol is defined if the openat() routine is available.
+ */
+/*#define HAS_OPENAT   / **/
+
+/* HAS_UNLINKAT:
+ *     This symbol is defined if the unlinkat() routine is available.
+ */
+/*#define HAS_UNLINKAT / **/
+
+/* HAS_RENAMEAT:
+ *     This symbol is defined if the renameat() routine is available.
+ */
+/*#define HAS_RENAMEAT / **/
+
+/* HAS_LINKAT:
+ *     This symbol is defined if the linkat() routine is available.
+ */
+/*#define HAS_LINKAT   / **/
+
+/* HAS_FCHMODAT:
+ *     This symbol is defined if the fchmodat() routine is available.
+ */
+/*#define HAS_FCHMODAT / **/
+
 /* HAS_BCMP:
  *     This symbol is defined if the bcmp() routine is available to
  *     compare blocks of memory.
 #endif
 
 /* Generated from:
- * a0cea6273c16c1c5d8625665c84bda01926ce960c26873d4e5596b5b02a53e92 config_h.SH
- * 58f9d541683fff4dcacfd3cb2d9e1f444fd3c8e3f120ef92c21eb47e880ba924 uconfig.sh
+ * e192beb070dfc2b1167cdec538893718edff9a3659073ef7ad4a47a7fed9f082 config_h.SH
+ * a088a21b0ddb63b48c794da959469ddb98da178e5b2d4ec568331a988d59e146 uconfig.sh
  * ex: set ro: */
index 0da4e46..9ebda12 100644 (file)
@@ -140,6 +140,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -281,6 +282,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='undef'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -359,6 +361,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -397,6 +400,7 @@ d_regcomp='define'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='undef'
 d_rint='undef'
 d_rmdir='undef'
@@ -545,6 +549,7 @@ d_ualarm='undef'
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index 7ec0017..40caa19 100644 (file)
@@ -141,6 +141,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -282,6 +283,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='undef'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -360,6 +362,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -398,6 +401,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='undef'
 d_rint='undef'
 d_rmdir='undef'
@@ -546,6 +550,7 @@ d_ualarm='undef'
 d_umask='undef'
 d_uname='undef'
 d_union_semun='undef'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index d73b166..9325e57 100644 (file)
@@ -188,6 +188,7 @@ d_expm1='undef'
 d_faststdio='undef'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -329,6 +330,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -407,6 +409,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -445,6 +448,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -594,6 +598,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index 8a50293..3ad6aa3 100644 (file)
@@ -189,6 +189,7 @@ d_expm1='undef'
 d_faststdio='define'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -329,6 +330,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -408,6 +410,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -446,6 +449,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -594,6 +598,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'
index ff6ea87..baa210d 100644 (file)
@@ -189,6 +189,7 @@ d_expm1='undef'
 d_faststdio='define'
 d_fchdir='undef'
 d_fchmod='undef'
+d_fchmodat='undef'
 d_fchown='undef'
 d_fcntl='undef'
 d_fcntl_can_lock='undef'
@@ -329,6 +330,7 @@ d_lgamma='undef'
 d_lgamma_r='undef'
 d_libm_lib_version='undef'
 d_link='define'
+d_linkat='undef'
 d_llrint='undef'
 d_llrintl='undef'
 d_llround='undef'
@@ -408,6 +410,7 @@ d_old_pthread_create_joinable='undef'
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
+d_openat='undef'
 d_pathconf='undef'
 d_pause='define'
 d_perl_otherlibdirs='undef'
@@ -446,6 +449,7 @@ d_regcomp='undef'
 d_remainder='undef'
 d_remquo='undef'
 d_rename='define'
+d_renameat='undef'
 d_rewinddir='define'
 d_rint='undef'
 d_rmdir='define'
@@ -594,6 +598,7 @@ d_ualarm='undef'
 d_umask='define'
 d_uname='define'
 d_union_semun='define'
+d_unlinkat='undef'
 d_unordered='undef'
 d_unsetenv='undef'
 d_uselocale='undef'