From nobody@FreeBSD.org  Mon Nov 30 19:04:55 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 2B6C7106568B
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 30 Nov 2009 19:04:55 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 1C9248FC1B
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 30 Nov 2009 19:04:55 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nAUJ4s2s002230
	for <freebsd-gnats-submit@FreeBSD.org>; Mon, 30 Nov 2009 19:04:54 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id nAUJ4sxZ002229;
	Mon, 30 Nov 2009 19:04:54 GMT
	(envelope-from nobody)
Message-Id: <200911301904.nAUJ4sxZ002229@www.freebsd.org>
Date: Mon, 30 Nov 2009 19:04:54 GMT
From: Arjan van Leeuwen <freebsd-maintainer@opera.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: libz in base system does not use symbol versioning
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         141034
>Category:       kern
>Synopsis:       [libz] libz in base system does not use symbol versioning
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    delphij
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov 30 19:10:00 UTC 2009
>Closed-Date:    Mon May 03 22:05:24 UTC 2010
>Last-Modified:  Mon May 03 22:05:24 UTC 2010
>Originator:     Arjan van Leeuwen
>Release:        8.0-RELEASE
>Organization:
Opera Software ASA
>Environment:
>Description:
Several libraries in the FreeBSD base system now use symbol versioning. This is great for distributors of binary software packages, such as Opera Software, since it allows us to distribute a binary that can work on several versions of FreeBSD, eliminating some of the cost associated with creating separate builds.

libz, a library that is often used but whose symbols seldom change, does not support symbol versioning on FreeBSD. When FreeBSD 8 was released, the version of this library was bumped, even though the symbols did not change.

This means that to provide our software to users of both FreeBSD 7 and FreeBSD 8, we have to choose between having an extra build to generate and test, or linking zlib statically into our software. We chose the second option, but this of course unnecessarily increases the size of our binary.

Please turn on symbol versioning for libz.
>How-To-Repeat:
Link an application against libz and upgrade FreeBSD to the next major version.
>Fix:
Turn on symbol versioning for libz.

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->analyzed 
State-Changed-By: delphij 
State-Changed-When: Fri Mar 12 03:29:03 UTC 2010 
State-Changed-Why:  
Take.  I have a patch for adding symbolic versions but this still 
need some work. 


Responsible-Changed-From-To: freebsd-bugs->delphij 
Responsible-Changed-By: delphij 
Responsible-Changed-When: Fri Mar 12 03:29:03 UTC 2010 
Responsible-Changed-Why:  
Take.  I have a patch for adding symbolic versions but this still 
need some work. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=141034 
State-Changed-From-To: analyzed->patched 
State-Changed-By: delphij 
State-Changed-When: Mon Mar 22 21:32:58 UTC 2010 
State-Changed-Why:  
Versioned symbols has been added to -CURRENT along with the 
zlib 1.2.4 update. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=141034 
State-Changed-From-To: patched->closed 
State-Changed-By: delphij 
State-Changed-When: Mon May 3 22:03:48 UTC 2010 
State-Changed-Why:  
Due to the libz version bump, I think the merge of versioned 
shared library symbols is no longer useful so close this PR 
for now.  FreeBSD 9.0-RELEASE and up will have stable ABI. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=141034 
>Unformatted:
