On Thu, Jul 24, 2014 at 12:52:26PM -0400, Dave Reisner wrote: > On Wed, Jul 23, 2014 at 07:39:02PM +0200, Andreas Henriksson wrote: > > The "linux only" check for pivot_root seems to suffer from > > a cut-n-paste problem from the earlier switch_root part. > > > > Signed-off-by: Andreas Henriksson <andreas@xxxxxxxx> > > --- > > configure.ac | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/configure.ac b/configure.ac > > index db53dff..aae2456 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -1193,7 +1193,7 @@ AC_ARG_ENABLE([pivot_root], > > [], [UL_DEFAULT_ENABLE([pivot_root], [check])] > > ) > > UL_BUILD_INIT([pivot_root]) > > -UL_REQUIRES_LINUX([switch_root]) > > +UL_REQUIRES_LINUX([pivot_root]) > > Is this really correct? Seems to me like the check should simply be > removed. It's definitely better to check that the system is Linux before you start to check for something more complicated. There is logical "and" between all UL_REQUIRES_*, so the first unsuccessful check disabled the rest. > In sys-utils/pivot_root.c, we have the following: > > #define pivot_root(new_root,put_old) syscall(SYS_pivot_root,new_root,put_old) > > So, the subsequent check for the syscall seems like the only necessary > check needed. As is, I think that u-l now fails to build in places where > the pivot_root wrapper doesn't exist in the libc, but the syscall exists > (does such a platform even exist?). There is no glibc wrapper at all, in code we always call the syscall and in configure.ac we check for SYS_pivot_root sycall on Linux. Nowhere we care about libc. Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html