From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/9445 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: iproute2 & other software Date: Wed, 2 Mar 2016 18:30:50 -0500 Message-ID: <20160302233050.GQ9349@brightrain.aerifal.cx> References: <20160302204941.GH29662@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1456961545 8524 80.91.229.3 (2 Mar 2016 23:32:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 2 Mar 2016 23:32:25 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-9458-gllmg-musl=m.gmane.org@lists.openwall.com Thu Mar 03 00:32:24 2016 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1abGFj-0007nG-UD for gllmg-musl@m.gmane.org; Thu, 03 Mar 2016 00:32:24 +0100 Original-Received: (qmail 32556 invoked by uid 550); 2 Mar 2016 23:31:03 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 32469 invoked from network); 2 Mar 2016 23:31:02 -0000 Content-Disposition: inline In-Reply-To: <20160302204941.GH29662@port70.net> User-Agent: Mutt/1.5.21 (2010-09-15) Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:9445 Archived-At: On Wed, Mar 02, 2016 at 09:49:41PM +0100, Szabolcs Nagy wrote: > * Loganaden Velvindron [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