svn commit: r362304 - head/x11-toolkits/pango
John Marino
freebsd.contact at marino.st
Mon Jul 21 13:01:30 UTC 2014
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
More information about the svn-ports-all
mailing list