From nobody Fri Dec 31 08:01:52 2021 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 6611519281C5; Fri, 31 Dec 2021 08:02:09 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JQHfn1lQxz4rKh; Fri, 31 Dec 2021 08:02:09 +0000 (UTC) (envelope-from antoine.brodin.freebsd@gmail.com) Received: by mail-lf1-f46.google.com with SMTP id bp20so59053249lfb.6; Fri, 31 Dec 2021 00:02:09 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=mDcZhJ5lG/0YvnJ5nxKd/nJXQVPSNoNAkTR6zq9wrio=; b=O2omELQczIss++Q7IlGZL8rQgFIQnuQtdyde9yRmH/kAPouOoD+rx0OG1s64+GdiUa fgHQOR9+2glOGOhh8eHCkD8ElkmAxmLhG+4dZs5DT3AyRnzx1FPCoVAEzLZTVXsQ1BWM gBgbF/1oGooa4yPtxOeb0vCJhNFnAu2xW2/OzhhK9wwttAY47BoVa7sOkg0LVIjXHY5u KCtSSbTgMpiQ9DoY25GgKo9bhPbsCa9CQradwgbfgHQSpcXYVWu7VRaog+GkIqNIBUPY h/p8atDexoH6srvmws3rV2IZ+db/3TwoeDmKSObMP9DqPM1gaD5JUX0c3v38RAF9s6TX D4VA== X-Gm-Message-State: AOAM532+GZ5uJVusL1OHJgHhiwuOOt+TQMSuVHZ6/fV4K8Fg7hLPsIrE 8Nf3fYRgLpwSh2hMhl3Sx7jW5ykmvoDy1x3gx78jRCQYLVQ= X-Google-Smtp-Source: ABdhPJwa6XL98J+01H7zSMbTrT7EOTGlq/Cbv7oju6ASbQT/cWOOtSkpsixUNxg5/iDf1BhQwha+8mzL0SelrxdErkg= X-Received: by 2002:a05:6512:3f8f:: with SMTP id x15mr2310190lfa.90.1640937721834; Fri, 31 Dec 2021 00:02:01 -0800 (PST) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 References: <202112301154.1BUBsR1q017491@gitrepo.freebsd.org> In-Reply-To: <202112301154.1BUBsR1q017491@gitrepo.freebsd.org> From: Antoine Brodin Date: Fri, 31 Dec 2021 08:01:52 +0000 Message-ID: Subject: Re: git: e2650af157bc - main - Make CPU_SET macros compliant with other implementations To: =?UTF-8?B?U3RlZmFuIEXDn2Vy?= Cc: src-committers , dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org, FreeBSD Ports Management Team Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4JQHfn1lQxz4rKh X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N On Thu, Dec 30, 2021 at 11:54 AM Stefan E=C3=9Fer wrote: > > The branch main has been updated by se: > > URL: https://cgit.FreeBSD.org/src/commit/?id=3De2650af157bc7489deaf2c9054= 995f0f88a6e5da > > commit e2650af157bc7489deaf2c9054995f0f88a6e5da > Author: Stefan E=C3=9Fer > AuthorDate: 2021-12-30 11:20:32 +0000 > Commit: Stefan E=C3=9Fer > CommitDate: 2021-12-30 11:20:32 +0000 > > Make CPU_SET macros compliant with other implementations > > The introduction of improved compatibility with some 3rd > party software, but caused the configure scripts of some ports to > assume that they were run in a GLIBC compatible environment. > > Parts of sched.h were made conditional on -D_WITH_CPU_SET_T being > added to ports, but there still were compatibility issues due to > invalid assumptions made in autoconfigure scripts. > > The differences between the FreeBSD version of macros like CPU_AND, > CPU_OR, etc. and the GLIBC versions was in the number of arguments: > FreeBSD used a 2-address scheme (one source argument is also used as > the destination of the operation), while GLIBC uses a 3-adderess > scheme (2 source operands and a separately passed destination). > > The GLIBC scheme provides a super-set of the functionality of the > FreeBSD macros, since it does not prevent passing the same variable > as source and destination arguments. In code that wanted to preserve > both source arguments, the FreeBSD macros required a temporary copy o= f > one of the source arguments. > > This patch set allows to unconditionally provide functions and macros > expected by 3rd party software written for GLIBC based systems, but > breaks builds of externally maintained sources that use any of the > following macros: CPU_AND, CPU_ANDNOT, CPU_OR, CPU_XOR. > > One contributed driver (contrib/ofed/libmlx5) has been patched to > support both the old and the new CPU_OR signatures. If this commit > is merged to -STABLE, the version test will have to be extended to > cover more ranges. > > Ports that have added -D_WITH_CPU_SET_T to build on -CURRENT do > no longer require that option. > > The FreeBSD version has been bumped to 1400046 to reflect this > incompatible change. > > Reviewed by: kib > MFC after: 2 weeks > Relnotes: yes > Differential Revision: https://reviews.freebsd.org/D33451 Hi, This breaks a lot of ports, like lang/python38. Could these kinds of changes on public headers be tested with an exp-run, and reverted in the mean-time? Antoine