changeset 17137:794ea55f5504

fchmodat, fchownat, fstatat: port to non-inlining compilers Problem reported for FreeBSD 9 by Jim Meyering in <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>. * lib/chmodat.c, lib/chownat.c, lib/statat.c: New files, which define FCHMODAT_INLINE etc. * lib/fchmodat.c (FCHMODAT_INLINE): * lib/fchownat.c (FCHOWNAT_INLINE): * lib/fstatat.c (FSTATAT_INLINE): Remove, as chmodat.c etc. now do this. * modules/fchmodat (Files): Add lib/chmodat.c. * modules/fchownat (Files): Add lib/chownat.c. * modules/fstatat (Files): Add lib/statat.c.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 15 Oct 2012 13:07:07 -0700
parents 17358db77276
children 42f6597efac3
files ChangeLog lib/chmodat.c lib/chownat.c lib/fchmodat.c lib/fchownat.c lib/fstatat.c lib/statat.c modules/fchmodat modules/fchownat modules/fstatat
diffstat 10 files changed, 30 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+	fchmodat, fchownat, fstatat: port to non-inlining compilers
+	Problem reported for FreeBSD 9 by Jim Meyering in
+	<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
+	* lib/chmodat.c, lib/chownat.c, lib/statat.c:
+	New files, which define FCHMODAT_INLINE etc.
+	* lib/fchmodat.c (FCHMODAT_INLINE):
+	* lib/fchownat.c (FCHOWNAT_INLINE):
+	* lib/fstatat.c (FSTATAT_INLINE):
+	Remove, as chmodat.c etc. now do this.
+	* modules/fchmodat (Files): Add lib/chmodat.c.
+	* modules/fchownat (Files): Add lib/chownat.c.
+	* modules/fstatat (Files): Add lib/statat.c.
+
 2012-10-15  Jim Meyering  <jim@meyering.net>
 
 	fchmodat.c, fchownat.c: compile-impeding typos
new file mode 100644
--- /dev/null
+++ b/lib/chmodat.c
@@ -0,0 +1,3 @@
+#include <config.h>
+#define FCHMODAT_INLINE _GL_EXTERN_INLINE
+#include "openat.h"
new file mode 100644
--- /dev/null
+++ b/lib/chownat.c
@@ -0,0 +1,3 @@
+#include <config.h>
+#define FCHOWNAT_INLINE _GL_EXTERN_INLINE
+#include "openat.h"
--- a/lib/fchmodat.c
+++ b/lib/fchmodat.c
@@ -18,8 +18,6 @@
 
 #include <config.h>
 
-#define FCHMODAT_INLINE _GL_EXTERN_INLINE
-
 #include <sys/stat.h>
 
 #include <errno.h>
--- a/lib/fchownat.c
+++ b/lib/fchownat.c
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#define FCHOWNAT_INLINE _GL_EXTERN_INLINE
-
 #include <unistd.h>
 
 #include <errno.h>
--- a/lib/fstatat.c
+++ b/lib/fstatat.c
@@ -23,8 +23,6 @@
 #define __need_system_sys_stat_h
 #include <config.h>
 
-#define FSTATAT_INLINE _GL_EXTERN_INLINE
-
 /* Get the original definition of fstatat.  It might be defined as a macro.  */
 #include <sys/types.h>
 #include <sys/stat.h>
new file mode 100644
--- /dev/null
+++ b/lib/statat.c
@@ -0,0 +1,3 @@
+#include <config.h>
+#define FSTATAT_INLINE _GL_EXTERN_INLINE
+#include "openat.h"
--- a/modules/fchmodat
+++ b/modules/fchmodat
@@ -3,6 +3,7 @@
 
 Files:
 lib/fchmodat.c
+lib/chmodat.c
 lib/at-func.c
 m4/fchmodat.m4
 
@@ -28,6 +29,7 @@
 gl_SYS_STAT_MODULE_INDICATOR([fchmodat])
 
 Makefile.am:
+lib_SOURCES += chmodat.c
 
 Include:
 <sys/stat.h>
--- a/modules/fchownat
+++ b/modules/fchownat
@@ -3,6 +3,7 @@
 
 Files:
 lib/fchownat.c
+lib/chownat.c
 lib/at-func.c
 m4/fchownat.m4
 
@@ -30,6 +31,7 @@
 gl_UNISTD_MODULE_INDICATOR([fchownat])
 
 Makefile.am:
+lib_SOURCES += chownat.c
 
 Include:
 <unistd.h>
--- a/modules/fstatat
+++ b/modules/fstatat
@@ -3,6 +3,7 @@
 
 Files:
 lib/fstatat.c
+lib/statat.c
 lib/at-func.c
 m4/fstatat.m4
 m4/lstat.m4
@@ -30,6 +31,7 @@
 gl_SYS_STAT_MODULE_INDICATOR([fstatat])
 
 Makefile.am:
+lib_SOURCES += statat.c
 
 Include:
 <sys/stat.h>