From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/12320 Path: news.gmane.org!.POSTED!not-for-mail From: David Miller Newsgroups: gmane.linux.kernel,gmane.linux.network,gmane.linux.kernel.api,gmane.linux.lib.musl.general Subject: Re: [PATCH v4] uapi libc compat: add fallback for unsupported libcs Date: Wed, 03 Jan 2018 10:53:02 -0500 (EST) Message-ID: <20180103.105302.242805691780026749.davem@davemloft.net> References: <20180101183320.24409-1-hauke@hauke-m.de> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1514994681 32280 195.159.176.226 (3 Jan 2018 15:51:21 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 3 Jan 2018 15:51:21 +0000 (UTC) Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, musl@lists.openwall.com, felix.janda@posteo.de, f.fainelli@gmail.com, carlos@redhat.com, ldv@altlinux.org To: hauke@hauke-m.de Original-X-From: linux-kernel-owner@vger.kernel.org Wed Jan 03 16:51:16 2018 Return-path: Envelope-to: glk-linux-kernel-3@m.gmane.org Original-Received: from vger.kernel.org ([209.132.180.67]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eWlJs-0007Y5-39 for glk-linux-kernel-3@m.gmane.org; Wed, 03 Jan 2018 16:51:08 +0100 Original-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752322AbeACPxH (ORCPT ); Wed, 3 Jan 2018 10:53:07 -0500 Original-Received: from shards.monkeyblade.net ([184.105.139.130]:33202 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751207AbeACPxE (ORCPT ); Wed, 3 Jan 2018 10:53:04 -0500 Original-Received: from localhost (67.110.78.66.ptr.us.xo.net [67.110.78.66]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 41A2310899259; Wed, 3 Jan 2018 07:53:03 -0800 (PST) In-Reply-To: <20180101183320.24409-1-hauke@hauke-m.de> X-Mailer: Mew version 6.7 on Emacs 25.3 / Mule 6.0 (HANACHIRUSATO) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Wed, 03 Jan 2018 07:53:04 -0800 (PST) Original-Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Xref: news.gmane.org gmane.linux.kernel:2656925 gmane.linux.network:511688 gmane.linux.kernel.api:26363 gmane.linux.lib.musl.general:12320 Archived-At: From: Hauke Mehrtens Date: Mon, 1 Jan 2018 19:33:20 +0100 > From: Felix Janda > > libc-compat.h aims to prevent symbol collisions between uapi and libc > headers for each supported libc. This requires continuous coordination > between them. > > The goal of this commit is to improve the situation for libcs (such as > musl) which are not yet supported and/or do not wish to be explicitly > supported, while not affecting supported libcs. More precisely, with > this commit, unsupported libcs can request the suppression of any > specific uapi definition by defining the correspondings _UAPI_DEF_* > macro as 0. This can fix symbol collisions for them, as long as the > libc headers are included before the uapi headers. Inclusion in the > other order is outside the scope of this commit. > > All infrastructure in order to enable this fallback for unsupported > libcs is already in place, except that libc-compat.h unconditionally > defines all _UAPI_DEF_* macros to 1 for all unsupported libcs so that > any previous definitions are ignored. In order to fix this, this commit > merely makes these definitions conditional. > > This commit together with the musl libc commit > > http://git.musl-libc.org/cgit/musl/commit/?id=04983f2272382af92eb8f8838964ff944fbb8258 > > fixes for example the following compiler errors when is > included after musl's : > > ./linux/in6.h:32:8: error: redefinition of 'struct in6_addr' > ./linux/in6.h:49:8: error: redefinition of 'struct sockaddr_in6' > ./linux/in6.h:59:8: error: redefinition of 'struct ipv6_mreq' > > The comments referencing glibc are still correct, but this file is not > only used for glibc any more. > > Signed-off-by: Felix Janda > Reviewed-by: Hauke Mehrtens Ok, applied, thank you.