In article <20110530184621.GA14993%britannica.bec.de@localhost>, Joerg Sonnenberger <joerg%britannica.bec.de@localhost> wrote: >On Mon, May 30, 2011 at 06:10:36PM +0000, Christos Zoulas wrote: >> In article <20110530162059.1A6D2175D0%cvs.netbsd.org@localhost>, >> Joerg Sonnenberger <source-changes-d%NetBSD.org@localhost> wrote: >> >-=-=-=-=-=- >> > >> >> >+#ifdef __clang__ >> >+ char buf[128]; >> >+#else >> > char buf[CMSG_SPACE(sizeof(int))]; >> >+#endif >> > } cmsgbuf; >> >> Wouldn't it be better insted to re-define CMSG_SPACE for clang like: >> #ifdef __clang__ >> #define CMSG_SPACE(x) ((x) + 128) >> #else >> ... >> #endif > >No. The real fix would be to teach the kernel compat32 handling for cmsg >and make it a proper constant again. 128 is simply large enough for all >platforms we have. Yes, but now you are polluting the code with ifdefs everywhere that will need to be undone. christos