From owner-freebsd-ports@freebsd.org Thu Apr 30 14:56:13 2020 Return-Path: Delivered-To: freebsd-ports@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F36832BFDA5 for ; Thu, 30 Apr 2020 14:56:13 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49Cdk568yBz4trg for ; Thu, 30 Apr 2020 14:56:13 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id C47EF19F4F for ; Thu, 30 Apr 2020 14:56:13 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f182.google.com with SMTP id k81so3248529qke.5 for ; Thu, 30 Apr 2020 07:56:13 -0700 (PDT) X-Gm-Message-State: AGi0PubKki6SONr7eh+Btj+izUeRy/qJgrWbSQsOjWMCbkKnYupQXHWj zZwVMu8iRCYik73YDOGP5UzihHUsfctOWGw85Is= X-Google-Smtp-Source: APiQypKcbHRv+FfPxgEwLikaA2zhEC6Zs0RPOUPJ1qOPzySuyhrJGXL6wNhYLSzA+OFeOBDCsLjovZozY+UbTHVdzFc= X-Received: by 2002:a05:620a:1395:: with SMTP id k21mr4004158qki.120.1588258573286; Thu, 30 Apr 2020 07:56:13 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Kyle Evans Date: Thu, 30 Apr 2020 09:56:00 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Ports failing with -fno-common with clang 9/gcc 9 To: Dewayne Geraghty Cc: "freebsd-ports@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Apr 2020 14:56:14 -0000 On Thu, Apr 30, 2020 at 2:20 AM Dewayne Geraghty wrote: > > As -fno-common will become the default in gcc10/llvm11 per > https://lists.freebsd.org/pipermail/svn-src-stable-12/2020-April/004761.html > First- thanks! It's nice to see confirmation that the messages being written here aren't just being broadcasted to the void, doubly so when said confirmation is in the form of e-mails like this. :-) > I thought I might share the list of ports that failed to build for > maintainers to be aware of using -fno-common: > > I'm sorry this is a small list but I only use 1488 ports. Indeed, it looks like a small list, but you've just identified 42 problems to work on while only using ~5% (? based on 30,000 ports, which I know is probably low) of the ports tree. That is to say, I think this speaks to the magnitude of the issue we're dealing with here. Many will escape unscathed, but it's a good idea for everyone to start taking action *now* to identify and fix or report these so that we're not overloading our relatively small group of toolchain folks in the next ~6 months. My experience in base revealed that most of the third party software we had there was already aware of the coming change and had patches to accommodate, so: - For projects with a faster release cadence, this may be easily overcome by events - For projects with a slower release cadence, you may find patches that can be or have been backported In any event, I would urge folks to be proactive and identify this stuff, reporting issues upstream and spreading awareness of the impending default change for those projects that may not already be actively aware. On a closing note, I'm just going to kinda drop these patches here for anyone that's willing/able to help make this a collective effort to identify/fix/report problems here; they backport the default -fno-common patch from future-LLVM11 to the base system compiler on a system near you: HEAD: https://people.freebsd.org/~kevans/llvm-fnocommon-head.diff stable/12: https://people.freebsd.org/~kevans/llvm-fnocommon-12.diff **Note that FreeBSD branches earlier than these (in the past couple of weeks!) will not fully build with this patch applied:** - r360072 (head) - r360496 (stable/12) - r360494 (stable/11) Userland builds (all that's needed for most poudriere jails) should be fine in the past couple of weeks earlier than those commits, but no active releases will build with these patches applied. Folks can feel free to tag me in -fno-common related PRs if assistance is needed for any reason. Thanks, Kyle Evans