From owner-svn-ports-head@FreeBSD.ORG Mon Jul 21 13:01:30 2014 Return-Path: Delivered-To: svn-ports-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CB4F8BC6; Mon, 21 Jul 2014 13:01:30 +0000 (UTC) Received: from shepard.synsport.net (mail.synsport.com [208.69.230.148]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1F47F2244; Mon, 21 Jul 2014 13:01:29 +0000 (UTC) Received: from [192.168.0.22] (unknown [130.255.19.191]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by shepard.synsport.net (Postfix) with ESMTP id B095D43B4E; Mon, 21 Jul 2014 08:01:08 -0500 (CDT) Message-ID: <53CD0F04.4040709@marino.st> Date: Mon, 21 Jul 2014 15:00:52 +0200 From: John Marino Reply-To: marino@freebsd.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: Tijl Coosemans Subject: Re: svn commit: r362304 - head/x11-toolkits/pango References: <201407200815.s6K8FG8b003096@svn.freebsd.org> <20140720132259.156d687e@kalimero.tijl.coosemans.org> <53CBA770.2010409@marino.st> <20140720113124.GD26778@ivaldir.etoilebsd.net> <20140720165256.1f4d5d07@kalimero.tijl.coosemans.org> <53CBF2D7.4070005@marino.st> <20140721013342.6c17ecdc@kalimero.tijl.coosemans.org> <53CCABFA.7090202@marino.st> <20140721121214.1d1f3ef5@kalimero.tijl.coosemans.org> <53CCF19B.3060906@marino.st> <20140721132621.64ef394c@kalimero.tijl.coosemans.org> <53CD047B.7080104@marino.st> <20140721144356.72c4e5c2@kalimero.tijl.coosemans.org> In-Reply-To: <20140721144356.72c4e5c2@kalimero.tijl.coosemans.org> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: svn-ports-head@freebsd.org, kwm@FreeBSD.org, Baptiste Daroussin , svn-ports-all@freebsd.org, marino@freebsd.org, ports-committers@freebsd.org X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Jul 2014 13:01:30 -0000 On 7/21/2014 14:43, Tijl Coosemans wrote: > On Mon, 21 Jul 2014 14:15:55 +0200 John Marino wrote: >> On 7/21/2014 13:26, Tijl Coosemans wrote: >>> On Mon, 21 Jul 2014 12:55:23 +0200 John Marino wrote: >>>> Everything that uses a pango function that has a libm symbol must also >>>> link with libm. >>> >>> This is a completely false statement. If X links to Y and Y uses Z >>> symbols, you do not have to link X with Z. Y links with Z and that is >>> enough. Otherwise X would have to link with its entire dependency >>> tree. >> >> If the linker doesn't follow Y's link to Z, how is it supposed to >> resolve Z references? > > If X doesn't contain Z references the linker doesn't have to resolve > Z references. > > If X does contain Z references then explicit linking requires that you > explicitly link X with -lZ and that you cannot rely on -lY to imply -lZ. This seems to be the heart of our disagreement. I am saying X can pull in a function of Y that contains a symbol of Z. In that case, there's no reference of Z in X, but when linking X it still needs -lZ. It is also possible that X uses a function of Y that doesn't reference Z and then -lZ wouldn't be needed during linking. But as I said before, pango can't know the intent of the program so it has to assume that Z might be referenced. (and potentially overlink) The users of pango.pc assume that the .pc is complete and are not accounting for a variable use of -lm. You are saying this is the fault of the user of pango.pc, but I philosophically disagree. The .pc should be self contained. John