[Aboriginal] [musl] Re: musl and kernel headers [was Re: system-images 1.4.2: od is broken; bzip2 is missing]
Isaac Dunham
ibid.ag at gmail.com
Tue Oct 13 14:55:34 PDT 2015
On Tue, Oct 13, 2015 at 11:10:49AM -0400, Rich Felker wrote:
> On Tue, Oct 13, 2015 at 02:10:24PM +0200, Denys Vlasenko wrote:
> > > The other direction, suppressing kernel headers' definition of the
> > > structs, is what we want to work, but they've restricted their logic
> > > for that to only work when __GLIBC__ is defined. :(
> >
> > Yes, you will have to do by hand the thing which kernel
> > automagically does for glibc - namely, define to 0:
> >
> > >> #undef __UAPI_DEF_SOCKADDR_IN
> > >> /* tell kernel to not define the struct */
> > >> #define __UAPI_DEF_SOCKADDR_IN 0
> > >> #endif
> >
> > > We could do something like this but then we would need to keep up with
> > > the list of all the __UAPI defines we need to suppress unwanted kernel
> > > definitions.
> >
> > Looking at libc-compat.h, this list is at the moment only about
> > 13 defines long:
> >
> > #define __UAPI_DEF_IN_ADDR 0
> > #define __UAPI_DEF_IN_IPPROTO 0
> > #define __UAPI_DEF_IN_PKTINFO 0
> > #define __UAPI_DEF_IP_MREQ 0
> > #define __UAPI_DEF_SOCKADDR_IN 0
> > #define __UAPI_DEF_IN_CLASS 0
> > #define __UAPI_DEF_IN6_ADDR 0
> > #define __UAPI_DEF_SOCKADDR_IN6 0
> > #define __UAPI_DEF_IPV6_MREQ 0
> > #define __UAPI_DEF_IPPROTO_V6 0
> > #define __UAPI_DEF_IPV6_OPTIONS 0
> > #define __UAPI_DEF_IN6_PKTINFO 0
> > #define __UAPI_DEF_IP6_MTUINFO 0
>
> Thanks for making the list! For the time being I don't think it would
> be too objectionable to simply define these in musl. Does anyone else
> have an opinion on it?
I'd like to see it for the time being, though long-term I still assume
that the only real solution would be something like the proposed change
in libc-compat.h:
-#ifdef __GLIBC__
+#if defined(__GLIBC__) || defined(__UAPI_DONTNEED_DEFS)
Thanks,
Isaac Dunham
More information about the Aboriginal
mailing list