# HG changeset patch # User Paul Eggert # Date 1350331627 25200 # Node ID 794ea55f5504d52e17120d8edf70320fa8502093 # Parent 17358db772762616262fcbc9d459e0ee5d13c476 fchmodat, fchownat, fstatat: port to non-inlining compilers Problem reported for FreeBSD 9 by Jim Meyering in . * 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. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2012-10-15 Paul Eggert + + fchmodat, fchownat, fstatat: port to non-inlining compilers + Problem reported for FreeBSD 9 by Jim Meyering in + . + * 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 fchmodat.c, fchownat.c: compile-impeding typos diff --git a/lib/chmodat.c b/lib/chmodat.c new file mode 100644 --- /dev/null +++ b/lib/chmodat.c @@ -0,0 +1,3 @@ +#include +#define FCHMODAT_INLINE _GL_EXTERN_INLINE +#include "openat.h" diff --git a/lib/chownat.c b/lib/chownat.c new file mode 100644 --- /dev/null +++ b/lib/chownat.c @@ -0,0 +1,3 @@ +#include +#define FCHOWNAT_INLINE _GL_EXTERN_INLINE +#include "openat.h" diff --git a/lib/fchmodat.c b/lib/fchmodat.c --- a/lib/fchmodat.c +++ b/lib/fchmodat.c @@ -18,8 +18,6 @@ #include -#define FCHMODAT_INLINE _GL_EXTERN_INLINE - #include #include diff --git a/lib/fchownat.c b/lib/fchownat.c --- a/lib/fchownat.c +++ b/lib/fchownat.c @@ -23,8 +23,6 @@ #include -#define FCHOWNAT_INLINE _GL_EXTERN_INLINE - #include #include diff --git a/lib/fstatat.c b/lib/fstatat.c --- a/lib/fstatat.c +++ b/lib/fstatat.c @@ -23,8 +23,6 @@ #define __need_system_sys_stat_h #include -#define FSTATAT_INLINE _GL_EXTERN_INLINE - /* Get the original definition of fstatat. It might be defined as a macro. */ #include #include diff --git a/lib/statat.c b/lib/statat.c new file mode 100644 --- /dev/null +++ b/lib/statat.c @@ -0,0 +1,3 @@ +#include +#define FSTATAT_INLINE _GL_EXTERN_INLINE +#include "openat.h" diff --git a/modules/fchmodat b/modules/fchmodat --- 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: diff --git a/modules/fchownat b/modules/fchownat --- 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: diff --git a/modules/fstatat b/modules/fstatat --- 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: