From owner-freebsd-ports@freebsd.org Wed Sep 2 15:01:28 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 62C463D9AB0 for ; Wed, 2 Sep 2020 15:01:28 +0000 (UTC) (envelope-from rde@tavi.co.uk) Received: from kipling.tavi.co.uk (kipling.tavi.co.uk [81.187.145.130]) by mx1.freebsd.org (Postfix) with ESMTP id 4BhRwR5mMKz4qdR for ; Wed, 2 Sep 2020 15:01:27 +0000 (UTC) (envelope-from rde@tavi.co.uk) Received: from kipling.tavi.co.uk (localhost [127.0.0.1]) by kipling.tavi.co.uk (Postfix) with ESMTP id D6A7E139E7 for ; Wed, 2 Sep 2020 16:01:26 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=tavi.co.uk; h=date:from:to :subject:message-id:in-reply-to:references:mime-version :content-type:content-transfer-encoding; s=selector1; bh=kSh7t7X jGqfvoq74k0pwUp54OfI=; b=UNTSjchVuQXahoPSBR2vvoeM5tZ41y/hfHaS4Fj n708S19rj7haDao7IazTAMk7Ms4t57XQmIHnr9d48r85mFh9nyHXvwxJkL7Swifp w4+mXppJlIVCb9x3+ts1BsO6F94oX8WHJqfEs0DQLvVollUfPNscnmh28OYgizbF VkIQ= Received: from raksha.tavi.co.uk (raksha.tavi.co.uk [81.187.145.139]) (Authenticated sender: rde@tavi.co.uk) by kipling.tavi.co.uk (Postfix) with ESMTPA id A04E2139CF for ; Wed, 2 Sep 2020 16:01:26 +0100 (BST) Date: Wed, 2 Sep 2020 16:01:26 +0100 From: Bob Eager To: freebsd-ports@freebsd.org Subject: Re: pkg-fallout: duplicate symbols? Message-ID: <20200902160126.25bab002@raksha.tavi.co.uk> In-Reply-To: <20200902155815.62588c0d@raksha.tavi.co.uk> References: <9A44A7E3-B911-4D40-B34F-FC1A9E844D31@FreeBSD.org> <20200902155815.62588c0d@raksha.tavi.co.uk> X-Mailer: Claws Mail 3.17.4 (GTK+ 2.24.32; amd64-portbld-freebsd12.1) Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEUwXjFLc0vD0cS7y7zw9PDZ4tkWSRaVrZZ+m39qi2tXfVj////7+/utwK4IPggAOAAJUUA7AAABKklEQVQ4jWPYjQMwDFYJp0NKEKCNJmEf9h8CsimXiL2e33s3/e7F7K2Cs3f3dCMkQkMKj4YuCY3K3iR+e7fMaiSjvkX0/5cFGrWpe2uLzOpaExUVqMS/8PX/Re5ey960OLBTZpFA8+IlSBKPQ92zNyUUBsosN58uIY0k8f+/ONCoYytkVuhWzVwNkYiYbqk5M3NmOVBi41YZ8RsGF7shEtFb5KJ3r969CyixM7OTPeFUxG2IxLO8/9/SvqXlc+/x3h295YzLlj2nIRJQj//nRvc5TEIal8RsXBLVuCQwIgoq/u80DomP6HEOk/iOS+IJLonZOCT+ReOQ+Lkbh0QKLonbOCR+7MYhsRqHBJrVcIl/1TgklqKLQyQ+tGKIgyQOqXpjig94diZRAgAXmDX6jyWafAAAAABJRU5ErkJggg====== MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4BhRwR5mMKz4qdR X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=tavi.co.uk header.s=selector1 header.b=UNTSjchV; dmarc=pass (policy=none) header.from=tavi.co.uk; spf=pass (mx1.freebsd.org: domain of rde@tavi.co.uk designates 81.187.145.130 as permitted sender) smtp.mailfrom=rde@tavi.co.uk X-Spamd-Result: default: False [-1.89 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[tavi.co.uk:s=selector1]; NEURAL_HAM_MEDIUM(-0.96)[-0.960]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+a:kipling.tavi.co.uk:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.01)[-1.014]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[tavi.co.uk:+]; DMARC_POLICY_ALLOW(-0.50)[tavi.co.uk,none]; NEURAL_HAM_SHORT(-0.01)[-0.012]; RCVD_NO_TLS_LAST(0.10)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; SUBJECT_ENDS_QUESTION(1.00)[]; ASN(0.00)[asn:20712, ipnet:81.187.0.0/16, country:GB]; MAILMAN_DEST(0.00)[freebsd-ports] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Sep 2020 15:01:28 -0000 On Wed, 2 Sep 2020 15:58:15 +0100 Bob Eager wrote: > On Wed, 2 Sep 2020 14:44:36 -0000 (UTC) > Christian Weisgerber wrote: > > > On 2020-08-22, Dimitry Andric wrote: > > > > > It can be worked around by adding -fcommon to the compilation > > > flags, but in most cases it should not be too difficult to get rid > > > of the multiply defined symbols. > > > > Right. > > In C, a global is _defined_ in one object file and _declared_ when > > it is referenced from elsewhere. See Kernighan & Ritchie. Commons > > are a linker artifact that was never part of the C language, as far > > as I can tell. > > > > Most instances turned up by -fno-common are accidental double > > definitions of the same global, so you only need to turn the extra > > definitions into declarations. However, in some cases they were > > actually intended as separate variables and have been merged by > > accident. In those cases, they should be renamed or made local > > with "static". > > In some cases, it is deliberate. An initialised, but declared, global > is used as a 'weak' global that can be overridden by checking its > value. > > I maintain one port that does this! Of course, I meant 'uninitialised!