From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753710AbdCHQp1 (ORCPT ); Wed, 8 Mar 2017 11:45:27 -0500 Received: from 216-197-64-233.tingfiber.com ([216.197.64.233]:43618 "EHLO brightrain.aerifal.cx" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751825AbdCHQpY (ORCPT ); Wed, 8 Mar 2017 11:45:24 -0500 Date: Wed, 8 Mar 2017 11:25:07 -0500 From: Rich Felker To: "Carlos O'Donell" Cc: linux-kernel@vger.kernel.org, "David S. Miller" , linux-api@vger.kernel.org, musl@lists.openwall.com Subject: Re: [musl] Re: [PATCH resent] uapi libc compat: allow non-glibc to opt out of uapi definitions Message-ID: <20170308162507.GY1520@brightrain.aerifal.cx> References: <20161111120820.GA435@nyan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 08, 2017 at 10:53:00AM -0500, Carlos O'Donell wrote: > On 11/11/2016 07:08 AM, Felix Janda wrote: > > Currently, libc-compat.h detects inclusion of specific glibc headers, > > and defines corresponding _UAPI_DEF_* macros, which in turn are used in > > uapi headers to prevent definition of conflicting structures/constants. > > There is no such detection for other c libraries, for them the > > _UAPI_DEF_* macros are always defined as 1, and so none of the possibly > > conflicting definitions are suppressed. > > > > This patch enables non-glibc c libraries to request the suppression of > > any specific interface by defining the corresponding _UAPI_DEF_* macro > > as 0. > > > > This patch together with the recent musl libc commit > > > > http://git.musl-libc.org/cgit/musl/commit/?id=04983f2272382af92eb8f8838964ff944fbb8258 > > Would it be possible to amend the musl patch to define the macros to 1. I don't follow. They're defined to 0 explicitly to tell the kernel headers not to define their own versions of these structs, etc. since they would clash. Defining to 1 would have the opposite meaning. Rich