Michal Privoznik wrote: > On 29.03.2016 12:08, Roman Bogorodskiy wrote: > > Michal Privoznik wrote: > > > >> On 27.03.2016 20:07, Roman Bogorodskiy wrote: > >>> * tools/nss/libvirt_nss.[ch]: add BSD-comptabile wrappers and > >>> register via the nss_module_register() interface > >>> * m4/virt-nss.m4: add checks if we're building NSS for FreeBSD > >>> * tools/Makefile.am: handle target library name differences, as > >>> Linux needs libnss_libvirt.so.2 and FreeBSD needs > >>> nss_libvirt.so.1. Also, different syms files have to be used > >>> as Linux needs to export all the methods while FreeBSD > >>> only needs to have nss_module_register() > >>> * tests/nsstest.c, tests/nssmock.c: s/__linux__/NSS/ > >>> * libvirt_nss_bsd.syms: FreeBSD syms file > >>> --- > >>> m4/virt-nss.m4 | 18 +++++- > >>> tests/nssmock.c | 6 +- > >>> tests/nsstest.c | 2 +- > >>> tools/Makefile.am | 16 ++++- > >>> tools/nss/libvirt_nss.c | 139 +++++++++++++++++++++++++++++++++++++++-- > >>> tools/nss/libvirt_nss.h | 9 +++ > >>> tools/nss/libvirt_nss_bsd.syms | 9 +++ > >>> 7 files changed, 189 insertions(+), 10 deletions(-) > >>> create mode 100644 tools/nss/libvirt_nss_bsd.syms > >>> index b4a4260..31b1177 100644 > >>> --- a/tests/nssmock.c > >>> +++ b/tests/nssmock.c > >>> @@ -20,7 +20,7 @@ > >>> > >>> #include <config.h> > >>> > >>> -#ifdef __linux__ > >>> +#ifdef NSS > >>> # include <stdio.h> > >>> # include <stdlib.h> > >>> # include <dlfcn.h> > >>> @@ -107,7 +107,7 @@ open(const char *path, int flags, ...) > >>> va_list ap; > >>> mode_t mode; > >>> va_start(ap, flags); > >>> - mode = va_arg(ap, mode_t); > >>> + mode = va_arg(ap, int); > >> > >> Why this change? I mean, even in the context it can be seen that @mode > >> is type of mode_t. > > > > Yeah, I should have mentioned that in the commit log. > > > > I have an error like this: > > > > In file included from ../gnulib/lib/stdio.h:51:0, > > from nssmock.c:24: > > nssmock.c: In function 'open': > > nssmock.c:110:27: error: 'mode_t' is promoted to 'int' when passed through '...' [-Werror] > > mode = va_arg(ap, mode_t); > > ^ > > nssmock.c:110:27: note: (so you should pass 'int' not 'mode_t' to 'va_arg') > > nssmock.c:110:27: note: if this code is reached, the program will abort > > cc1: all warnings being treated as errors > > Makefile:4854: recipe for target 'nssmock_la-nssmock.lo' failed > > > > This is with: > > > > gcc version 4.8.5 (FreeBSD Ports Collection) Adjusted the commit message to reflect s/mode_t/int/ change and pushed; thanks! Roman Bogorodskiy -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list