Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Tue, 13 Oct 2015 14:55:34 -0700
From: Isaac Dunham <ibid.ag@...il.com>
To: musl@...ts.openwall.com
Cc: Denys Vlasenko <vda.linux@...glemail.com>,
	Aboriginal Linux <aboriginal@...ts.landley.net>
Subject: Re: Re: musl and kernel headers [was Re: system-images 1.4.2:
 od is broken; bzip2 is missing]

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

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.