Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160302233050.GQ9349@brightrain.aerifal.cx>
Date: Wed, 2 Mar 2016 18:30:50 -0500
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: iproute2 & other software

On Wed, Mar 02, 2016 at 09:49:41PM +0100, Szabolcs Nagy wrote:
> * Loganaden Velvindron <loganaden@...il.com> [2016-03-02 19:19:13 +0000]:
> > "
> > Sorry, I have to reject this.
> > All include files in include/linux come from headers automatically
> > generated from upstream
> > Linux source. This is the only way to ensure long term ABI/API consistency
> > with kernel.
> > 
> > Either fix musl or submit patches to upstream kernel and get them merged.
> > "
> > 
> > Can we look into providing somekind of compatibility layer for header files
> > so that it's easier to get upstream projects like iproute2 to support musl ?
> > 
> 
> in theory the correct solution is to fix the kernel headers
> so they don't collide with posix types in libc headers.
> 
> in practice old kernel headers should work too and it's unlikely
> that a complete uapi fix would be accepted into linux any time
> soon so applications should avoid including both libc and kernel
> headers into the same tu.
> 
> unfortunately glibc added workarounds into libc and uapi headers
> that make it seem as if mixing linux and libc headers work, so
> now application programmers don't have the incentive to fix this.
> 
> musl cannot use the same workarounds because they use ifdef __GLIBC__
> (which is a major bug for linux uapi headers to depend on):
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/libc-compat.h

Would it help for us to define the __UAPI_DEF_* macros? If so I'd be
happy to look at a patch doing that. I don't think we should honor
them for suppressing definitions in libc (i.e. for supporting
inclusion of uapi headers _before_ libc ones) but it seems like we
could support inclusion of the uapi headers _after_ libc ones by doing
this with very little effort or maintenance cost.

Rich

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.